diff options
Diffstat (limited to 'GeneralStateTests/stStaticCall')
284 files changed, 15896 insertions, 30506 deletions
diff --git a/GeneralStateTests/stStaticCall/static_ABAcalls0.json b/GeneralStateTests/stStaticCall/static_ABAcalls0.json index 7ca5d1275..baa40c59e 100644 --- a/GeneralStateTests/stStaticCall/static_ABAcalls0.json +++ b/GeneralStateTests/stStaticCall/static_ABAcalls0.json @@ -2,149 +2,117 @@ "static_ABAcalls0" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ABAcalls0Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xc03f26592c873461737e7377bb9ae354a6acfc1af848c9ebe411e717ff86aa32", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xc03f26592c873461737e7377bb9ae354a6acfc1af848c9ebe411e717ff86aa32", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xc03f26592c873461737e7377bb9ae354a6acfc1af848c9ebe411e717ff86aa32", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xc03f26592c873461737e7377bb9ae354a6acfc1af848c9ebe411e717ff86aa32", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xc03f26592c873461737e7377bb9ae354a6acfc1af848c9ebe411e717ff86aa32", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xc03f26592c873461737e7377bb9ae354a6acfc1af848c9ebe411e717ff86aa32", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000100000", + "storage" : { + "0x24" : "0x00" + } + }, + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x0ce29d" + } + }, + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "storage" : { + "0x26" : "0x00" + } } } - ], - "Homestead" : [ - { - "hash" : "0xc03f26592c873461737e7377bb9ae354a6acfc1af848c9ebe411e717ff86aa32", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xc03f26592c873461737e7377bb9ae354a6acfc1af848c9ebe411e717ff86aa32", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xdedcde8098d9d29cbfebc1757ba0ddfee0553aef3828664fb48ba7dbd3f00df7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x41255adec1385a533282ad624847cace6fa9d458645a9878b61616e20846a16f", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x0df479" + } + }, + "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000100000", + "storage" : { + "0x24" : "0x00" + } + }, + "245304eb96065b2a98b57a48a06ae28d285a71b5" : { + "storage" : { + "0x26" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b5620186a0fa5855", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ (PC) ]] (STATICCALL 100000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x58600152600060006000600073245304eb96065b2a98b57a48a06ae28d285a71b5620186a0fa", - "nonce" : "0x00", + "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 1 (PC)) (STATICCALL 100000 0x245304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x245304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x17", - "code" : "0x58600152600060006000600073195e7baea6a6c7c4c2dfeb977efac326af552d8761c350fa", - "nonce" : "0x00", + "245304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "23", + "code" : " { (MSTORE 1 (PC)) (STATICCALL 50000 0x195e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0) } ", + "nonce" : "0", "storage" : { } }, - "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x17", - "code" : "0x600060006000600073095e7baea6a6c7c4c2dfeb977efac326af552d8761c350fa6001015855", - "nonce" : "0x00", + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "23", + "code" : " { [[ (PC) ]] (ADD 1 (STATICCALL 50000 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0)) } ", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +123,14 @@ "0x000000000000000000000000195e7baea6a6c7c4c2dfeb977efac326af552d87" ], "gasLimit" : [ - "0x0f4240" + "1000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_ABAcalls1.json b/GeneralStateTests/stStaticCall/static_ABAcalls1.json index 3656f5bd4..a3c68014f 100644 --- a/GeneralStateTests/stStaticCall/static_ABAcalls1.json +++ b/GeneralStateTests/stStaticCall/static_ABAcalls1.json @@ -2,149 +2,115 @@ "static_ABAcalls1" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ABAcalls1Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x3b9aca00", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x0c7891487363e70826d9829cf807411e9eafc7a532e825c78b281292f0ca586c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x0c7891487363e70826d9829cf807411e9eafc7a532e825c78b281292f0ca586c", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x0c7891487363e70826d9829cf807411e9eafc7a532e825c78b281292f0ca586c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x0c7891487363e70826d9829cf807411e9eafc7a532e825c78b281292f0ca586c", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x786f770b5b652f16d551ce09811f32c8521bca8aa7a30c7bfb77fbe05f743368", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x786f770b5b652f16d551ce09811f32c8521bca8aa7a30c7bfb77fbe05f743368", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x26" : "0x00" + } + }, + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01d8b81b" + } + }, + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "storage" : { + "0x29" : "0x00" + } } } - ], - "Homestead" : [ - { - "hash" : "0x786f770b5b652f16d551ce09811f32c8521bca8aa7a30c7bfb77fbe05f743368", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x786f770b5b652f16d551ce09811f32c8521bca8aa7a30c7bfb77fbe05f743368", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xe3a16c33c297cc8e1127a49a0a679bf2a264a94955792741a2bfc98f9826b25f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x405520d48ad2b4ad3fc3ac99d0042b395f2588fcc45e1d5c9b88013cbcaee345", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x26" : "0x00" + } + }, + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x3b957609" + } + }, + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "storage" : { + "0x29" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b5620186a05a03fa5855", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ (PC) ]] (STATICCALL (- (GAS) 100000) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600060006000600060006000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) 0 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x58600152600060006000600073245304eb96065b2a98b57a48a06ae28d285a71b5620186a05a03fa", - "nonce" : "0x00", + "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 1 (PC)) (STATICCALL (- (GAS) 100000) 0x245304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x245304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x17", - "code" : "0x600060006000600073195e7baea6a6c7c4c2dfeb977efac326af552d87620186a05a03fa6001015852", - "nonce" : "0x00", + "245304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "23", + "code" : " { (MSTORE (PC) (ADD 1 (STATICCALL (- (GAS) 100000) 0x195e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0)) ) } ", + "nonce" : "0", "storage" : { } }, - "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x17", - "code" : "0x600060006000600073095e7baea6a6c7c4c2dfeb977efac326af552d87620186a05a03fa6001015855", - "nonce" : "0x00", + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "23", + "code" : " { [[ (PC) ]] (ADD 1 (STATICCALL (- (GAS) 100000) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0)) } ", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +121,14 @@ "0x000000000000000000000000195e7baea6a6c7c4c2dfeb977efac326af552d87" ], "gasLimit" : [ - "0x3b9aca00" + "1000000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_ABAcalls2.json b/GeneralStateTests/stStaticCall/static_ABAcalls2.json index 3d62719eb..51e592d1e 100644 --- a/GeneralStateTests/stStaticCall/static_ABAcalls2.json +++ b/GeneralStateTests/stStaticCall/static_ABAcalls2.json @@ -2,149 +2,138 @@ "static_ABAcalls2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ABAcalls2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x3b9aca00", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xbb7727efd4ef264c030eb0a775f9ce7b07cf68169ca515688574a4a5412a70e7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xbb7727efd4ef264c030eb0a775f9ce7b07cf68169ca515688574a4a5412a70e7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xbb7727efd4ef264c030eb0a775f9ce7b07cf68169ca515688574a4a5412a70e7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xbb7727efd4ef264c030eb0a775f9ce7b07cf68169ca515688574a4a5412a70e7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x34dfa119149d9bf8fef1d1bbbabd52b934e26141b6046bd7ef8998e8e29b5c14", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x34dfa119149d9bf8fef1d1bbbabd52b934e26141b6046bd7ef8998e8e29b5c14", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Frontier", + "Homestead" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0" + } + }, + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "storage" : { + "0x" : "0" + } } } - ], - "Homestead" : [ - { - "hash" : "0x34dfa119149d9bf8fef1d1bbbabd52b934e26141b6046bd7ef8998e8e29b5c14", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x34dfa119149d9bf8fef1d1bbbabd52b934e26141b6046bd7ef8998e8e29b5c14", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x01" + } + }, + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01d8c976" + } + }, + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "storage" : { + "0x" : "0" + } } } - ], - "Metropolis" : [ - { - "hash" : "0x509aafd97a6a0ddbbf8ffcb740f5e8e073285758d211a169593701db4a34f8f8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x8c6b4f32dafc1065d9190ffb09ef3ac4468d2366020e12dcbf4179969788e3ba", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x00" + } + }, + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x3b955b28" + } + }, + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "storage" : { + "0x" : "0" + } } } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600160005401600055600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b5620186a05a03fa", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (ADD (SLOAD 0) 1) (STATICCALL (- (GAS) 100000) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600160005101600052600060006000600073245304eb96065b2a98b57a48a06ae28d285a71b5620186a05a03fa", - "nonce" : "0x00", + "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ ( MSTORE 0 (ADD (MLOAD 0) 1)) (STATICCALL (- (GAS) 100000) 0x245304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x245304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x00", - "code" : "0x600160005101600052600060006000600073195e7baea6a6c7c4c2dfeb977efac326af552d87620186a05a03fa", - "nonce" : "0x00", + "245304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0", + "code" : " { ( MSTORE 0 (ADD (MLOAD 0) 1)) (STATICCALL (- (GAS) 100000) 0x195e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0) } ", + "nonce" : "0", "storage" : { } }, - "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x00", - "code" : "0x600160005401600055600060006000600073095e7baea6a6c7c4c2dfeb977efac326af552d87620186a05a03fa", - "nonce" : "0x00", + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0", + "code" : " { [[ 0 ]] (ADD (SLOAD 0) 1) (STATICCALL (- (GAS) 100000) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0) } ", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +144,14 @@ "0x000000000000000000000000195e7baea6a6c7c4c2dfeb977efac326af552d87" ], "gasLimit" : [ - "0x3b9aca00" + "1000000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_ABAcalls3.json b/GeneralStateTests/stStaticCall/static_ABAcalls3.json index 1f4713206..18ec2570e 100644 --- a/GeneralStateTests/stStaticCall/static_ABAcalls3.json +++ b/GeneralStateTests/stStaticCall/static_ABAcalls3.json @@ -2,149 +2,138 @@ "static_ABAcalls3" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ABAcalls3Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x074f790d10e1e116a6426c476544b9ba4aaaf0547e6798d8a36591a5c16dec0a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x074f790d10e1e116a6426c476544b9ba4aaaf0547e6798d8a36591a5c16dec0a", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x074f790d10e1e116a6426c476544b9ba4aaaf0547e6798d8a36591a5c16dec0a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x074f790d10e1e116a6426c476544b9ba4aaaf0547e6798d8a36591a5c16dec0a", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x8d9bccc5ef042358e0001d66fff581f3f1b8342c81dad02ad287a0ea18b3c8d6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x8d9bccc5ef042358e0001d66fff581f3f1b8342c81dad02ad287a0ea18b3c8d6", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Frontier", + "Homestead" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0" + } + }, + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "storage" : { + "0x" : "0" + } } } - ], - "Homestead" : [ - { - "hash" : "0x8d9bccc5ef042358e0001d66fff581f3f1b8342c81dad02ad287a0ea18b3c8d6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x8d9bccc5ef042358e0001d66fff581f3f1b8342c81dad02ad287a0ea18b3c8d6", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x01" + } + }, + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x0467fd" + } + }, + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "storage" : { + "0x" : "0" + } } } - ], - "Metropolis" : [ - { - "hash" : "0xedbb8b13272913d00d5bdd584be0835fbd751c1d2ac15d5f654d13ce54b5f1b7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x52f205a4f23f4f83d4accf5e4b5230c4189115348a83e6203ff4ad7edebce01d", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x95c35c" + } + }, + "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0" + } + }, + "245304eb96065b2a98b57a48a06ae28d285a71b5" : { + "storage" : { + "0x" : "0" + } } } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0fa3e8", - "code" : "0x600160005401600055600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b5620186a05a03fa", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1025000", + "code" : "{ [[ 0 ]] (ADD (SLOAD 0) 1) (STATICCALL (- (GAS) 100000) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0fa3e8", - "code" : "0x600160005401600052600060006000600073245304eb96065b2a98b57a48a06ae28d285a71b5620186a05a03fa", - "nonce" : "0x00", + "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1025000", + "code" : "{ (MSTORE 0 (ADD (SLOAD 0) 1)) (STATICCALL (- (GAS) 100000) 0x245304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x245304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x00", - "code" : "0x600160005401600052600060006000600073195e7baea6a6c7c4c2dfeb977efac326af552d87620186a05a03fa", - "nonce" : "0x00", + "245304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0", + "code" : " { (MSTORE 0 (ADD (SLOAD 0) 1)) (STATICCALL (- (GAS) 100000) 0x195e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0) } ", + "nonce" : "0", "storage" : { } }, - "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x00", - "code" : "0x600160005401600055600060006000600073095e7baea6a6c7c4c2dfeb977efac326af552d87620186a05a03fa", - "nonce" : "0x00", + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "0", + "code" : " { [[ 0 ]] (ADD (SLOAD 0) 1) (STATICCALL (- (GAS) 100000) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0) } ", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +144,14 @@ "0x000000000000000000000000195e7baea6a6c7c4c2dfeb977efac326af552d87" ], "gasLimit" : [ - "0x989680" + "10000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_ABAcallsSuicide0.json b/GeneralStateTests/stStaticCall/static_ABAcallsSuicide0.json index e03dbaae6..13e8e88de 100644 --- a/GeneralStateTests/stStaticCall/static_ABAcallsSuicide0.json +++ b/GeneralStateTests/stStaticCall/static_ABAcallsSuicide0.json @@ -2,149 +2,105 @@ "static_ABAcallsSuicide0" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ABAcallsSuicide0Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xffa5388f2f354f396a4b5fd50479824ecba5a05da414b74e1feb08ac768d01eb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xffa5388f2f354f396a4b5fd50479824ecba5a05da414b74e1feb08ac768d01eb", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xffa5388f2f354f396a4b5fd50479824ecba5a05da414b74e1feb08ac768d01eb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xffa5388f2f354f396a4b5fd50479824ecba5a05da414b74e1feb08ac768d01eb", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xcea5bb685391706db4393bf037b44d0058636483ef432bb99683db120a00359d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xcea5bb685391706db4393bf037b44d0058636483ef432bb99683db120a00359d", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x962352" + } + }, + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "storage" : { + "0x26" : "0" + } } } - ], - "Homestead" : [ - { - "hash" : "0xcea5bb685391706db4393bf037b44d0058636483ef432bb99683db120a00359d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xcea5bb685391706db4393bf037b44d0058636483ef432bb99683db120a00359d", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xa96988d765d43bf98e1e566a22c3a203691fd78b1fb08f0ed8aef219c9356d22", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x0fa4fafe1227be36b2bf9ddcd40849bcd55a93f3eb70714594bfdcf14af5eb55", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x96f73c" + } + }, + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "storage" : { + "0x26" : "0" + } } } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b5620186a0fa585573945304eb96065b2a98b57a48a06ae28d285a71b5ff", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ (PC) ]] (STATICCALL 100000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) (SELFDESTRUCT 0x945304eb96065b2a98b57a48a06ae28d285a71b5) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600060006000600073245304eb96065b2a98b57a48a06ae28d285a71b5620186a0fa585273945304eb96065b2a98b57a48a06ae28d285a71b5ff", - "nonce" : "0x00", + "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE (PC) (STATICCALL 100000 0x245304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0)) (SELFDESTRUCT 0x945304eb96065b2a98b57a48a06ae28d285a71b5) }", + "nonce" : "0", "storage" : { } }, - "0x245304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x17", - "code" : "0x600060006000600073195e7baea6a6c7c4c2dfeb977efac326af552d8761c350fa6001015852", - "nonce" : "0x00", + "245304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "23", + "code" : "{ (MSTORE (PC) (ADD 1 (STATICCALL 50000 0x195e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0)) ) } ", + "nonce" : "0", "storage" : { } }, - "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x17", - "code" : "0x600060006000600073095e7baea6a6c7c4c2dfeb977efac326af552d8761c350fa6001015855", - "nonce" : "0x00", + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "23", + "code" : "{ [[ (PC) ]] (ADD 1 (STATICCALL 50000 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0)) } ", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +111,14 @@ "0x000000000000000000000000195e7baea6a6c7c4c2dfeb977efac326af552d87" ], "gasLimit" : [ - "0x989680" + "10000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_ABAcallsSuicide1.json b/GeneralStateTests/stStaticCall/static_ABAcallsSuicide1.json index cff7406a3..c67373ccf 100644 --- a/GeneralStateTests/stStaticCall/static_ABAcallsSuicide1.json +++ b/GeneralStateTests/stStaticCall/static_ABAcallsSuicide1.json @@ -2,128 +2,67 @@ "static_ABAcallsSuicide1" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ABAcallsSuicide1Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xccd4d8f4dc9f37f077981d80525df227265e9f76286a255ebe5feb27c474674e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xccd4d8f4dc9f37f077981d80525df227265e9f76286a255ebe5feb27c474674e", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xccd4d8f4dc9f37f077981d80525df227265e9f76286a255ebe5feb27c474674e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xccd4d8f4dc9f37f077981d80525df227265e9f76286a255ebe5feb27c474674e", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xccd4d8f4dc9f37f077981d80525df227265e9f76286a255ebe5feb27c474674e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xccd4d8f4dc9f37f077981d80525df227265e9f76286a255ebe5feb27c474674e", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xccd4d8f4dc9f37f077981d80525df227265e9f76286a255ebe5feb27c474674e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xccd4d8f4dc9f37f077981d80525df227265e9f76286a255ebe5feb27c474674e", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xadea7a18f356290092a47170f2f30423787d851719ae597d21ea8c949d8d3a86", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xfe615f89e81cf8b016a7433aa27c05ad0c4ee79ba39ff764492e5f4d5f5a6d6f", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "EIP150", + "EIP158", + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + } + }, + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "shouldnotexist" : "1" + }, + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "23", + "storage" : { + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" } } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600035600052600060006020600073945304eb96065b2a98b57a48a06ae28d285a71b5600035fa", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) (STATICCALL (CALLDATALOAD 0) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 32 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x17", - "code" : "0x600035600052600060006020600073095e7baea6a6c7c4c2dfeb977efac326af552d8761c35060003503fa50730f572e5295c57f15886f9b263e2f6d2d6c7b5ec6ff", - "nonce" : "0x00", + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "23", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) (STATICCALL (SUB (CALLDATALOAD 0) 50000) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 32 0 0) (SELFDESTRUCT 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6) } ", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -134,14 +73,14 @@ "0x00000000000000000000000000000000000000000000000000000000000486a0" ], "gasLimit" : [ - "0x989680" + "10000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CALL_OneVCallSuicide.json b/GeneralStateTests/stStaticCall/static_CALL_OneVCallSuicide.json index 375d12370..37a7c66b4 100644 --- a/GeneralStateTests/stStaticCall/static_CALL_OneVCallSuicide.json +++ b/GeneralStateTests/stStaticCall/static_CALL_OneVCallSuicide.json @@ -2,88 +2,59 @@ "static_CALL_OneVCallSuicide" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CALL_OneVCallSuicideFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xd9d189d55623b848db5cb84a4aa8407b25008c9c8d8ef4ff58ca4690519b306a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0x08d5b6", + "0x64" : "0x079a61" + } + }, + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1" } } - ], - "EIP158" : [ - { - "hash" : "0xd9d189d55623b848db5cb84a4aa8407b25008c9c8d8ef4ff58ca4690519b306a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xd9d189d55623b848db5cb84a4aa8407b25008c9c8d8ef4ff58ca4690519b306a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xd9d189d55623b848db5cb84a4aa8407b25008c9c8d8ef4ff58ca4690519b306a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x342cabfdf44012ab2d15fd0d0b37c086d887dac25ea1f21d2d31484574c08e96", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x64", - "code" : "0x5a600055600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa505a606455", - "nonce" : "0x00", + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "100", + "code" : "{ [[0]](GAS) (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[100]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x01", - "code" : "0x73b94f5374fce5edbc8e2a8697c15331677e6ebf0bff", - "nonce" : "0x00", + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1", + "code" : "{ (SELFDESTRUCT 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b) }", + "nonce" : "0", "storage" : { } } @@ -93,14 +64,14 @@ "" ], "gasLimit" : [ - "0x0927c0" + "600000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CALL_ZeroVCallSuicide.json b/GeneralStateTests/stStaticCall/static_CALL_ZeroVCallSuicide.json index 52cf58a84..fb11bf86d 100644 --- a/GeneralStateTests/stStaticCall/static_CALL_ZeroVCallSuicide.json +++ b/GeneralStateTests/stStaticCall/static_CALL_ZeroVCallSuicide.json @@ -2,88 +2,59 @@ "static_CALL_ZeroVCallSuicide" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CALL_ZeroVCallSuicideFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x547505ab1a24eb2ada751603d80eecd2a47f26969fb47dbd3f9f7d78fbee1440", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0x00", + "0x64" : "0x00" + } + }, + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0" } } - ], - "EIP158" : [ - { - "hash" : "0x3da96cfeceb3cb53a36674fdb1b80cae94e862296896d19ac7aadf32a3135e7d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x547505ab1a24eb2ada751603d80eecd2a47f26969fb47dbd3f9f7d78fbee1440", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x547505ab1a24eb2ada751603d80eecd2a47f26969fb47dbd3f9f7d78fbee1440", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x3da96cfeceb3cb53a36674fdb1b80cae94e862296896d19ac7aadf32a3135e7d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa", - "nonce" : "0x00", + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "code" : "{ (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x73b94f5374fce5edbc8e2a8697c15331677e6ebf0bff", - "nonce" : "0x00", + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "code" : "{ (SELFDESTRUCT 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b) }", + "nonce" : "0", "storage" : { } } @@ -93,14 +64,14 @@ "" ], "gasLimit" : [ - "0x0927c0" + "600000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x094f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "094f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit.json b/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit.json index 3614ddaf5..154a3bc65 100644 --- a/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit.json +++ b/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit.json @@ -2,222 +2,73 @@ "static_CREATE_ContractSuicideDuringInit" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CREATE_ContractSuicideDuringInitFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xba5ae1e3e6d8442c50bf29604d4d96457d6b48419f056da87878e3cc83569129", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x5f371bb123b53255249203a7c7e2ffc5c3ae27f3e8816f53e02188c9f42f5ff1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa729e7decd16eb178dda568c3f383213df1d5316c4ca5b95d7512c391a10b094", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xa729e7decd16eb178dda568c3f383213df1d5316c4ca5b95d7512c391a10b094", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa729e7decd16eb178dda568c3f383213df1d5316c4ca5b95d7512c391a10b094", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { + "shouldnotexist" : "1" + }, + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "storage" : { + "0x01" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0b", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "11", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x6001600152", - "nonce" : "0x00", + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "code" : "{ (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0b", - "code" : "0x6001600155", - "nonce" : "0x00", + "d94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "11", + "code" : "{ (SSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0xe94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0b", - "code" : "0x6000600060006000600173c94f5374fce5edbc8e2a8697c15331677e6ebf0b6064f1", - "nonce" : "0x00", + "e94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "11", + "code" : "{ (CALL 100 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 1 0 0 0 0) }", + "nonce" : "0", "storage" : { } } @@ -230,14 +81,14 @@ "0x600060006000600073e94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273c94f5374fce5edbc8e2a8697c15331677e6ebf0bff" ], "gasLimit" : [ - "0x0249f0" + "150000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", "to" : "", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturn.json b/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturn.json index 78c67aeb3..454ce5c17 100644 --- a/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturn.json +++ b/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturn.json @@ -2,142 +2,91 @@ "static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturn" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturnFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xac308a6d429b670ba38741ea8d3df6b5ac8a05292a857a57a53ef00dc18aeadc", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xac308a6d429b670ba38741ea8d3df6b5ac8a05292a857a57a53ef00dc18aeadc", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xac308a6d429b670ba38741ea8d3df6b5ac8a05292a857a57a53ef00dc18aeadc", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xac308a6d429b670ba38741ea8d3df6b5ac8a05292a857a57a53ef00dc18aeadc", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xac308a6d429b670ba38741ea8d3df6b5ac8a05292a857a57a53ef00dc18aeadc", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xac308a6d429b670ba38741ea8d3df6b5ac8a05292a857a57a53ef00dc18aeadc", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xac308a6d429b670ba38741ea8d3df6b5ac8a05292a857a57a53ef00dc18aeadc", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xac308a6d429b670ba38741ea8d3df6b5ac8a05292a857a57a53ef00dc18aeadc", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x06df263ff3ef057343ac2ec24147d5c092d10dc9cd873f111687ca575efe44c9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x3562f98d65ea1ba4861c530d74c8ce9dbb92e41c552834193db5f9ef9fea1a57", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "storage" : { + "0x01" : "0" + } + }, + "194f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "storage" : { + "0x01" : "0" + } + }, + "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { + "shouldnotexist" : "1" + }, + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "storage" : { + "0x01" : "0" + } + }, + "d94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "10", + "storage" : { + "0x01" : "0" + } } } - ] - }, + } + ], "pre" : { - "0x094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x6001600152", - "nonce" : "0x00", + "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "code" : "{ (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0x194f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x6001600152", - "nonce" : "0x00", + "194f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "code" : "{(MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x600c600155", - "nonce" : "0x00", + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "code" : "{[[1]]12}", + "nonce" : "0", "storage" : { } }, - "0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x600c600155", - "nonce" : "0x00", + "d94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "code" : "{[[1]]12}", + "nonce" : "0", "storage" : { } } @@ -148,14 +97,14 @@ "0x600060006000600073094f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273d94f5374fce5edbc8e2a8697c15331677e6ebf0bff600060006000600073194f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa50600b600055600e6012f3" ], "gasLimit" : [ - "0x0927c0" + "600000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", "to" : "", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit_WithValue.json b/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit_WithValue.json index b64962886..1e6877cb1 100644 --- a/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit_WithValue.json +++ b/GeneralStateTests/stStaticCall/static_CREATE_ContractSuicideDuringInit_WithValue.json @@ -2,128 +2,59 @@ "static_CREATE_ContractSuicideDuringInit_WithValue" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CREATE_ContractSuicideDuringInit_WithValueFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xf485ec8af9bb51a5107f82c504f75a9a4f8f0631fa44d0bf5610a5aaa01079bf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xf485ec8af9bb51a5107f82c504f75a9a4f8f0631fa44d0bf5610a5aaa01079bf", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xf485ec8af9bb51a5107f82c504f75a9a4f8f0631fa44d0bf5610a5aaa01079bf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xf485ec8af9bb51a5107f82c504f75a9a4f8f0631fa44d0bf5610a5aaa01079bf", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xf485ec8af9bb51a5107f82c504f75a9a4f8f0631fa44d0bf5610a5aaa01079bf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xf485ec8af9bb51a5107f82c504f75a9a4f8f0631fa44d0bf5610a5aaa01079bf", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xf485ec8af9bb51a5107f82c504f75a9a4f8f0631fa44d0bf5610a5aaa01079bf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xf485ec8af9bb51a5107f82c504f75a9a4f8f0631fa44d0bf5610a5aaa01079bf", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xf532488f66e226bed6d8f680090a47f88e3b0c0384aee977e4db02120a2b4eab", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xda4511f7aa82e9d1f3f6c45aa38812791fe76f1927aca67165cc69363cd853bd", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { + "shouldnotexist" : "1" + }, + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "10", + "storage" : { + "0x01" : "0" + } } } - ] - }, + } + ], "pre" : { - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x600c600155", - "nonce" : "0x00", + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "code" : "{[[1]]12}", + "nonce" : "0", "storage" : { } }, - "0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x6001600152", - "nonce" : "0x00", + "d94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "code" : "{ (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } } @@ -134,14 +65,14 @@ "0x600060006000600073d94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273c94f5374fce5edbc8e2a8697c15331677e6ebf0bff" ], "gasLimit" : [ - "0x0249f0" + "150000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", "to" : "", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CREATE_EmptyContractAndCallIt_0wei.json b/GeneralStateTests/stStaticCall/static_CREATE_EmptyContractAndCallIt_0wei.json index 3e7513bbf..ca5ad965f 100644 --- a/GeneralStateTests/stStaticCall/static_CREATE_EmptyContractAndCallIt_0wei.json +++ b/GeneralStateTests/stStaticCall/static_CREATE_EmptyContractAndCallIt_0wei.json @@ -2,81 +2,55 @@ "static_CREATE_EmptyContractAndCallIt_0wei" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CREATE_EmptyContractAndCallIt_0weiFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x95cb95e8a45183889c6c6374095e6e5ee260cac2501bc18a7318e0e0b9b4d925", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0x08d5b6", + "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40", + "0x02" : "0x07bc62", + "0x03" : "0x01", + "0x64" : "0x071c84" + } + }, + "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : { + "nonce" : "1" } } - ], - "EIP158" : [ - { - "hash" : "0x95cb95e8a45183889c6c6374095e6e5ee260cac2501bc18a7318e0e0b9b4d925", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x95cb95e8a45183889c6c6374095e6e5ee260cac2501bc18a7318e0e0b9b4d925", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x95cb95e8a45183889c6c6374095e6e5ee260cac2501bc18a7318e0e0b9b4d925", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x4642341e03e4311cb73d40525960794e48197f36ae5b787a30b75c092192c91b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x5a600055602060006000f06001555a600255600060006000600060015461ea60fa6003555a606455", - "nonce" : "0x00", + "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", "storage" : { } } @@ -86,14 +60,14 @@ "" ], "gasLimit" : [ - "0x0927c0" + "600000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CREATE_EmptyContractWithStorageAndCallIt_0wei.json b/GeneralStateTests/stStaticCall/static_CREATE_EmptyContractWithStorageAndCallIt_0wei.json index 59975f3af..816ec1482 100644 --- a/GeneralStateTests/stStaticCall/static_CREATE_EmptyContractWithStorageAndCallIt_0wei.json +++ b/GeneralStateTests/stStaticCall/static_CREATE_EmptyContractWithStorageAndCallIt_0wei.json @@ -2,88 +2,67 @@ "static_CREATE_EmptyContractWithStorageAndCallIt_0wei" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CREATE_EmptyContractWithStorageAndCallIt_0weiFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x2cddc45b4f529774b2ecddd260c63d1154971cd17b1c2ffc77e92940d8c0333e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0x08d5b6", + "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40", + "0x02" : "0x071d30", + "0x03" : "0x01", + "0x64" : "0x067d52" + } + }, + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x01" : "12" + } + }, + "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : { + "nonce" : "1" } } - ], - "EIP158" : [ - { - "hash" : "0x2cddc45b4f529774b2ecddd260c63d1154971cd17b1c2ffc77e92940d8c0333e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x2cddc45b4f529774b2ecddd260c63d1154971cd17b1c2ffc77e92940d8c0333e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x2cddc45b4f529774b2ecddd260c63d1154971cd17b1c2ffc77e92940d8c0333e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x4bcc548cba959981ce4cc689cf3c71fc583c7e98702efb6507db8cb62dd4f8eb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x5a6000557f600c6000556000600060006000600073c94f5374fce5edbc8e2a8697c15331676000527f7e6ebf0b61ea60f1000000000000000000000000000000000000000000000000602052604060006000f06001555a600255600060006000600060015461ea60fa6003555a606455", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", - "code" : "0x600c600155", - "nonce" : "0x00", + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", + "code" : "{[[1]]12}", + "nonce" : "0", "storage" : { } } @@ -93,14 +72,14 @@ "" ], "gasLimit" : [ - "0x0927c0" + "600000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call10.json b/GeneralStateTests/stStaticCall/static_Call10.json index bfbe33e11..f429aab00 100644 --- a/GeneralStateTests/stStaticCall/static_Call10.json +++ b/GeneralStateTests/stStaticCall/static_Call10.json @@ -2,142 +2,100 @@ "static_Call10" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call10Filler.json" }, "env" : { - "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x6fc4c3084d4c54b9eacedbad095784469b5ea16f6f2525ecd8805baf90293096", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x6fc4c3084d4c54b9eacedbad095784469b5ea16f6f2525ecd8805baf90293096", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x6fc4c3084d4c54b9eacedbad095784469b5ea16f6f2525ecd8805baf90293096", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x6fc4c3084d4c54b9eacedbad095784469b5ea16f6f2525ecd8805baf90293096", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x5b0b9342608439258a77989fc35e9362610b817f0f6c325bfbb113cb213b39b4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x5b0b9342608439258a77989fc35e9362610b817f0f6c325bfbb113cb213b39b4", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x7ffffffffffdadb4" + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "1", + "0x01" : "0x0a" + } } } - ], - "Homestead" : [ - { - "hash" : "0x5b0b9342608439258a77989fc35e9362610b817f0f6c325bfbb113cb213b39b4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5b0b9342608439258a77989fc35e9362610b817f0f6c325bfbb113cb213b39b4", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x43171058d96ffb08732b0c38a6c64c5076be8b7dbe36d3ce302384210e6d741e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xa87ead574b019674d700f0c5e843668be263b3ca5770f00f791e2c09d6a09556", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x7ffffffffffef99b" + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0", + "0x01" : "0" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x1b58", + "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "7000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x03e8", - "code" : "0x5b600a60805110156040576000600061c350600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffffa6000556001608051016080526000565b608051600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x03e8", - "code" : "0x5b600a60805110156040576000600061c350600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffffa6000526001608051016080526000565b608051602052", - "nonce" : "0x00", + "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", "storage" : { } } @@ -150,12 +108,12 @@ "gasLimit" : [ "0x7ffffffffffffff0" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call1024BalanceTooLow.json b/GeneralStateTests/stStaticCall/static_Call1024BalanceTooLow.json index d58c7ecc8..5896a1970 100644 --- a/GeneralStateTests/stStaticCall/static_Call1024BalanceTooLow.json +++ b/GeneralStateTests/stStaticCall/static_Call1024BalanceTooLow.json @@ -2,142 +2,100 @@ "static_Call1024BalanceTooLow" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call1024BalanceTooLowFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "0x28d138", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "2675000", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x65303506a22481fc271324f6e801332c20a254f5ce948e14d43f861f6439274a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x65303506a22481fc271324f6e801332c20a254f5ce948e14d43f861f6439274a", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x65303506a22481fc271324f6e801332c20a254f5ce948e14d43f861f6439274a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x65303506a22481fc271324f6e801332c20a254f5ce948e14d43f861f6439274a", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x7195770669304046f0a56512c69b8b9f0613a2d6420474762cfc751c8d5144ed", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x7195770669304046f0a56512c69b8b9f0613a2d6420474762cfc751c8d5144ed", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x7effff9ff4" + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x00" + } } } - ], - "Homestead" : [ - { - "hash" : "0x7195770669304046f0a56512c69b8b9f0613a2d6420474762cfc751c8d5144ed", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x7195770669304046f0a56512c69b8b9f0613a2d6420474762cfc751c8d5144ed", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x2f4302b5aee555ad6d3a5df4d1785e280fe9ca3b22eaa16bd88fcfc5e7610dd2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xb02ff201d96fed0845c416053cfd28c239653041b732838ce42b0fbb954255c5", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x0ffffff458dd" + } + }, + "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x1b58", + "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "7000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0400", - "code" : "0x60016000540160005560006000600060005473bbbf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffffa600155", - "nonce" : "0x00", + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1024", + "code" : "{ [[ 0 ]] (ADD @@0 1) [[ 1 ]] (STATICCALL 0xfffffffffff 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b @@0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0400", - "code" : "0x60016000510160005260006000600060005173cbbf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffffa602052", - "nonce" : "0x00", + "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1024", + "code" : "{ (MSTORE 0 (ADD (MLOAD 0) 1)) (MSTORE 32 (STATICCALL 0xfffffffffff 0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b (MLOAD 0) 0 0 0)) }", + "nonce" : "0", "storage" : { } } @@ -148,14 +106,14 @@ "0x000000000000000000000000cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "0x10000000d788" + "17592186099592" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call1024BalanceTooLow2.json b/GeneralStateTests/stStaticCall/static_Call1024BalanceTooLow2.json index f37e1506c..8742af76e 100644 --- a/GeneralStateTests/stStaticCall/static_Call1024BalanceTooLow2.json +++ b/GeneralStateTests/stStaticCall/static_Call1024BalanceTooLow2.json @@ -2,142 +2,100 @@ "static_Call1024BalanceTooLow2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call1024BalanceTooLow2Filler.json" }, "env" : { - "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x1fa52f1d08aaae7e5fb60a1867dc3780f8ee2f2fcc2a5c7ddce608fd3f4ccb88", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x1fa52f1d08aaae7e5fb60a1867dc3780f8ee2f2fcc2a5c7ddce608fd3f4ccb88", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x1fa52f1d08aaae7e5fb60a1867dc3780f8ee2f2fcc2a5c7ddce608fd3f4ccb88", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x1fa52f1d08aaae7e5fb60a1867dc3780f8ee2f2fcc2a5c7ddce608fd3f4ccb88", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x92ce69ec0f964ece3ff69f6c3b53612967056f3038093170d49f98f4acb8b00b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x92ce69ec0f964ece3ff69f6c3b53612967056f3038093170d49f98f4acb8b00b", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x7effff9ff4" + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x00" + } } } - ], - "Homestead" : [ - { - "hash" : "0x92ce69ec0f964ece3ff69f6c3b53612967056f3038093170d49f98f4acb8b00b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x92ce69ec0f964ece3ff69f6c3b53612967056f3038093170d49f98f4acb8b00b", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xdde94d2896244944c676e465ea156a4c2aa6a86c924fca0e1f6bde3a181b963e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x286a8f834d47eae85a92d2e14062c0d930388ac53384b1a17a9c14aec7863699", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x0ffffff458dd" + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x1b58", + "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "7000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0400", - "code" : "0x60016000540160005560006000600060005473bbbf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffffa600155", - "nonce" : "0x00", + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1024", + "code" : "{ [[ 0 ]] (ADD @@0 1) [[ 1 ]] (STATICCALL 0xfffffffffff 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b @@0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0400", - "code" : "0x60016000510160005260006000600060005173cbbf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffffa602052", - "nonce" : "0x00", + "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1024", + "code" : "{ (MSTORE 0 (ADD (MLOAD 0) 1)) (MSTORE 32 (STATICCALL 0xfffffffffff 0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b (MLOAD 0) 0 0 0)) }", + "nonce" : "0", "storage" : { } } @@ -150,12 +108,12 @@ "gasLimit" : [ "0x10000000d788" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call1024OOG.json b/GeneralStateTests/stStaticCall/static_Call1024OOG.json index 4b9e9e79d..7598f5a9f 100644 --- a/GeneralStateTests/stStaticCall/static_Call1024OOG.json +++ b/GeneralStateTests/stStaticCall/static_Call1024OOG.json @@ -2,142 +2,102 @@ "static_Call1024OOG" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call1024OOGFiller.json" }, "env" : { - "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x377c7eb30bfd80a9144129404d73609218fa05572eab656a60f52d37a032c569", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x377c7eb30bfd80a9144129404d73609218fa05572eab656a60f52d37a032c569", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x377c7eb30bfd80a9144129404d73609218fa05572eab656a60f52d37a032c569", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x377c7eb30bfd80a9144129404d73609218fa05572eab656a60f52d37a032c569", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xbeed75a2b66e2f7d9844281420694fb1f118de6673b1fd811db2380ca8a2527c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xbeed75a2b66e2f7d9844281420694fb1f118de6673b1fd811db2380ca8a2527c", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x06ba56" + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x00", + "0x02" : "0x03e9" + } } } - ], - "Homestead" : [ - { - "hash" : "0xbeed75a2b66e2f7d9844281420694fb1f118de6673b1fd811db2380ca8a2527c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xbeed75a2b66e2f7d9844281420694fb1f118de6673b1fd811db2380ca8a2527c", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x12252109e742ad0cab93eeb5e0555a95eae8d40ba4b26bf202962a363c9b0980", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xd979618d4b694bcf3b93ed8b0881981e421f6ef9f7b31c0ea1497624bd9271e4", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0xebe90c" + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00", + "0x02" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x1b58", + "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "7000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0400", - "code" : "0x600160005401600055600060006000600073bbbf5374fce5edbc8e2a8697c15331677e6ebf0b610401600054046001036127105a0302fa6001556103e860005402600101600255", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0400", - "code" : "0x600160005101600052600060006000600073cbbf5374fce5edbc8e2a8697c15331677e6ebf0b610401600051046001036127105a0302fa506103e860005102600101602052", - "nonce" : "0x00", + "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", "storage" : { } } @@ -148,14 +108,14 @@ "0x000000000000000000000000cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "0xefe17a" + "15720826" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call1024PreCalls.json b/GeneralStateTests/stStaticCall/static_Call1024PreCalls.json index 02e87c976..c9a1eef15 100644 --- a/GeneralStateTests/stStaticCall/static_Call1024PreCalls.json +++ b/GeneralStateTests/stStaticCall/static_Call1024PreCalls.json @@ -2,142 +2,104 @@ "static_Call1024PreCalls" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call1024PreCallsFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x72c9194816bf3bdeea30964d4ce764517bd08e0e1b6a6850dfe32af1b6a07845", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x72c9194816bf3bdeea30964d4ce764517bd08e0e1b6a6850dfe32af1b6a07845", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x72c9194816bf3bdeea30964d4ce764517bd08e0e1b6a6850dfe32af1b6a07845", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x72c9194816bf3bdeea30964d4ce764517bd08e0e1b6a6850dfe32af1b6a07845", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xd8c1ef716b4972c223a88f5f00f7fbca98f82256a8179f0d008e4386c6a36a5d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xd8c1ef716b4972c223a88f5f00f7fbca98f82256a8179f0d008e4386c6a36a5d", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x7fffeffffffe3617" + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x00", + "0x02" : "0x01", + "0x03" : "0x01" + } } } - ], - "Homestead" : [ - { - "hash" : "0xd8c1ef716b4972c223a88f5f00f7fbca98f82256a8179f0d008e4386c6a36a5d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xd8c1ef716b4972c223a88f5f00f7fbca98f82256a8179f0d008e4386c6a36a5d", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x47545485af2352f55deacfb37d334fae960a6569be0376e9aeaac56c43109d65", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xc9d51252543c9fa0eb320b0a9589663000ab8135737c659d8d096f6fd5d2a9ae", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x7fffffffffdd3145" + } + }, + "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00", + "0x02" : "0x00", + "0x03" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffffffffffffffffffffffff", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xfffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x1b58", + "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "7000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x07e8", - "code" : "0x600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa600255600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa600355600160005401600055600060006000600073bbbf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffffa600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x07e8", - "code" : "0x600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa50600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa50600160005101600052600060006000600073cbbf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffffa", - "nonce" : "0x00", + "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", "storage" : { } } @@ -150,12 +112,12 @@ "gasLimit" : [ "0x7ffffffffffffff0" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call1024PreCalls2.json b/GeneralStateTests/stStaticCall/static_Call1024PreCalls2.json index e3f3a9d64..b3b5cb2d5 100644 --- a/GeneralStateTests/stStaticCall/static_Call1024PreCalls2.json +++ b/GeneralStateTests/stStaticCall/static_Call1024PreCalls2.json @@ -2,142 +2,104 @@ "static_Call1024PreCalls2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call1024PreCalls2Filler.json" }, "env" : { - "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x84b15d76a83439d2f8b556d2790a3193aa0bc7b4b91908113a91c911b1e88e97", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x84b15d76a83439d2f8b556d2790a3193aa0bc7b4b91908113a91c911b1e88e97", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x84b15d76a83439d2f8b556d2790a3193aa0bc7b4b91908113a91c911b1e88e97", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x84b15d76a83439d2f8b556d2790a3193aa0bc7b4b91908113a91c911b1e88e97", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x1e55307cb145f215d81a774a89864da25991de58a2a9e918c9b0df7946841997", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x1e55307cb145f215d81a774a89864da25991de58a2a9e918c9b0df7946841997", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x7ffffffffea056fd" + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0x0400", + "0x01" : "0x01", + "0x02" : "0x00", + "0x03" : "0x00" + } } } - ], - "Homestead" : [ - { - "hash" : "0x1e55307cb145f215d81a774a89864da25991de58a2a9e918c9b0df7946841997", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x1e55307cb145f215d81a774a89864da25991de58a2a9e918c9b0df7946841997", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xc3e703ec8eadb5f45a5be63ef75210aba7d62e94c4fff236682d23e3ab16394a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x39ed2fb5d5606b9b81c52284938fbb0b283ad86b9bac805058f42dcb5f55fd62", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x7fffffffffdcd15d" + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00", + "0x02" : "0x00", + "0x03" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffffffffffffffffffffffff", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xfffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x1b58", - "code" : "0x6001600052", - "nonce" : "0x00", + "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "7000", + "code" : "{ (MSTORE 0 1)}", + "nonce" : "0", "storage" : { } }, - "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x07e8", - "code" : "0x600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa600255600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa600355600160005401600055600060006000600073bbbf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffff4600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x07e8", - "code" : "0x600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa50600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa50600160005101600052600060006000600073cbbf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffff4", - "nonce" : "0x00", + "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", "storage" : { } } @@ -150,12 +112,12 @@ "gasLimit" : [ "0x7ffffffffffffff0" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call1024PreCalls3.json b/GeneralStateTests/stStaticCall/static_Call1024PreCalls3.json index a4e7139f6..37479e813 100644 --- a/GeneralStateTests/stStaticCall/static_Call1024PreCalls3.json +++ b/GeneralStateTests/stStaticCall/static_Call1024PreCalls3.json @@ -2,142 +2,104 @@ "static_Call1024PreCalls3" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call1024PreCalls3Filler.json" }, "env" : { - "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x43dcef1547c811367a98a58d309ff493d8da77dc809bd85be54919cc5256d31a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x43dcef1547c811367a98a58d309ff493d8da77dc809bd85be54919cc5256d31a", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x43dcef1547c811367a98a58d309ff493d8da77dc809bd85be54919cc5256d31a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x43dcef1547c811367a98a58d309ff493d8da77dc809bd85be54919cc5256d31a", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x0c49b7f4e9d3b5510b80e8d98d930ad870e91bcd475a0813d18e9311fd8e55cd", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x0c49b7f4e9d3b5510b80e8d98d930ad870e91bcd475a0813d18e9311fd8e55cd", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x7fffeffffffe3617" + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x00", + "0x02" : "0x01", + "0x03" : "0x01" + } } } - ], - "Homestead" : [ - { - "hash" : "0x0c49b7f4e9d3b5510b80e8d98d930ad870e91bcd475a0813d18e9311fd8e55cd", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x0c49b7f4e9d3b5510b80e8d98d930ad870e91bcd475a0813d18e9311fd8e55cd", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xb5e45c3c25b7dcdd70c888946cb41e5343a078996960b179c9b50791f4099930", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x4995b48f3bd479101b9df0d5e7b80a76ccd39d8014ea778b7b012a4b4e74de69", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x7fffffffffdd3145" + } + }, + "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00", + "0x02" : "0x00", + "0x03" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffffffffffffffffffffffff", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xfffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x1b58", + "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "7000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x07e8", - "code" : "0x600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa600255600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa600355600160005401600055600060006000600073bbbf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffffa600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x07e8", - "code" : "0x600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa50600060006000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61fffffa50600160005101600052600060006000600073cbbf5374fce5edbc8e2a8697c15331677e6ebf0b650ffffffffffffa", - "nonce" : "0x00", + "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", "storage" : { } } @@ -150,12 +112,12 @@ "gasLimit" : [ "0x7ffffffffffffff0" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call1MB1024Calldepth.json b/GeneralStateTests/stStaticCall/static_Call1MB1024Calldepth.json index 26786a988..559f70711 100644 --- a/GeneralStateTests/stStaticCall/static_Call1MB1024Calldepth.json +++ b/GeneralStateTests/stStaticCall/static_Call1MB1024Calldepth.json @@ -2,142 +2,108 @@ "static_Call1MB1024Calldepth" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call1MB1024CalldepthFiller.json" }, "env" : { - "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0xcd79195900", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "882500000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xbb49e60a0a9c224fa1ca6c5800fb429cfb15bdd05997bd22e14fd65e983d7342", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xbb49e60a0a9c224fa1ca6c5800fb429cfb15bdd05997bd22e14fd65e983d7342", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xbb49e60a0a9c224fa1ca6c5800fb429cfb15bdd05997bd22e14fd65e983d7342", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xbb49e60a0a9c224fa1ca6c5800fb429cfb15bdd05997bd22e14fd65e983d7342", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x5ec6d930391ee23d713ce66da97cbc366bf929411f5fb0d01c5dae5fea491455", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x5ec6d930391ee23d713ce66da97cbc366bf929411f5fb0d01c5dae5fea491455", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "340282366920938463463374606576630825020" + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "code" : "0x60016000540160005561040060005410601b5760016002556045565b60006000620f4240600073bbbf5374fce5edbc8e2a8697c15331677e6ebf0b620f55c85a03fa6001555b", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x01", + "0x01" : "0x00" + } } } - ], - "Homestead" : [ - { - "hash" : "0x5ec6d930391ee23d713ce66da97cbc366bf929411f5fb0d01c5dae5fea491455", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5ec6d930391ee23d713ce66da97cbc366bf929411f5fb0d01c5dae5fea491455", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x7a6ec2437e4f7f5affb760be1ab360de5221df61fefca20d798b5ea54e738291", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xde79c963e0243f89748a78f8f39040f3047c77a9d70dcecb726ae683f54f7d73", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "340282366920938463463374607430644755785" + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "code" : "0x60016000540160005561040060005410601b5760016002556045565b60006000620f4240600073bbbf5374fce5edbc8e2a8697c15331677e6ebf0b620f55c85a03fa6001555b", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0fffffffffffff", - "code" : "0x600060006000600060006000355af1600055", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0xfffffffffffff", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) 0 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xaaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", + "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xfffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x60016000540160005561040060005410601b5760016002556045565b60006000620f4240600073bbbf5374fce5edbc8e2a8697c15331677e6ebf0b620f55c85a03fa6001555b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x60016000510160005261040060005110601b5760016040526045565b60006000620f4240600073cbbf5374fce5edbc8e2a8697c15331677e6ebf0b620f55c85a03fa6020525b", - "nonce" : "0x00", + "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", "storage" : { } } @@ -148,14 +114,14 @@ "0x000000000000000000000000cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "0xcd79195900" + "882500000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call50000.json b/GeneralStateTests/stStaticCall/static_Call50000.json index de26d5741..434cc3781 100644 --- a/GeneralStateTests/stStaticCall/static_Call50000.json +++ b/GeneralStateTests/stStaticCall/static_Call50000.json @@ -2,142 +2,144 @@ "static_Call50000" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call50000Filler.json" }, "env" : { - "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x05204180", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "86000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x4d0410e141c8f943f83cc4771edff86117b741acf6954fcc3e18cf88d1e3b425", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4d0410e141c8f943f83cc4771edff86117b741acf6954fcc3e18cf88d1e3b425", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x4d0410e141c8f943f83cc4771edff86117b741acf6954fcc3e18cf88d1e3b425", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4d0410e141c8f943f83cc4771edff86117b741acf6954fcc3e18cf88d1e3b425", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xcd0460282874213b0a71f14cc7f60f4af9a1299ec9520a1b35b9b98b0cdcbecb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xcd0460282874213b0a71f14cc7f60f4af9a1299ec9520a1b35b9b98b0cdcbecb", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x142e79" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "340282366920938463463374607431684514059", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + }, + "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x1b58", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "83697386", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x5b61c3506080511015603d576000600061c350600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b610640fa6000556001608051016080526000565b608051600155", + "nonce" : "0x00", + "storage" : { + } } } - ], - "Homestead" : [ - { - "hash" : "0xcd0460282874213b0a71f14cc7f60f4af9a1299ec9520a1b35b9b98b0cdcbecb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xcd0460282874213b0a71f14cc7f60f4af9a1299ec9520a1b35b9b98b0cdcbecb", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x4d0410e141c8f943f83cc4771edff86117b741acf6954fcc3e18cf88d1e3b425", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xb568e43eaff561a067df321504be9c94a585f3e5c80147256cc39ce51f18dd13", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x02bb7917" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "340282366920938463463374607431729032105", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + }, + "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x1b58", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "39179340", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x5b61c3506080511015603d576000600061c350600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b610640fa6000556001608051016080526000565b608051600155", + "nonce" : "0x00", + "storage" : { + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x1b58", + "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "7000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x5b61c3506080511015603d576000600061c350600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b610640fa6000556001608051016080526000565b608051600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xcccf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x5b61c3506080511015603d576000600061c350600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b610640fa6000526001608051016080526000565b608051602052", - "nonce" : "0x00", + "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", "storage" : { } } @@ -148,14 +150,14 @@ "0x000000000000000000000000cccf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "0x0510ff40" + "85000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call50000_ecrec.json b/GeneralStateTests/stStaticCall/static_Call50000_ecrec.json index 7b9d6463c..7e15a647b 100644 --- a/GeneralStateTests/stStaticCall/static_Call50000_ecrec.json +++ b/GeneralStateTests/stStaticCall/static_Call50000_ecrec.json @@ -2,135 +2,123 @@ "static_Call50000_ecrec" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call50000_ecrecFiller.json" }, "env" : { - "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x05a995c0", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "95000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x4e68c50f1d55e4eae9fc8e5ad4c7e67d11028e71c2744e198105acebc45ea6be", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4e68c50f1d55e4eae9fc8e5ad4c7e67d11028e71c2744e198105acebc45ea6be", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x4e68c50f1d55e4eae9fc8e5ad4c7e67d11028e71c2744e198105acebc45ea6be", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4e68c50f1d55e4eae9fc8e5ad4c7e67d11028e71c2744e198105acebc45ea6be", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x98a9c18380c2624cb8fc4b401420e9b185586a3d3617d8ed7a9b3177117e93b2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x98a9c18380c2624cb8fc4b401420e9b185586a3d3617d8ed7a9b3177117e93b2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x16724f" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "340282366920938463463374607431675162497", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + }, + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "93048948", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xffffffffffffffffffffffffffffffff", + "code" : "0x5b61c3506080511015602a576000600061c350600060016101f4fa6000556001608051016080526000565b608051600155", + "nonce" : "0x00", + "storage" : { + } } } - ], - "Homestead" : [ - { - "hash" : "0x98a9c18380c2624cb8fc4b401420e9b185586a3d3617d8ed7a9b3177117e93b2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x98a9c18380c2624cb8fc4b401420e9b185586a3d3617d8ed7a9b3177117e93b2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x4e68c50f1d55e4eae9fc8e5ad4c7e67d11028e71c2744e198105acebc45ea6be", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xa6e861719720bffc51b5c19d318e904b3ca4ce0e73de561571b2995e72cedd82", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01cef637" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "340282366920938463463374607431704032105", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + }, + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "64179340", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xffffffffffffffffffffffffffffffff", + "code" : "0x5b61c3506080511015602a576000600061c350600060016101f4fa6000556001608051016080526000565b608051600155", + "nonce" : "0x00", + "storage" : { + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", - "code" : "0x5b61c3506080511015602a576000600061c350600060016101f4fa6000556001608051016080526000565b608051600155", - "nonce" : "0x00", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 500 1 0 50000 0 0) ) [[ 1 ]] @i}", + "nonce" : "0", "storage" : { } }, - "0xcccf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "cccf5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", - "code" : "0x5b61c3506080511015602a576000600061c350600060016101f4fa6000526001608051016080526000565b608051602052", - "nonce" : "0x00", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (MSTORE 0 (STATICCALL 500 1 0 50000 0 0)) ) (MSTORE 32 @i ) }", + "nonce" : "0", "storage" : { } } @@ -141,14 +129,14 @@ "0x000000000000000000000000cccf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "0x05a1f4a0" + "94500000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call50000_identity.json b/GeneralStateTests/stStaticCall/static_Call50000_identity.json index 109a9436d..8b40a0f96 100644 --- a/GeneralStateTests/stStaticCall/static_Call50000_identity.json +++ b/GeneralStateTests/stStaticCall/static_Call50000_identity.json @@ -2,135 +2,123 @@ "static_Call50000_identity" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call50000_identityFiller.json" }, "env" : { - "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x05429690", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "88250000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x950082ee6461cea4dc189c6338c60ed9c8658344c701ac25318e4701ec57b2ce", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x950082ee6461cea4dc189c6338c60ed9c8658344c701ac25318e4701ec57b2ce", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x950082ee6461cea4dc189c6338c60ed9c8658344c701ac25318e4701ec57b2ce", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x950082ee6461cea4dc189c6338c60ed9c8658344c701ac25318e4701ec57b2ce", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x821b561eb2fc794a36baf2db3d7eb4d04ef9312ecea1dc270d028881c233de5c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x821b561eb2fc794a36baf2db3d7eb4d04ef9312ecea1dc270d028881c233de5c", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x14f4d7" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "340282366920938463463374607431681314841", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + }, + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "86896604", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x5b61c3506080511015602a576000600061c3506000600461061cfa6000556001608051016080526000565b608051600155", + "nonce" : "0x00", + "storage" : { + } } } - ], - "Homestead" : [ - { - "hash" : "0x821b561eb2fc794a36baf2db3d7eb4d04ef9312ecea1dc270d028881c233de5c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x821b561eb2fc794a36baf2db3d7eb4d04ef9312ecea1dc270d028881c233de5c", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x950082ee6461cea4dc189c6338c60ed9c8658344c701ac25318e4701ec57b2ce", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x950082ee6461cea4dc189c6338c60ed9c8658344c701ac25318e4701ec57b2ce", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x14f4d7" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "340282366920938463463374607431681314841", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + }, + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "86896604", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x5b61c3506080511015602a576000600061c3506000600461061cfa6000556001608051016080526000565b608051600155", + "nonce" : "0x00", + "storage" : { + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x5b61c3506080511015602a576000600061c3506000600461061cfa6000556001608051016080526000565b608051600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xcccf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x5b61c3506080511015602a576000600061c3506000600461061cfa6000526001608051016080526000565b608051602052", - "nonce" : "0x00", + "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", "storage" : { } } @@ -141,14 +129,14 @@ "0x000000000000000000000000cccf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "0x05429690" + "88250000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call50000_identity2.json b/GeneralStateTests/stStaticCall/static_Call50000_identity2.json index 6cd68e0ee..274e54c8d 100644 --- a/GeneralStateTests/stStaticCall/static_Call50000_identity2.json +++ b/GeneralStateTests/stStaticCall/static_Call50000_identity2.json @@ -2,135 +2,84 @@ "static_Call50000_identity2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call50000_identity2Filler.json" }, "env" : { - "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x05429690", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "88250000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x62677a239ceaf20855a7c43165a93af54133f52a3eee2bb329b9ae644fd7e5db", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x62677a239ceaf20855a7c43165a93af54133f52a3eee2bb329b9ae644fd7e5db", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x62677a239ceaf20855a7c43165a93af54133f52a3eee2bb329b9ae644fd7e5db", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x62677a239ceaf20855a7c43165a93af54133f52a3eee2bb329b9ae644fd7e5db", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x727d1d8785ebe9311f1d282a9c21b05b8749ed1f868733db22c70699c593a4dc", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x727d1d8785ebe9311f1d282a9c21b05b8749ed1f868733db22c70699c593a4dc", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x727d1d8785ebe9311f1d282a9c21b05b8749ed1f868733db22c70699c593a4dc", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x727d1d8785ebe9311f1d282a9c21b05b8749ed1f868733db22c70699c593a4dc", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x62677a239ceaf20855a7c43165a93af54133f52a3eee2bb329b9ae644fd7e5db", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x62677a239ceaf20855a7c43165a93af54133f52a3eee2bb329b9ae644fd7e5db", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x14f4d7" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "340282366920938463463374607431681314841", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + }, + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "86896604", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "code" : "0x602a6001525b61c350608051101560305761c350600161c3506000600461061cfa6000556001608051016080526005565b608051600155600151600255", + "nonce" : "0x00", + "storage" : { + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x602a6001525b61c350608051101560305761c350600161c3506000600461061cfa6000556001608051016080526005565b608051600155600151600255", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xcccf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x602a6001525b61c350608051101560305761c350600161c3506000600461061cfa6000526001608051016080526005565b608051602052600151604052", - "nonce" : "0x00", + "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", "storage" : { } } @@ -141,14 +90,14 @@ "0x000000000000000000000000cccf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "0x05429690" + "88250000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call50000_rip160.json b/GeneralStateTests/stStaticCall/static_Call50000_rip160.json index 007a20728..98a256f4f 100644 --- a/GeneralStateTests/stStaticCall/static_Call50000_rip160.json +++ b/GeneralStateTests/stStaticCall/static_Call50000_rip160.json @@ -2,135 +2,86 @@ "static_Call50000_rip160" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call50000_rip160Filler.json" }, "env" : { - "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0xe9f2bf40", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "3925000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x2a8611d0d87e773018798469ea28e2d918a7b7a6d22922eed042c03f2d0e0970", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2a8611d0d87e773018798469ea28e2d918a7b7a6d22922eed042c03f2d0e0970", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x2a8611d0d87e773018798469ea28e2d918a7b7a6d22922eed042c03f2d0e0970", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2a8611d0d87e773018798469ea28e2d918a7b7a6d22922eed042c03f2d0e0970", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xff18fc93b1ac218345d47ff468c282261a88fd4a86d356b81024535308bbb0ca", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xff18fc93b1ac218345d47ff468c282261a88fd4a86d356b81024535308bbb0ca", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xff18fc93b1ac218345d47ff468c282261a88fd4a86d356b81024535308bbb0ca", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xff18fc93b1ac218345d47ff468c282261a88fd4a86d356b81024535308bbb0ca", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x2a8611d0d87e773018798469ea28e2d918a7b7a6d22922eed042c03f2d0e0970", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x2a8611d0d87e773018798469ea28e2d918a7b7a6d22922eed042c03f2d0e0970", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x03a7b579" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "340282366920938463463374607427904514059", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + }, + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "3863697386", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "4503599627370495", + "code" : "0x5b61c3506080511015602b576000600061c3506000600362013178fa6000556001608051016080526000565b608051600155", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x5b61c3506080511015602b576000600061c3506000600362013178fa6000556001608051016080526000565b608051600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xcccf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x5b61c3506080511015602b576000600061c3506000600362013178fa6000526001608051016080526000565b608051602052", - "nonce" : "0x00", + "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", "storage" : { } } @@ -141,14 +92,14 @@ "0x000000000000000000000000cccf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "0xe9f2bf40" + "3925000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call50000_sha256.json b/GeneralStateTests/stStaticCall/static_Call50000_sha256.json index 89db7371a..3c0752cdd 100644 --- a/GeneralStateTests/stStaticCall/static_Call50000_sha256.json +++ b/GeneralStateTests/stStaticCall/static_Call50000_sha256.json @@ -2,135 +2,133 @@ "static_Call50000_sha256" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call50000_sha256Filler.json" }, "env" : { - "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0xe9f2bf40", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "3925000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x567dfc141047675ba9203a79fa7b198e2d596c57c3be2f57b06350c79d170196", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x567dfc141047675ba9203a79fa7b198e2d596c57c3be2f57b06350c79d170196", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x567dfc141047675ba9203a79fa7b198e2d596c57c3be2f57b06350c79d170196", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x567dfc141047675ba9203a79fa7b198e2d596c57c3be2f57b06350c79d170196", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x7b8fc9c5eca2d59970b573bbc1f8afbf53fc7af82823d86eee6f07cf071ed9ed", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x7b8fc9c5eca2d59970b573bbc1f8afbf53fc7af82823d86eee6f07cf071ed9ed", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "0000000000000000000000000000000000000002" : { + "shouldnotexist" : "1" + }, + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0xa0a4cfd2" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "340282366920938463463374607430538347108", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + }, + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1229864337", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "4503599627370505", + "code" : "0x5b61c3506080511015602b576000600061c3506000600262013178fa6000556001608051016080526000565b608051600155", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x01", + "0x01" : "0xc350" + } } } - ], - "Homestead" : [ - { - "hash" : "0x7b8fc9c5eca2d59970b573bbc1f8afbf53fc7af82823d86eee6f07cf071ed9ed", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x7b8fc9c5eca2d59970b573bbc1f8afbf53fc7af82823d86eee6f07cf071ed9ed", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xaf00fbc3ebd221608c528fe17d937e0fe5d2ba954bfc81e5e13167b21aeaa27d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x8952830477bfcf66f7fdf134884f209728e591666336e55700f994e76b5b3b16", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "0000000000000000000000000000000000000002" : { + "shouldnotexist" : "1" + }, + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0xaf89c117" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "340282366920938463463374607430788232105", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + }, + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "979979340", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "cccf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "4503599627370505", + "code" : "0x5b61c3506080511015602b576000600061c3506000600262013178fa6000526001608051016080526000565b608051602052", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x5b61c3506080511015602b576000600061c3506000600262013178fa6000556001608051016080526000565b608051600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xcccf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x5b61c3506080511015602b576000600061c3506000600262013178fa6000526001608051016080526000565b608051602052", - "nonce" : "0x00", + "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", "storage" : { } } @@ -141,14 +139,14 @@ "0x000000000000000000000000cccf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "0xe9f2bf40" + "3925000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_1.json b/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_1.json index 349decaba..271ce3887 100644 --- a/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_1.json +++ b/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_1.json @@ -2,149 +2,147 @@ "static_Call50000bytesContract50_1" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call50000bytesContract50_1Filler.json" }, "env" : { - "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0xcd79195900", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "882500000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x96a366cfe87cb1cb47987353e4d088bf7367830dc9b7e69fa047f9cc86856265", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x96a366cfe87cb1cb47987353e4d088bf7367830dc9b7e69fa047f9cc86856265", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x96a366cfe87cb1cb47987353e4d088bf7367830dc9b7e69fa047f9cc86856265", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x96a366cfe87cb1cb47987353e4d088bf7367830dc9b7e69fa047f9cc86856265", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xabb04dd35a37e4c301c300839a407015ab5e1653a4c35f31d5e7d8c99ae1f928", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xabb04dd35a37e4c301c300839a407015ab5e1653a4c35f31d5e7d8c99ae1f928", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x0335e44fe0" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "0x01", + "storage" : { + } + }, + "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "0x00", + "storage" : { + "0x00" : "0" + } + }, + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "868710963011", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "4503599627370495", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00" + } } } - ], - "Homestead" : [ - { - "hash" : "0xabb04dd35a37e4c301c300839a407015ab5e1653a4c35f31d5e7d8c99ae1f928", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xabb04dd35a37e4c301c300839a407015ab5e1653a4c35f31d5e7d8c99ae1f928", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x96a366cfe87cb1cb47987353e4d088bf7367830dc9b7e69fa047f9cc86856265", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xa08b43c3e259a8d3432cb92b7d2f0c640b484dfc455dc5289d1af966dca167b2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0xcd78bc6eb4" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "0x01", + "storage" : { + } + }, + "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "0x00", + "storage" : { + "0x00" : "0" + } + }, + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "6109295", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "4503599627370495", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xaaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", + "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xfffffffffffff", "code" : "0x6001600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600055", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x5b60326080511015603e57600060006000600073aaa50000fce5edbc8e2a8697c15331677e6ebf0b64148c1c2280fa6000556001608051016080526000565b608051600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xccc50000fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", + "ccc50000fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xfffffffffffff", "code" : "0x60016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016000", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xdddf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x5b60326080511015603e57600060006000600073ccc50000fce5edbc8e2a8697c15331677e6ebf0b64148c1c2280fa6000526001608051016080526000565b608051602052", - "nonce" : "0x00", + "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", "storage" : { } } @@ -155,14 +153,14 @@ "0x000000000000000000000000dddf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "0xcd79195900" + "882500000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_2.json b/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_2.json index 579264e48..6e5547c3f 100644 --- a/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_2.json +++ b/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_2.json @@ -2,149 +2,149 @@ "static_Call50000bytesContract50_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call50000bytesContract50_2Filler.json" }, "env" : { - "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0xcd79195900", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "882500000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x955239ba7847cdf99778a9da50a5de483a73660d210829f6894e5addc222aaec", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x955239ba7847cdf99778a9da50a5de483a73660d210829f6894e5addc222aaec", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x955239ba7847cdf99778a9da50a5de483a73660d210829f6894e5addc222aaec", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x955239ba7847cdf99778a9da50a5de483a73660d210829f6894e5addc222aaec", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xce4e697d0442234f6ec3061e9924768d192e5005fcbc0d8e10ab5906e755db4f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xce4e697d0442234f6ec3061e9924768d192e5005fcbc0d8e10ab5906e755db4f", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0xcd78ea34de" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "0x01", + "storage" : { + } + }, + "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x00" + } + }, + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "3109445", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "4503599627370495", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00" + } } } - ], - "Homestead" : [ - { - "hash" : "0xce4e697d0442234f6ec3061e9924768d192e5005fcbc0d8e10ab5906e755db4f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xce4e697d0442234f6ec3061e9924768d192e5005fcbc0d8e10ab5906e755db4f", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x955239ba7847cdf99778a9da50a5de483a73660d210829f6894e5addc222aaec", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xfa73e2e4d1985baf99d13a849df2143f6fb40276d76c2227f35db6d1fbcf4a0d", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x0335e44fe0" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "0x01", + "storage" : { + } + }, + "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x00" + } + }, + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "868710963011", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "4503599627370495", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xaaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", + "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xfffffffffffff", "code" : "0x60015b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101600055", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x5b60326080511015603e57600060006000600073aaa50000fce5edbc8e2a8697c15331677e6ebf0b64148c1c2280fa6000556001608051016080526000565b608051600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xccc50000fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", + "ccc50000fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xfffffffffffff", "code" : "0x60015b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xdddf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x5b60326080511015603e57600060006000600073ccc50000fce5edbc8e2a8697c15331677e6ebf0b64148c1c2280fa6000526001608051016080526000565b608051602052", - "nonce" : "0x00", + "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", "storage" : { } } @@ -155,14 +155,14 @@ "0x000000000000000000000000dddf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "0xcd79195900" + "882500000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_3.json b/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_3.json index 2733d8285..4cef8e3e6 100644 --- a/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_3.json +++ b/GeneralStateTests/stStaticCall/static_Call50000bytesContract50_3.json @@ -2,149 +2,147 @@ "static_Call50000bytesContract50_3" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Call50000bytesContract50_3Filler.json" }, "env" : { - "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0xcd79195900", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "882500000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x294b77ce0e9a6f9549623d925c7d6e5131a340d27326cb80fe7b86daf755c61d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x294b77ce0e9a6f9549623d925c7d6e5131a340d27326cb80fe7b86daf755c61d", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x294b77ce0e9a6f9549623d925c7d6e5131a340d27326cb80fe7b86daf755c61d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x294b77ce0e9a6f9549623d925c7d6e5131a340d27326cb80fe7b86daf755c61d", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x4da620110450866cb2b2c45dd9ae97131fb181039c05925a3465890a30169a00", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x4da620110450866cb2b2c45dd9ae97131fb181039c05925a3465890a30169a00", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x0335e44fe0" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "0x01", + "storage" : { + } + }, + "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "storage" : { + "0x00" : "0x00" + } + }, + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "868710963011", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "4503599627370495", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00" + } } } - ], - "Homestead" : [ - { - "hash" : "0x4da620110450866cb2b2c45dd9ae97131fb181039c05925a3465890a30169a00", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4da620110450866cb2b2c45dd9ae97131fb181039c05925a3465890a30169a00", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x294b77ce0e9a6f9549623d925c7d6e5131a340d27326cb80fe7b86daf755c61d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xbfeed8e5cef3e554409e2865e52faa420bca9eb0e8c86a5cc62d7567756357ad", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0xcd7914e148" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "0x01", + "storage" : { + } + }, + "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "storage" : { + "0x00" : "0x00" + } + }, + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "312795", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "4503599627370495", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xaaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", + "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xfffffffffffff", "code" : "0x600161da8e565b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101600055", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x5b60326080511015603e57600060006000600073aaa50000fce5edbc8e2a8697c15331677e6ebf0b64148c1c2280fa6000556001608051016080526000565b608051600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xccc50000fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", + "ccc50000fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xfffffffffffff", "code" : "0x600161da8e565b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xdddf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x5b60326080511015603e57600060006000600073ccc50000fce5edbc8e2a8697c15331677e6ebf0b64148c1c2280fa6000526001608051016080526000565b608051602052", - "nonce" : "0x00", + "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", "storage" : { } } @@ -155,14 +153,14 @@ "0x000000000000000000000000dddf5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "0xcd79195900" + "882500000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallAndCallcodeConsumeMoreGasThenTransactionHas.json b/GeneralStateTests/stStaticCall/static_CallAndCallcodeConsumeMoreGasThenTransactionHas.json index 2d65f1547..cc5aa2f45 100644 --- a/GeneralStateTests/stStaticCall/static_CallAndCallcodeConsumeMoreGasThenTransactionHas.json +++ b/GeneralStateTests/stStaticCall/static_CallAndCallcodeConsumeMoreGasThenTransactionHas.json @@ -2,149 +2,111 @@ "static_CallAndCallcodeConsumeMoreGasThenTransactionHas" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallAndCallcodeConsumeMoreGasThenTransactionHasFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x0a6c3402fe06dc0e6f70af7635a3456f263510a69a6793665402501ce48e57db", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x0a6c3402fe06dc0e6f70af7635a3456f263510a69a6793665402501ce48e57db", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x0a6c3402fe06dc0e6f70af7635a3456f263510a69a6793665402501ce48e57db", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x0a6c3402fe06dc0e6f70af7635a3456f263510a69a6793665402501ce48e57db", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x0a6c3402fe06dc0e6f70af7635a3456f263510a69a6793665402501ce48e57db", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x0a6c3402fe06dc0e6f70af7635a3456f263510a69a6793665402501ce48e57db", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000103" : { + "code" : "0x6012600055", + "nonce" : "0x00", + "storage" : { + } + }, + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0x00", + "0x08" : "0x00", + "0x09" : "0x00", + "0x0a" : "0x00" + } } } - ], - "Homestead" : [ - { - "hash" : "0x0a6c3402fe06dc0e6f70af7635a3456f263510a69a6793665402501ce48e57db", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x0a6c3402fe06dc0e6f70af7635a3456f263510a69a6793665402501ce48e57db", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x0a6c3402fe06dc0e6f70af7635a3456f263510a69a6793665402501ce48e57db", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x5ce6e42362f24ee3a630c7a5668b761f8d63f5e0bab65d3c0a31cf6a06877872", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "2000000000000000000000000000000000000103" : { + "code" : "0x6012600052", + "nonce" : "0x00", + "storage" : { + } + }, + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0x12", + "0x08" : "0x08aa2f", + "0x09" : "0x01", + "0x0a" : "0x01" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000103" : { - "balance" : "0x00", - "code" : "0x6012600055", - "nonce" : "0x00", + "1000000000000000000000000000000000000103" : { + "balance" : "0", + "code" : "{ (SSTORE 0 0x12) } ", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000103" : { - "balance" : "0x00", - "code" : "0x6012600052", - "nonce" : "0x00", + "2000000000000000000000000000000000000103" : { + "balance" : "0", + "code" : "{ (MSTORE 0 0x12) } ", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x5a6008556000600060006000731000000000000000000000000000000000000103620927c0fa60095560006000600060006000731000000000000000000000000000000000000103620927c0f2600a55", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x5a6008556000600060006000732000000000000000000000000000000000000103620927c0fa60095560006000600060006000731000000000000000000000000000000000000103620927c0f2600a55", - "nonce" : "0x00", + "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", "storage" : { } } @@ -155,14 +117,14 @@ "0x000000000000000000000000c94f5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "0x0927c0" + "600000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallAskMoreGasOnDepth2ThenTransactionHas.json b/GeneralStateTests/stStaticCall/static_CallAskMoreGasOnDepth2ThenTransactionHas.json index 4ed0da846..184e6a94f 100644 --- a/GeneralStateTests/stStaticCall/static_CallAskMoreGasOnDepth2ThenTransactionHas.json +++ b/GeneralStateTests/stStaticCall/static_CallAskMoreGasOnDepth2ThenTransactionHas.json @@ -2,163 +2,143 @@ "static_CallAskMoreGasOnDepth2ThenTransactionHas" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallAskMoreGasOnDepth2ThenTransactionHasFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xee649d3b09e8d08422f2077bb50db14b623db7f02c2991e9b791206e79e5f97f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee649d3b09e8d08422f2077bb50db14b623db7f02c2991e9b791206e79e5f97f", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xee649d3b09e8d08422f2077bb50db14b623db7f02c2991e9b791206e79e5f97f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee649d3b09e8d08422f2077bb50db14b623db7f02c2991e9b791206e79e5f97f", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xee649d3b09e8d08422f2077bb50db14b623db7f02c2991e9b791206e79e5f97f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xee649d3b09e8d08422f2077bb50db14b623db7f02c2991e9b791206e79e5f97f", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x04df0e" + } + }, + "1000000000000000000000000000000000000107" : { + "storage" : { + "0x08" : "0x00", + "0x09" : "0x00" + } + }, + "1000000000000000000000000000000000000108" : { + "storage" : { + "0x08" : "0x00" + } + }, + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x08" : "0x08aa2f", + "0x09" : "0x01" + } } } - ], - "Homestead" : [ - { - "hash" : "0xee649d3b09e8d08422f2077bb50db14b623db7f02c2991e9b791206e79e5f97f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee649d3b09e8d08422f2077bb50db14b623db7f02c2991e9b791206e79e5f97f", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x066e481908ced482d7be5c5ac447d6b0d8ff64b7a966492005b89fb80c9f47ea", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xefd7d763a79a55208a7d78abfa9b08c51adbab6d5c244817225fc13c6cbd41c6", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x07dd3b" + } + }, + "2000000000000000000000000000000000000107" : { + "storage" : { + "0x08" : "0x00", + "0x09" : "0x00" + } + }, + "2000000000000000000000000000000000000108" : { + "storage" : { + "0x08" : "0x00" + } + }, + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x08" : "0x08aa2f", + "0x09" : "0x01" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000107" : { - "balance" : "0x00", - "code" : "0x5a6008526000600060006000731000000000000000000000000000000000000108620927c0fa600952", - "nonce" : "0x00", + "1000000000000000000000000000000000000107" : { + "balance" : "0", + "code" : "{ (MSTORE 8 (GAS)) (MSTORE 9 (STATICCALL 600000 0x1000000000000000000000000000000000000108 0 0 0 0)) } ", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000108" : { - "balance" : "0x00", - "code" : "0x5a600855", - "nonce" : "0x00", + "1000000000000000000000000000000000000108" : { + "balance" : "0", + "code" : "{ (SSTORE 8 (GAS))} ", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000107" : { - "balance" : "0x00", - "code" : "0x5a6008526000600060006000732000000000000000000000000000000000000108620927c0fa600952", - "nonce" : "0x00", + "2000000000000000000000000000000000000107" : { + "balance" : "0", + "code" : "{ (MSTORE 8 (GAS)) (MSTORE 9 (STATICCALL 600000 0x2000000000000000000000000000000000000108 0 0 0 0)) } ", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000108" : { - "balance" : "0x00", - "code" : "0x5a600852", - "nonce" : "0x00", + "2000000000000000000000000000000000000108" : { + "balance" : "0", + "code" : "{ (MSTORE 8 (GAS))} ", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x5a600855600060006000600073100000000000000000000000000000000000010762030d40fa600955", - "nonce" : "0x00", + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (STATICCALL 200000 0x1000000000000000000000000000000000000107 0 0 0 0)) } ", + "nonce" : "0", "storage" : { } }, - "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x5a600855600060006000600073200000000000000000000000000000000000010762030d40fa600955", - "nonce" : "0x00", + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (STATICCALL 200000 0x2000000000000000000000000000000000000107 0 0 0 0)) } ", + "nonce" : "0", "storage" : { } } @@ -169,14 +149,14 @@ "0x000000000000000000000000c94f5374fce5edbc8e2a8697c15331677e6ebf0b" ], "gasLimit" : [ - "0x0927c0" + "600000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallContractToCreateContractAndCallItOOG.json b/GeneralStateTests/stStaticCall/static_CallContractToCreateContractAndCallItOOG.json index ba17acd3e..16ff1a8f4 100644 --- a/GeneralStateTests/stStaticCall/static_CallContractToCreateContractAndCallItOOG.json +++ b/GeneralStateTests/stStaticCall/static_CallContractToCreateContractAndCallItOOG.json @@ -2,121 +2,86 @@ "static_CallContractToCreateContractAndCallItOOG" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallContractToCreateContractAndCallItOOGFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x05f5e100", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "100000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x8f6166da7ff0b61763eb85f25c14764c14fcd106efd5f4fccc65bd6df8bb1893", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4721f9884714a841d6f824afaaa45256d898c7e4ebde40e49acaeffb7b930c0b", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x8f6166da7ff0b61763eb85f25c14764c14fcd106efd5f4fccc65bd6df8bb1893", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : 0, + "value" : -1 }, - { - "hash" : "0x4721f9884714a841d6f824afaaa45256d898c7e4ebde40e49acaeffb7b930c0b", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "nonce" : "1", + "storage" : { + "0x" : "0xd2571607e241ecf590ed94b12d87c94babe36db6", + "0x02" : "0x03" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" + }, + "d2571607e241ecf590ed94b12d87c94babe36db6" : { + "balance" : "1", + "nonce" : "1", + "storage" : { + "0x" : "0x0c" + } } } - ], - "Frontier" : [ - { - "hash" : "0x8f6166da7ff0b61763eb85f25c14764c14fcd106efd5f4fccc65bd6df8bb1893", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4721f9884714a841d6f824afaaa45256d898c7e4ebde40e49acaeffb7b930c0b", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x8f6166da7ff0b61763eb85f25c14764c14fcd106efd5f4fccc65bd6df8bb1893", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4721f9884714a841d6f824afaaa45256d898c7e4ebde40e49acaeffb7b930c0b", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xd8d75150011d6211cef6f1e60c35a9511b8828e49bc7b5449b71c17f0a730a21", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : -1, + "gas" : 1, + "value" : -1 }, - { - "hash" : "0x4721f9884714a841d6f824afaaa45256d898c7e4ebde40e49acaeffb7b930c0b", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "nonce" : "0", + "storage" : { + "0x" : "0x00", + "0x02" : "0x00" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" + }, + "d2571607e241ecf590ed94b12d87c94babe36db6" : { + "shouldnotexist" : "1" } } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x03e8", - "code" : "0x74600c60005566602060406000f060205260076039f36000526015600b6001f060005560006000600060006000546103e8fa506003600255", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x05f5e100", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "100000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -126,15 +91,15 @@ "0x00" ], "gasLimit" : [ - "0x0318f8", - "0x0186a0" + "203000", + "100000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallContractToCreateContractOOG.json b/GeneralStateTests/stStaticCall/static_CallContractToCreateContractOOG.json index 881138427..e994acf53 100644 --- a/GeneralStateTests/stStaticCall/static_CallContractToCreateContractOOG.json +++ b/GeneralStateTests/stStaticCall/static_CallContractToCreateContractOOG.json @@ -2,121 +2,53 @@ "static_CallContractToCreateContractOOG" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallContractToCreateContractOOGFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x05f5e100", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "100000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xe6d3e2bfd117cbb4f3e5efb274c2225866fd57d479aec8087c968c01b107a13e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe6d3e2bfd117cbb4f3e5efb274c2225866fd57d479aec8087c968c01b107a13e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "EIP158" : [ - { - "hash" : "0xe6d3e2bfd117cbb4f3e5efb274c2225866fd57d479aec8087c968c01b107a13e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe6d3e2bfd117cbb4f3e5efb274c2225866fd57d479aec8087c968c01b107a13e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Frontier" : [ - { - "hash" : "0xe6d3e2bfd117cbb4f3e5efb274c2225866fd57d479aec8087c968c01b107a13e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe6d3e2bfd117cbb4f3e5efb274c2225866fd57d479aec8087c968c01b107a13e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Homestead" : [ - { - "hash" : "0xe6d3e2bfd117cbb4f3e5efb274c2225866fd57d479aec8087c968c01b107a13e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe6d3e2bfd117cbb4f3e5efb274c2225866fd57d479aec8087c968c01b107a13e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x2c79134a97727093a4682fbc2e9204c3fb28e2e3903d9c4f841928fee064e9b9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : 0 }, - { - "hash" : "0xc84a0708c5f3ddc2f1dd5b9320bd8a3efffb56263427c8a10bb4622caac36f42", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "nonce" : "0", + "storage" : { + "0x00" : "0x00" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" } } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x00", - "code" : "0x74600c60005566602060406000f060205260076039f36000526015600b6001f060005560006000600060006000546000fa", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x05f5e100", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "100000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -126,15 +58,15 @@ "0x00" ], "gasLimit" : [ - "0x01312d00" + "20000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x00", - "0x01" + "0", + "1" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallContractToCreateContractOOGBonusGas.json b/GeneralStateTests/stStaticCall/static_CallContractToCreateContractOOGBonusGas.json index e12eb93a7..3a3e95208 100644 --- a/GeneralStateTests/stStaticCall/static_CallContractToCreateContractOOGBonusGas.json +++ b/GeneralStateTests/stStaticCall/static_CallContractToCreateContractOOGBonusGas.json @@ -2,121 +2,61 @@ "static_CallContractToCreateContractOOGBonusGas" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallContractToCreateContractOOGBonusGasFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x05f5e100", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "100000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x1833caf5b1e23a775de29ded27015b6598b721d92a72ab1bdaa22b5491199434", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : 0, + "value" : -1 }, - { - "hash" : "0x6c6e760c271196e6252fda373ba04015f987efac67b193d315c29a1fc84876bf", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "nonce" : "1", + "storage" : { + "0x" : "0xd2571607e241ecf590ed94b12d87c94babe36db6" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" + }, + "d2571607e241ecf590ed94b12d87c94babe36db6" : { + "balance" : "1", + "nonce" : "1", + "storage" : { + "0x" : "0x0c", + "0x01" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0x1833caf5b1e23a775de29ded27015b6598b721d92a72ab1bdaa22b5491199434", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x6c6e760c271196e6252fda373ba04015f987efac67b193d315c29a1fc84876bf", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x1833caf5b1e23a775de29ded27015b6598b721d92a72ab1bdaa22b5491199434", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x6c6e760c271196e6252fda373ba04015f987efac67b193d315c29a1fc84876bf", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x1833caf5b1e23a775de29ded27015b6598b721d92a72ab1bdaa22b5491199434", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x6c6e760c271196e6252fda373ba04015f987efac67b193d315c29a1fc84876bf", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x0f69087f9bc865b8d937ded93ecbcbe2ada8f0cd6a589a46e5103ce60a47efe9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x6c6e760c271196e6252fda373ba04015f987efac67b193d315c29a1fc84876bf", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x70", - "code" : "0x74600c60005566602060406000f060205260076039f36000526015600b6001f060005560006000600060006000546000fa600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x05f5e100", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "100000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -126,15 +66,15 @@ "0x00" ], "gasLimit" : [ - "0x01312d00", - "0x013880" + "20000000", + "80000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallContractToCreateContractWhichWouldCreateContractIfCalled.json b/GeneralStateTests/stStaticCall/static_CallContractToCreateContractWhichWouldCreateContractIfCalled.json index 506b28b48..e3967d1d8 100644 --- a/GeneralStateTests/stStaticCall/static_CallContractToCreateContractWhichWouldCreateContractIfCalled.json +++ b/GeneralStateTests/stStaticCall/static_CallContractToCreateContractWhichWouldCreateContractIfCalled.json @@ -2,81 +2,64 @@ "static_CallContractToCreateContractWhichWouldCreateContractIfCalled" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallContractToCreateContractWhichWouldCreateContractIfCalledFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x05f5e100", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "100000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x4ed4b9a23923def65a28b6f44c715fdf9b1a3f502effa0d25aff3101febbc9aa", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "nonce" : "1", + "storage" : { + "0x" : "0xd2571607e241ecf590ed94b12d87c94babe36db6", + "0x01" : "0x00" + } + }, + "62c01474f089b07dae603491675dc5b5748f7049" : { + "shouldnotexist" : "1" + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" + }, + "d2571607e241ecf590ed94b12d87c94babe36db6" : { + "balance" : "1", + "nonce" : "1", + "storage" : { + "0x" : "0x0c" + } } } - ], - "EIP158" : [ - { - "hash" : "0x4ed4b9a23923def65a28b6f44c715fdf9b1a3f502effa0d25aff3101febbc9aa", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x4ed4b9a23923def65a28b6f44c715fdf9b1a3f502effa0d25aff3101febbc9aa", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x4ed4b9a23923def65a28b6f44c715fdf9b1a3f502effa0d25aff3101febbc9aa", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x3a475fd5fd5f08047e26b671f03fa069825fd9e877c83b287c47a0a9837034be", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x03e8", - "code" : "0x74600c60005566602060406000f060205260076039f36000526015600b6001f06000556000600060006000600054620249f0fa600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x05f5e100", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "100000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +69,14 @@ "0x00" ], "gasLimit" : [ - "0x01312d00" + "20000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover0.json b/GeneralStateTests/stStaticCall/static_CallEcrecover0.json index 1b6d01d8c..cadfabfa5 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover0.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover0.json @@ -2,81 +2,50 @@ "static_CallEcrecover0" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xd3d0c3e0d212e68f4aaa7a62f0bb7cbe61479e8e1e12371cff0d6f197cfb0d46", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0x01" : "0x01", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0xd3d0c3e0d212e68f4aaa7a62f0bb7cbe61479e8e1e12371cff0d6f197cfb0d46", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xd3d0c3e0d212e68f4aaa7a62f0bb7cbe61479e8e1e12371cff0d6f197cfb0d46", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xd3d0c3e0d212e68f4aaa7a62f0bb7cbe61479e8e1e12371cff0d6f197cfb0d46", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xc0766cd711cce47df53c541286ef89a59c3f52b7c7fdc2850cbe9f0d15ef1713", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001620493e0fa60025560a060020a608051066000556000543214600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +55,14 @@ "" ], "gasLimit" : [ - "0x37ba90" + "3652240" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover0_0input.json b/GeneralStateTests/stStaticCall/static_CallEcrecover0_0input.json index db84ed2b0..a0926ab55 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover0_0input.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover0_0input.json @@ -2,401 +2,91 @@ "static_CallEcrecover0_0input" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_0inputFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 5, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 6, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 7, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 8, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : [ + 0, + 1, + 4, + 5, + 6, + 7 + ], + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 5, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 6, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 7, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 8, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 5, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 6, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 7, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 8, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 5, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 6, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 7, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x784e3abf6a1381aed9558fdefd5c9f2a1da92b2d160a834db7059457f5ae1442", - "indexes" : { - "data" : 8, - "gas" : 0, - "value" : 0 + }, + { + "indexes" : { + "data" : 2, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x8209944e898f69a7bd10a23c839d341e935fd5ca", + "0x02" : "0x01" + } } } - ], - "Metropolis" : [ - { - "hash" : "0x794950976edb121cd1626b45c4fc36f6e9c44d9e7078a0acfdcf6ef910bca734", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x7d503624720a6974d9588a28eab7896b9bc14d484c56b4538ec812e7b322adb4", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xf10664ff0a360ebb02a35201a66cfc657c05304409a40d397701ed92857980f0", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xd629f52badfd7e7e68ec7e6b5dcd80e3cb3bcc43813356a8403c3b4ff654868e", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x364749f521a758206366bbff9951ebd16918d121b934dad81afbbe6ef0aa258b", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x75887223f82ad361cc605efc418c8c6102d0e7764cebe727326e07eaa9f508cd", - "indexes" : { - "data" : 5, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xde7533eb5b5755c5716216a5af1efb01956d31c58cf0320af5a3b7459e7b8a54", - "indexes" : { - "data" : 6, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa5e31ee199e2bcb29ec91bcdfa7f12fb60afdab24f6a603e85dcd255fa6e0878", - "indexes" : { - "data" : 7, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x9de823ff33e4edd133a73db899d5a4741c247c8c2c9f10235f4c652b6b2abb49", - "indexes" : { - "data" : 8, - "gas" : 0, - "value" : 0 + }, + { + "indexes" : { + "data" : 3, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x4300a157335cb7c9fc9423e011d7dd51090d093f", + "0x02" : "0x01" + } } } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x6020608060806000600035620493e0fa60025560a060020a60805106600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ [[ 2 ]] (STATICCALL 300000 (CALLDATALOAD 0) 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -414,14 +104,14 @@ "0x0000000000000000000000000000000000000000000000000000000000000008" ], "gasLimit" : [ - "0x37ba90" + "3652240" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover0_Gas2999.json b/GeneralStateTests/stStaticCall/static_CallEcrecover0_Gas2999.json index 52df93154..2f6b593fe 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover0_Gas2999.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover0_Gas2999.json @@ -2,81 +2,48 @@ "static_CallEcrecover0_Gas2999" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_Gas2999Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xb23471978477f13dc35c7527021fd0aeacc7960276dad90167ebdd32b9397b18", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x02" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0xb23471978477f13dc35c7527021fd0aeacc7960276dad90167ebdd32b9397b18", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xb23471978477f13dc35c7527021fd0aeacc7960276dad90167ebdd32b9397b18", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xb23471978477f13dc35c7527021fd0aeacc7960276dad90167ebdd32b9397b18", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x6fa90f22647b5de361cbbf884ac9371af5217e477a73a87a6de5acd4eb7d55ed", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001610bb7fa60025560a060020a608051066000556000543214600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +53,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover0_NoGas.json b/GeneralStateTests/stStaticCall/static_CallEcrecover0_NoGas.json index 8a4c08c88..f0fd9ae25 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover0_NoGas.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover0_NoGas.json @@ -2,81 +2,46 @@ "static_CallEcrecover0_NoGas" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_NoGasFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xd55da515effa2d9ec777f9e25e7e96730b25b52037f9b1b941c2405eecaccf68", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : { + "balance" : "37063" } } - ], - "EIP158" : [ - { - "hash" : "0xd55da515effa2d9ec777f9e25e7e96730b25b52037f9b1b941c2405eecaccf68", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xd55da515effa2d9ec777f9e25e7e96730b25b52037f9b1b941c2405eecaccf68", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xd55da515effa2d9ec777f9e25e7e96730b25b52037f9b1b941c2405eecaccf68", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xa3d80dd4832c8359f2fac4635f36c90b2850deba982b96eccd67a76ab0976359", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549606052602060806080600060016000fa60025560a060020a608051066000556000543214600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +51,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover0_completeReturnValue.json b/GeneralStateTests/stStaticCall/static_CallEcrecover0_completeReturnValue.json index b8f7e6324..dd7d1981d 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover0_completeReturnValue.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover0_completeReturnValue.json @@ -2,81 +2,49 @@ "static_CallEcrecover0_completeReturnValue" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_completeReturnValueFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x7ef407e23e9b2d0af6706bad476d954944a694e6cd9b5d97fe11a0114705aee2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x7ef407e23e9b2d0af6706bad476d954944a694e6cd9b5d97fe11a0114705aee2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x7ef407e23e9b2d0af6706bad476d954944a694e6cd9b5d97fe11a0114705aee2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x7ef407e23e9b2d0af6706bad476d954944a694e6cd9b5d97fe11a0114705aee2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xbc559a36c4aadc916353ea77a592eb8543ea5e5c7dbdb503a3d5905bd23e07d9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549606052602060806080600060016132c8fa600255608051600055", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +54,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover0_gas3000.json b/GeneralStateTests/stStaticCall/static_CallEcrecover0_gas3000.json index df57840d7..758c8442b 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover0_gas3000.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover0_gas3000.json @@ -2,81 +2,50 @@ "static_CallEcrecover0_gas3000" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_gas3000Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x74c17117e3a62f421dab40b801e2f47b39ebb858c3019e26c686e1d3bbacbea0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0x01" : "0x01", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x74c17117e3a62f421dab40b801e2f47b39ebb858c3019e26c686e1d3bbacbea0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x74c17117e3a62f421dab40b801e2f47b39ebb858c3019e26c686e1d3bbacbea0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x74c17117e3a62f421dab40b801e2f47b39ebb858c3019e26c686e1d3bbacbea0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x9cfc00bb65264d168cd7f2d5a3e365c9990fb3c02759217096ed0c3c98395ccb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001610bb8fa60025560a060020a608051066000556000543214600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +55,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover0_overlappingInputOutput.json b/GeneralStateTests/stStaticCall/static_CallEcrecover0_overlappingInputOutput.json index 13bd5c64b..83b0f82aa 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover0_overlappingInputOutput.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover0_overlappingInputOutput.json @@ -2,81 +2,50 @@ "static_CallEcrecover0_overlappingInputOutput" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_overlappingInputOutputFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x4b0269553ddbb2fba201b6f7d9260956a9553f46db71647f9955ac257dff23a4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0x01" : "0x01", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x4b0269553ddbb2fba201b6f7d9260956a9553f46db71647f9955ac257dff23a4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x4b0269553ddbb2fba201b6f7d9260956a9553f46db71647f9955ac257dff23a4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x4b0269553ddbb2fba201b6f7d9260956a9553f46db71647f9955ac257dff23a4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x5d5bf7358392768035de3ebfec5f5f4fd5ff3c43f23b06b6717c5869ec6eb39d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206040608060006001620493e0fa60025560a060020a604051066000556000543214600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +55,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover1.json b/GeneralStateTests/stStaticCall/static_CallEcrecover1.json index 8d7e11668..8521500cd 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover1.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover1.json @@ -2,81 +2,48 @@ "static_CallEcrecover1" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover1Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xe7403c3f365e18a1f58fe766d90a32ab499e29b3997f368f050693b491a7d8fb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0xe7403c3f365e18a1f58fe766d90a32ab499e29b3997f368f050693b491a7d8fb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xe7403c3f365e18a1f58fe766d90a32ab499e29b3997f368f050693b491a7d8fb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xe7403c3f365e18a1f58fe766d90a32ab499e29b3997f368f050693b491a7d8fb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xe9fcb7c8aeb3a2eca513fd41fa5948e750bd53e52d12acd328545570f24c1621", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c60005260016020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001620186a0fa60025560a060020a608051066000556000543214600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +53,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover2.json b/GeneralStateTests/stStaticCall/static_CallEcrecover2.json index 61245a34d..27c52e132 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover2.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover2.json @@ -2,81 +2,48 @@ "static_CallEcrecover2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x7467f46cbe95422bec05b8baf48bc85ff59ca9b5a852d41db9747f13cc2ce5d5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x7467f46cbe95422bec05b8baf48bc85ff59ca9b5a852d41db9747f13cc2ce5d5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x7467f46cbe95422bec05b8baf48bc85ff59ca9b5a852d41db9747f13cc2ce5d5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x7467f46cbe95422bec05b8baf48bc85ff59ca9b5a852d41db9747f13cc2ce5d5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x9cc5d9fe55255b87ef719275720c571563f288a3b4687af9774e848d64a26278", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6021527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960415260206061606160006001620186a0fa60025560a060020a606151066000556000543214600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +53,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover3.json b/GeneralStateTests/stStaticCall/static_CallEcrecover3.json index dc4119b63..227a11388 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover3.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover3.json @@ -2,81 +2,49 @@ "static_CallEcrecover3" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover3Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xb1eb37db02f3e7d25cf8b136924188aaf271ba3a007d51f72c972a0c1eac3ac7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0xe4319f4b631c6d0fcfc84045dbcb676865fe5e13", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0xb1eb37db02f3e7d25cf8b136924188aaf271ba3a007d51f72c972a0c1eac3ac7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xb1eb37db02f3e7d25cf8b136924188aaf271ba3a007d51f72c972a0c1eac3ac7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xb1eb37db02f3e7d25cf8b136924188aaf271ba3a007d51f72c972a0c1eac3ac7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x1685532268a67f09a17e141fa589007ffa95e0f50c36eee15aeb704b338ad638", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7f2f380a2dea7e778d81affc2443403b8fe4644db442ae4862ff5bb3732829cdb9600052601b6020527f6b65ccb0558806e9b097f27a396d08f964e37b8b7af6ceeb516ff86739fbea0a6040527f37cbc8d883e129a4b1ef9d5f1df53c4f21a3ef147cf2a50a4ede0eb06ce092d460605260206080608060006001620186a0fa60025560a060020a608051066000556000543214600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +54,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecover80.json b/GeneralStateTests/stStaticCall/static_CallEcrecover80.json index 533d35817..04d824c8e 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecover80.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecover80.json @@ -2,81 +2,50 @@ "static_CallEcrecover80" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover80Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x44a1b610eec16ce7ca34fa2bb4c01f130e614c433a05b0881516faed1b8e9571", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x00", + "0x01" : "0x00", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x44a1b610eec16ce7ca34fa2bb4c01f130e614c433a05b0881516faed1b8e9571", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x44a1b610eec16ce7ca34fa2bb4c01f130e614c433a05b0881516faed1b8e9571", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x44a1b610eec16ce7ca34fa2bb4c01f130e614c433a05b0881516faed1b8e9571", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xc9596250ac5dedb939b53d53c94c12f9a18c934411bc1200a50d3a2f9a992aaf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7ec547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527eb1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527eb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001620493e0fa60025560a060020a608051066000556000543214600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +55,14 @@ "" ], "gasLimit" : [ - "0x37ba90" + "3652240" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecoverCheckLength.json b/GeneralStateTests/stStaticCall/static_CallEcrecoverCheckLength.json index 6218fa3b0..7d262ef89 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecoverCheckLength.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecoverCheckLength.json @@ -2,81 +2,50 @@ "static_CallEcrecoverCheckLength" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverCheckLengthFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xc4a9112f901b7345614d1a6c57ffc7537f8968d68a77bfcd9920594dab2496e0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0x01" : "0xa0", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0xc4a9112f901b7345614d1a6c57ffc7537f8968d68a77bfcd9920594dab2496e0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xc4a9112f901b7345614d1a6c57ffc7537f8968d68a77bfcd9920594dab2496e0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xc4a9112f901b7345614d1a6c57ffc7537f8968d68a77bfcd9920594dab2496e0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x73cadf7d1d0827e0171a688c6719a6a59375ca75e576a20639aa7940288a0562", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7f11223344556677889900112233445566778899001122334455667788990011226080527f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001620493e0fa60025560805160005559600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +55,14 @@ "" ], "gasLimit" : [ - "0x37ba90" + "3652240" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecoverCheckLengthWrongV.json b/GeneralStateTests/stStaticCall/static_CallEcrecoverCheckLengthWrongV.json index 38d7fc6ea..f8f52d981 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecoverCheckLengthWrongV.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecoverCheckLengthWrongV.json @@ -2,81 +2,50 @@ "static_CallEcrecoverCheckLengthWrongV" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverCheckLengthWrongVFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xd9492fcbae9f5da4bd07c2866a3f0b2925f72319d15786ce957f7aafc60b06eb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x1122334455667788990011223344556677889900112233445566778899001122", + "0x01" : "0xa0", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0xd9492fcbae9f5da4bd07c2866a3f0b2925f72319d15786ce957f7aafc60b06eb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xd9492fcbae9f5da4bd07c2866a3f0b2925f72319d15786ce957f7aafc60b06eb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xd9492fcbae9f5da4bd07c2866a3f0b2925f72319d15786ce957f7aafc60b06eb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x87ab171207323f141ccf06a0a693079d22efa8c115e236bab3966c27e539af94", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7f11223344556677889900112233445566778899001122334455667788990011226080527f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601d6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001620493e0fa60025560805160005559600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +55,14 @@ "" ], "gasLimit" : [ - "0x37ba90" + "3652240" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecoverH_prefixed0.json b/GeneralStateTests/stStaticCall/static_CallEcrecoverH_prefixed0.json index da9790187..0c3764512 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecoverH_prefixed0.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecoverH_prefixed0.json @@ -2,81 +2,50 @@ "static_CallEcrecoverH_prefixed0" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverH_prefixed0Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x51aa88b7ca76289d0112ae25f821b14742592e7b8af9e5fffc34259cd9e9aecf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0xa0b29af6a56d6cfef6415cb195ccbe540e006d0a", + "0x01" : "0x00", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x51aa88b7ca76289d0112ae25f821b14742592e7b8af9e5fffc34259cd9e9aecf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x51aa88b7ca76289d0112ae25f821b14742592e7b8af9e5fffc34259cd9e9aecf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x51aa88b7ca76289d0112ae25f821b14742592e7b8af9e5fffc34259cd9e9aecf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x082d7580151247cee75756efdd6fa50d8a849aac0cfebc129b09d3266832c641", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7ec547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001620493e0fa60025560a060020a608051066000556000543214600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +55,14 @@ "" ], "gasLimit" : [ - "0x37ba90" + "3652240" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecoverR_prefixed0.json b/GeneralStateTests/stStaticCall/static_CallEcrecoverR_prefixed0.json index 768cc6cd6..c743e0979 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecoverR_prefixed0.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecoverR_prefixed0.json @@ -2,81 +2,50 @@ "static_CallEcrecoverR_prefixed0" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverR_prefixed0Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xad2775bf3d515f319e463edf23d7a32584f9a2a313be644247d249b31cb0e688", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x00", + "0x01" : "0x00", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0xad2775bf3d515f319e463edf23d7a32584f9a2a313be644247d249b31cb0e688", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xad2775bf3d515f319e463edf23d7a32584f9a2a313be644247d249b31cb0e688", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xad2775bf3d515f319e463edf23d7a32584f9a2a313be644247d249b31cb0e688", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x3493319c47a153a206c9ee150d17d8cdfbc8c18f8d3e0c3c947f8c2e3279e884", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527eb1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001620493e0fa60025560a060020a608051066000556000543214600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +55,14 @@ "" ], "gasLimit" : [ - "0x37ba90" + "3652240" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecoverS_prefixed0.json b/GeneralStateTests/stStaticCall/static_CallEcrecoverS_prefixed0.json index 015418541..e3d31c72d 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecoverS_prefixed0.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecoverS_prefixed0.json @@ -2,81 +2,50 @@ "static_CallEcrecoverS_prefixed0" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverS_prefixed0Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x3879d91fd473a97fca256ab5fb364bf508072fab0ce0400de47122f08a513c28", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0xb4950a7fad428434b11c357fa6d4b4bcd3096a5d", + "0x01" : "0x00", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x3879d91fd473a97fca256ab5fb364bf508072fab0ce0400de47122f08a513c28", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x3879d91fd473a97fca256ab5fb364bf508072fab0ce0400de47122f08a513c28", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x3879d91fd473a97fca256ab5fb364bf508072fab0ce0400de47122f08a513c28", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xb1cc5901800a268c027f54d1b870bceef81d12e4cadae0a1eaf4a23184e123ba", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527eb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001620493e0fa60025560a060020a608051066000556000543214600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +55,14 @@ "" ], "gasLimit" : [ - "0x37ba90" + "3652240" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallEcrecoverV_prefixed0.json b/GeneralStateTests/stStaticCall/static_CallEcrecoverV_prefixed0.json index a04e7a6e2..aca7c44b1 100644 --- a/GeneralStateTests/stStaticCall/static_CallEcrecoverV_prefixed0.json +++ b/GeneralStateTests/stStaticCall/static_CallEcrecoverV_prefixed0.json @@ -2,81 +2,50 @@ "static_CallEcrecoverV_prefixed0" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverV_prefixed0Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xd3d0c3e0d212e68f4aaa7a62f0bb7cbe61479e8e1e12371cff0d6f197cfb0d46", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0x01" : "0x01", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0xd3d0c3e0d212e68f4aaa7a62f0bb7cbe61479e8e1e12371cff0d6f197cfb0d46", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xd3d0c3e0d212e68f4aaa7a62f0bb7cbe61479e8e1e12371cff0d6f197cfb0d46", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xd3d0c3e0d212e68f4aaa7a62f0bb7cbe61479e8e1e12371cff0d6f197cfb0d46", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xc0766cd711cce47df53c541286ef89a59c3f52b7c7fdc2850cbe9f0d15ef1713", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7f18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c600052601c6020527f73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f6040527feeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c454960605260206080608060006001620493e0fa60025560a060020a608051066000556000543214600155", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +55,14 @@ "" ], "gasLimit" : [ - "0x37ba90" + "3652240" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallGoesOOGOnSecondLevel.json b/GeneralStateTests/stStaticCall/static_CallGoesOOGOnSecondLevel.json index ccf0598c4..37b7d3124 100644 --- a/GeneralStateTests/stStaticCall/static_CallGoesOOGOnSecondLevel.json +++ b/GeneralStateTests/stStaticCall/static_CallGoesOOGOnSecondLevel.json @@ -2,95 +2,69 @@ "static_CallGoesOOGOnSecondLevel" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallGoesOOGOnSecondLevelFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xc8c5e72520501c7c79d4743428d8a56185862a68ef0effe80e329a3acce1c323", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000110" : { + "storage" : { + } + }, + "1000000000000000000000000000000000000111" : { + "storage" : { + } + }, + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + } } } - ], - "EIP158" : [ - { - "hash" : "0xc8c5e72520501c7c79d4743428d8a56185862a68ef0effe80e329a3acce1c323", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xc8c5e72520501c7c79d4743428d8a56185862a68ef0effe80e329a3acce1c323", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xc8c5e72520501c7c79d4743428d8a56185862a68ef0effe80e329a3acce1c323", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xc8c5e72520501c7c79d4743428d8a56185862a68ef0effe80e329a3acce1c323", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000110" : { - "balance" : "0x00", - "code" : "0x5a6008526000600060006000731000000000000000000000000000000000000111620927c0fa600952", - "nonce" : "0x00", + "1000000000000000000000000000000000000110" : { + "balance" : "0", + "code" : "{ (MSTORE 8 (GAS)) (MSTORE 9 (STATICCALL 600000 0x1000000000000000000000000000000000000111 0 0 0 0)) } ", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000111" : { - "balance" : "0x00", - "code" : "0x600060006000f050600060006000f0", - "nonce" : "0x00", + "1000000000000000000000000000000000000111" : { + "balance" : "0", + "code" : "{ (CREATE 0 0 0) (CREATE 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x6000600060006000731000000000000000000000000000000000000110620927c0fa6009555a600a55", - "nonce" : "0x00", + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "code" : "{ (SSTORE 9 (STATICCALL 600000 0x1000000000000000000000000000000000000110 0 0 0 0)) [[ 10 ]] (GAS) } ", + "nonce" : "0", "storage" : { } } @@ -100,14 +74,14 @@ "" ], "gasLimit" : [ - "0x035b60" + "220000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallGoesOOGOnSecondLevel2.json b/GeneralStateTests/stStaticCall/static_CallGoesOOGOnSecondLevel2.json index cceb07937..1f9578c18 100644 --- a/GeneralStateTests/stStaticCall/static_CallGoesOOGOnSecondLevel2.json +++ b/GeneralStateTests/stStaticCall/static_CallGoesOOGOnSecondLevel2.json @@ -2,142 +2,70 @@ "static_CallGoesOOGOnSecondLevel2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallGoesOOGOnSecondLevel2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xce2efed7e8fcca50548d61fa5c1ee71d8243b2065c2339414ba4dc2af3df9246", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xce2efed7e8fcca50548d61fa5c1ee71d8243b2065c2339414ba4dc2af3df9246", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xce2efed7e8fcca50548d61fa5c1ee71d8243b2065c2339414ba4dc2af3df9246", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xce2efed7e8fcca50548d61fa5c1ee71d8243b2065c2339414ba4dc2af3df9246", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xce2efed7e8fcca50548d61fa5c1ee71d8243b2065c2339414ba4dc2af3df9246", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xce2efed7e8fcca50548d61fa5c1ee71d8243b2065c2339414ba4dc2af3df9246", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xce2efed7e8fcca50548d61fa5c1ee71d8243b2065c2339414ba4dc2af3df9246", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xce2efed7e8fcca50548d61fa5c1ee71d8243b2065c2339414ba4dc2af3df9246", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xce2efed7e8fcca50548d61fa5c1ee71d8243b2065c2339414ba4dc2af3df9246", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xce2efed7e8fcca50548d61fa5c1ee71d8243b2065c2339414ba4dc2af3df9246", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000113" : { - "balance" : "0x00", - "code" : "0x5a6008526000600060006000600035620927c0fa600952", - "nonce" : "0x00", + "1000000000000000000000000000000000000113" : { + "balance" : "0", + "code" : "{ (MSTORE 8 (GAS)) (MSTORE 9 (STATICCALL 600000 (CALLDATALOAD 0) 0 0 0 0)) } ", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000114" : { - "balance" : "0x00", - "code" : "0x6001600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000114" : { + "balance" : "0", + "code" : "{ (SSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000114" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "2000000000000000000000000000000000000114" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x6000356000526000600060206000731000000000000000000000000000000000000113620927c0fa6000555a600155", - "nonce" : "0x00", + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 600000 0x1000000000000000000000000000000000000113 0 32 0 0) [[ 1 ]] (GAS) } ", + "nonce" : "0", "storage" : { } } @@ -148,14 +76,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000114" ], "gasLimit" : [ - "0x027100" + "160000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallIdentitiy_1.json b/GeneralStateTests/stStaticCall/static_CallIdentitiy_1.json index 56345c4bd..8751ed3f9 100644 --- a/GeneralStateTests/stStaticCall/static_CallIdentitiy_1.json +++ b/GeneralStateTests/stStaticCall/static_CallIdentitiy_1.json @@ -2,81 +2,49 @@ "static_CallIdentitiy_1" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentitiy_1Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x1b309cfbb8f1c485c76cf0521e98ed893e6f59b0f058fed1ccc7d62b26877c8f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x00", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x1b309cfbb8f1c485c76cf0521e98ed893e6f59b0f058fed1ccc7d62b26877c8f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x1b309cfbb8f1c485c76cf0521e98ed893e6f59b0f058fed1ccc7d62b26877c8f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x1b309cfbb8f1c485c76cf0521e98ed893e6f59b0f058fed1ccc7d62b26877c8f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x563561c079e52958143982b134dc2394b40365344cc662c606fc029e3fe03aef", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x602060006000600060046101f4fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ [[ 2 ]] (STATICCALL 500 4 0 0 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +54,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallIdentity_1_nonzeroValue.json b/GeneralStateTests/stStaticCall/static_CallIdentity_1_nonzeroValue.json index c2c9194ae..fc3253da3 100644 --- a/GeneralStateTests/stStaticCall/static_CallIdentity_1_nonzeroValue.json +++ b/GeneralStateTests/stStaticCall/static_CallIdentity_1_nonzeroValue.json @@ -2,81 +2,52 @@ "static_CallIdentity_1_nonzeroValue" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_1_nonzeroValueFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x05f5e100", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "100000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xdc7c1a80c53ad8ce60499122eaeacf8981d19145b7d17ac65feec14b3aea5bf4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "0000000000000000000000000000000000000004" : { + "balance" : "19" + }, + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x00", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0xdc7c1a80c53ad8ce60499122eaeacf8981d19145b7d17ac65feec14b3aea5bf4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xdc7c1a80c53ad8ce60499122eaeacf8981d19145b7d17ac65feec14b3aea5bf4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xdc7c1a80c53ad8ce60499122eaeacf8981d19145b7d17ac65feec14b3aea5bf4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x1acc91cf37d1f793279b255ade1a18876a2ea1405507f6c41a92ec3454d9b8b9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0bebc200", - "code" : "0x6020600060006000600462030d40fa60025560006000600060006013600461c350f150600051600055", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +57,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallIdentity_2.json b/GeneralStateTests/stStaticCall/static_CallIdentity_2.json index 89f3969c8..97c6ce167 100644 --- a/GeneralStateTests/stStaticCall/static_CallIdentity_2.json +++ b/GeneralStateTests/stStaticCall/static_CallIdentity_2.json @@ -2,81 +2,49 @@ "static_CallIdentity_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x738c718ae5c02cbbae1885055503cf2cc3eb105c91ba4881fee772c7c1946403", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x000000000000000000000000000000000000000000000000000000f34578907f", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x738c718ae5c02cbbae1885055503cf2cc3eb105c91ba4881fee772c7c1946403", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x738c718ae5c02cbbae1885055503cf2cc3eb105c91ba4881fee772c7c1946403", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x738c718ae5c02cbbae1885055503cf2cc3eb105c91ba4881fee772c7c1946403", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x5e349a2a63c9b5d787d135c31196e9d4d372d53014c5b61d70f15b677f2de457", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x64f34578907f600052602060006025600060046101f4fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 0 0xf34578907f) [[ 2 ]] (STATICCALL 500 4 0 37 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +54,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallIdentity_3.json b/GeneralStateTests/stStaticCall/static_CallIdentity_3.json index 843d0f451..c2caad7df 100644 --- a/GeneralStateTests/stStaticCall/static_CallIdentity_3.json +++ b/GeneralStateTests/stStaticCall/static_CallIdentity_3.json @@ -2,81 +2,49 @@ "static_CallIdentity_3" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_3Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x738c718ae5c02cbbae1885055503cf2cc3eb105c91ba4881fee772c7c1946403", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x000000000000000000000000000000000000000000000000000000f34578907f", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x738c718ae5c02cbbae1885055503cf2cc3eb105c91ba4881fee772c7c1946403", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x738c718ae5c02cbbae1885055503cf2cc3eb105c91ba4881fee772c7c1946403", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x738c718ae5c02cbbae1885055503cf2cc3eb105c91ba4881fee772c7c1946403", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x5e349a2a63c9b5d787d135c31196e9d4d372d53014c5b61d70f15b677f2de457", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x64f34578907f600052602060006025600060046101f4fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 0 0xf34578907f) [[ 2 ]] (STATICCALL 500 4 0 37 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +54,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallIdentity_4.json b/GeneralStateTests/stStaticCall/static_CallIdentity_4.json index 2246adae5..9c422bc49 100644 --- a/GeneralStateTests/stStaticCall/static_CallIdentity_4.json +++ b/GeneralStateTests/stStaticCall/static_CallIdentity_4.json @@ -2,81 +2,49 @@ "static_CallIdentity_4" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_4Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xc02afa598221dfcc67b57d94392f1bdec77d6c6c97a31a688dbd77712258d49c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0xc02afa598221dfcc67b57d94392f1bdec77d6c6c97a31a688dbd77712258d49c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xc02afa598221dfcc67b57d94392f1bdec77d6c6c97a31a688dbd77712258d49c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xc02afa598221dfcc67b57d94392f1bdec77d6c6c97a31a688dbd77712258d49c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x6f61a288aaa6cf0f91f5db2a208b2191bbcbbc6fae8f5a68a523f16db481e8f2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600052602060006020600060046064fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 100 4 0 32 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +54,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallIdentity_4_gas17.json b/GeneralStateTests/stStaticCall/static_CallIdentity_4_gas17.json index e8d7d9311..31617f965 100644 --- a/GeneralStateTests/stStaticCall/static_CallIdentity_4_gas17.json +++ b/GeneralStateTests/stStaticCall/static_CallIdentity_4_gas17.json @@ -2,81 +2,49 @@ "static_CallIdentity_4_gas17" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_4_gas17Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x985db4a8400c02f02b535eaba85ed7cf930e13d5828d4de3a88826fcc15899a5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "0x02" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0x985db4a8400c02f02b535eaba85ed7cf930e13d5828d4de3a88826fcc15899a5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x985db4a8400c02f02b535eaba85ed7cf930e13d5828d4de3a88826fcc15899a5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x985db4a8400c02f02b535eaba85ed7cf930e13d5828d4de3a88826fcc15899a5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x702d6ea9e171e585329073d6b660b83ac1b6e5b82bd09966240057715f726dd1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600052602060006020600060046011fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 17 4 0 32 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +54,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallIdentity_4_gas18.json b/GeneralStateTests/stStaticCall/static_CallIdentity_4_gas18.json index fde3b46b0..280b4c81d 100644 --- a/GeneralStateTests/stStaticCall/static_CallIdentity_4_gas18.json +++ b/GeneralStateTests/stStaticCall/static_CallIdentity_4_gas18.json @@ -2,81 +2,49 @@ "static_CallIdentity_4_gas18" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_4_gas18Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xdbfe7801bc973efa3820bbf4c87c85eea0e91a433d125011c696a0185c4847ba", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0xdbfe7801bc973efa3820bbf4c87c85eea0e91a433d125011c696a0185c4847ba", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xdbfe7801bc973efa3820bbf4c87c85eea0e91a433d125011c696a0185c4847ba", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xdbfe7801bc973efa3820bbf4c87c85eea0e91a433d125011c696a0185c4847ba", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xd10cacc819efd8713aa49c1c326f9cbcdfc0ca044e4dbc66517c79d38bc88b21", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600052602060006020600060046012fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 18 4 0 32 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +54,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallIdentity_5.json b/GeneralStateTests/stStaticCall/static_CallIdentity_5.json index 8a70279ed..7278fe9eb 100644 --- a/GeneralStateTests/stStaticCall/static_CallIdentity_5.json +++ b/GeneralStateTests/stStaticCall/static_CallIdentity_5.json @@ -2,81 +2,48 @@ "static_CallIdentity_5" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_5Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xac3de1b731147cf42d87c183d1ff094d9e70b182a80bc9287dc3a7661870f550", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } } } - ], - "EIP158" : [ - { - "hash" : "0xac3de1b731147cf42d87c183d1ff094d9e70b182a80bc9287dc3a7661870f550", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xac3de1b731147cf42d87c183d1ff094d9e70b182a80bc9287dc3a7661870f550", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xac3de1b731147cf42d87c183d1ff094d9e70b182a80bc9287dc3a7661870f550", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x7f5a835d204101b5635403c300e600e901e10f0328cc0473e5320167ef83232e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005260206000620f424060006004610258fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 600 4 0 1000000 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +53,14 @@ "" ], "gasLimit" : [ - "0x989680" + "10000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallLoseGasOOG.json b/GeneralStateTests/stStaticCall/static_CallLoseGasOOG.json index 42bd731cd..eab435a2a 100644 --- a/GeneralStateTests/stStaticCall/static_CallLoseGasOOG.json +++ b/GeneralStateTests/stStaticCall/static_CallLoseGasOOG.json @@ -2,88 +2,56 @@ "static_CallLoseGasOOG" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallLoseGasOOGFiller.json" }, "env" : { - "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x4f985561c68b486a8fefad080ea5383a17cb5660282b71ec765b68651cf32aa6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x" : "0x01", + "0x02" : "0x03e9" + } } } - ], - "EIP158" : [ - { - "hash" : "0x4f985561c68b486a8fefad080ea5383a17cb5660282b71ec765b68651cf32aa6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x4f985561c68b486a8fefad080ea5383a17cb5660282b71ec765b68651cf32aa6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x4f985561c68b486a8fefad080ea5383a17cb5660282b71ec765b68651cf32aa6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xe8031a5e694e8b45a6abc93652b190e8d32492fa310593ddb7e2d7819f51fe9a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x1b58", + "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "7000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0400", - "code" : "0x600160005401600055600060006000600073bbbf5374fce5edbc8e2a8697c15331677e6ebf0b620186a060005402600101fa6001556103e860005402600101600255", - "nonce" : "0x00", + "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", "storage" : { } } @@ -95,12 +63,12 @@ "gasLimit" : [ "0x7fffffffffffffff" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "1", + "nonce" : "", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRecursiveBomb0.json b/GeneralStateTests/stStaticCall/static_CallRecursiveBomb0.json index 52df10b30..00bd619ea 100644 --- a/GeneralStateTests/stStaticCall/static_CallRecursiveBomb0.json +++ b/GeneralStateTests/stStaticCall/static_CallRecursiveBomb0.json @@ -2,88 +2,59 @@ "static_CallRecursiveBomb0" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb0Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x02540be400", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x9bacbf7461a436c8216e296ee488edd0fb155bbed9b1d136de5793a4217c480f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x025406f836" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" } } - ], - "EIP158" : [ - { - "hash" : "0x9bacbf7461a436c8216e296ee488edd0fb155bbed9b1d136de5793a4217c480f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x9bacbf7461a436c8216e296ee488edd0fb155bbed9b1d136de5793a4217c480f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x9bacbf7461a436c8216e296ee488edd0fb155bbed9b1d136de5793a4217c480f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xa90d701bed6b2ea0a80f1c099e32aa34ea1797cfe076a56d1615196b1812c7c0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x77359400", - "code" : "0x600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b56305f5e100fa6000555a600155", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "2000000000", + "code" : "{ [[ 0 ]] (STATICCALL 100000000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600160005101600052600060006000600030612af85a03fa", - "nonce" : "0x00", + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (+ (MLOAD 0) 1)) (STATICCALL (- (GAS) 11000) (ADDRESS) 0 0 0 0) } ", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +64,14 @@ "" ], "gasLimit" : [ - "0x02540be400" + "10000000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRecursiveBomb0_OOG_atMaxCallDepth.json b/GeneralStateTests/stStaticCall/static_CallRecursiveBomb0_OOG_atMaxCallDepth.json index 5ff37258c..64a10b0b9 100644 --- a/GeneralStateTests/stStaticCall/static_CallRecursiveBomb0_OOG_atMaxCallDepth.json +++ b/GeneralStateTests/stStaticCall/static_CallRecursiveBomb0_OOG_atMaxCallDepth.json @@ -2,88 +2,55 @@ "static_CallRecursiveBomb0_OOG_atMaxCallDepth" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb0_OOG_atMaxCallDepthFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x174876e800", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "100000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xf5db24c4f329602358342ef3a44c8d5362d1b030afa84d4ebf67cdab7b6caa8a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x01" : "0xb8cf2d1b" + } } } - ], - "EIP158" : [ - { - "hash" : "0xf5db24c4f329602358342ef3a44c8d5362d1b030afa84d4ebf67cdab7b6caa8a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x6014f82d8ead096eec81adeaae7e06f2457ef1ee19ab2ccf5e2cb5b5abdc75ec", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x6014f82d8ead096eec81adeaae7e06f2457ef1ee19ab2ccf5e2cb5b5abdc75ec", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x53d4e57c4d2c5a4e0f058f6552aee4ed8ea5751bc772eb6583e60266ba214514", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x600160005401600052690fffffffffffffffffff610402600051040260025260006000690fffffffffffffffffff61040260005104026000306104005a03fa", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x6000600060006000600073095e7baea6a6c7c4c2dfeb977efac326af552d875af2505a600155", - "nonce" : "0x00", + "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (CALLCODE (GAS) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0 0) [[ 1 ]] (GAS) } ", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +60,14 @@ "" ], "gasLimit" : [ - "0x174876e800" + "100000000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x195e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "195e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRecursiveBomb1.json b/GeneralStateTests/stStaticCall/static_CallRecursiveBomb1.json index 3e7753e34..9a4dd5bf7 100644 --- a/GeneralStateTests/stStaticCall/static_CallRecursiveBomb1.json +++ b/GeneralStateTests/stStaticCall/static_CallRecursiveBomb1.json @@ -2,88 +2,56 @@ "static_CallRecursiveBomb1" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb1Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x05f5e100", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "100000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xcb1753e7f3422605434c589a87fa72354382ea86b78fac25a6484bc06bfae257", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x09befb" + } } } - ], - "EIP158" : [ - { - "hash" : "0xcb1753e7f3422605434c589a87fa72354382ea86b78fac25a6484bc06bfae257", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xf664fa42d701c03617eba34bbd670cb7ef1e40313cedbbd60883c364c449ca2e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xf664fa42d701c03617eba34bbd670cb7ef1e40313cedbbd60883c364c449ca2e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x94a613e74461a5e8afb7a9bf2b53617944ad2fdf55ba8f900a887e63aaf19f36", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x600160005101600052600060006000600030613a985a03fa", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 0 (+ (MLOAD 0) 1)) (STATICCALL (- (GAS) 15000) (ADDRESS) 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x6000600060006000600073095e7baea6a6c7c4c2dfeb977efac326af552d875af2505a600155", - "nonce" : "0x00", + "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (CALLCODE (GAS) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +61,14 @@ "" ], "gasLimit" : [ - "0x013aab14" + "20622100" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x195e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "195e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRecursiveBomb2.json b/GeneralStateTests/stStaticCall/static_CallRecursiveBomb2.json index b81b0970e..53b0a9054 100644 --- a/GeneralStateTests/stStaticCall/static_CallRecursiveBomb2.json +++ b/GeneralStateTests/stStaticCall/static_CallRecursiveBomb2.json @@ -2,88 +2,56 @@ "static_CallRecursiveBomb2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x05f5e100", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "100000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xb823d538f7cc43f50bd100bace70c5b14b88d9f0214cb3386c5c043b682450b8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x0970da" + } } } - ], - "EIP158" : [ - { - "hash" : "0xb823d538f7cc43f50bd100bace70c5b14b88d9f0214cb3386c5c043b682450b8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x8550841f06091aa91a26e1c8c45339966a7bbb57ad5f3f1a46e89c27ace3247f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x8550841f06091aa91a26e1c8c45339966a7bbb57ad5f3f1a46e89c27ace3247f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x4ab37c9ac92df780428afd2c345b9bc3cc3a7cba4a09257273329b73ff6486db", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x600160005101600052600060006000600030613a985a03fa", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 0 (+ (MLOAD 0) 1)) (STATICCALL (- (GAS) 15000) (ADDRESS) 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x6000600060006000600073095e7baea6a6c7c4c2dfeb977efac326af552d875af26000555a600155", - "nonce" : "0x00", + "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ [[ 0 ]] (CALLCODE (GAS) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +61,14 @@ "" ], "gasLimit" : [ - "0x013aab13" + "20622099" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x195e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "195e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRecursiveBomb3.json b/GeneralStateTests/stStaticCall/static_CallRecursiveBomb3.json index 7bb37bcd3..dd46a10ca 100644 --- a/GeneralStateTests/stStaticCall/static_CallRecursiveBomb3.json +++ b/GeneralStateTests/stStaticCall/static_CallRecursiveBomb3.json @@ -2,88 +2,56 @@ "static_CallRecursiveBomb3" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb3Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x94a61490fdbf7fc6cb1a1887b27d1bbefccc657f6905d14948f5e89126fb6434", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x016b53" + } } } - ], - "EIP158" : [ - { - "hash" : "0x94a61490fdbf7fc6cb1a1887b27d1bbefccc657f6905d14948f5e89126fb6434", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x6659660e4db73207ff37c4fa00d0cd2668e561c8e175cc84d32f9054ab01b244", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x6659660e4db73207ff37c4fa00d0cd2668e561c8e175cc84d32f9054ab01b244", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x3b7e6951c651e3eff3419eea5b43cc3779902b1024b671aa51e7bc2830301e8d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x60016000540160005260006000600060003060e05a03fa", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 0 (+ (SLOAD 0) 1)) (STATICCALL (- (GAS) 224) (ADDRESS) 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x195e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x6000600060006000600073095e7baea6a6c7c4c2dfeb977efac326af552d87620186a05a03f26000555a600155", - "nonce" : "0x00", + "195e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ [[ 0 ]] (CALLCODE ( - (GAS) 100000) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +61,14 @@ "" ], "gasLimit" : [ - "0x0f4240" + "1000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x195e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "195e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRecursiveBombLog.json b/GeneralStateTests/stStaticCall/static_CallRecursiveBombLog.json index 2918eed76..a949b77a7 100644 --- a/GeneralStateTests/stStaticCall/static_CallRecursiveBombLog.json +++ b/GeneralStateTests/stStaticCall/static_CallRecursiveBombLog.json @@ -2,88 +2,56 @@ "static_CallRecursiveBombLog" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBombLogFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x02540be400", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xb80560ef8b9af7e51d2b933f3b9fd86be0757acb33ba62b1cf850dfeefb15310", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x09501aaf" + } } } - ], - "EIP158" : [ - { - "hash" : "0xb80560ef8b9af7e51d2b933f3b9fd86be0757acb33ba62b1cf850dfeefb15310", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xb80560ef8b9af7e51d2b933f3b9fd86be0757acb33ba62b1cf850dfeefb15310", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xb80560ef8b9af7e51d2b933f3b9fd86be0757acb33ba62b1cf850dfeefb15310", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x04f97b8d36405d8211fbe3b5a2ad75abb5a0a143bd5dd4d9c68844a9c20996bf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b5620186a05a03fa6000555a600155", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ [[ 0 ]] (STATICCALL (- (GAS) 100000) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005260206000a06000600060006000306161a85a03fa", - "nonce" : "0x00", + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG0 0 32) (STATICCALL (- (GAS) 25000) (ADDRESS) 0 0 0 0) } ", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +61,14 @@ "" ], "gasLimit" : [ - "0x02540be400" + "10000000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRecursiveBombLog2.json b/GeneralStateTests/stStaticCall/static_CallRecursiveBombLog2.json index 305346f0b..8935be688 100644 --- a/GeneralStateTests/stStaticCall/static_CallRecursiveBombLog2.json +++ b/GeneralStateTests/stStaticCall/static_CallRecursiveBombLog2.json @@ -2,88 +2,59 @@ "static_CallRecursiveBombLog2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBombLog2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x02540be400", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xeb74a51583974d9ad3cc50eafa9168c843579e6dc72adae941f05322e92ae58b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x09501aaf" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" } } - ], - "EIP158" : [ - { - "hash" : "0xeb74a51583974d9ad3cc50eafa9168c843579e6dc72adae941f05322e92ae58b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xeb74a51583974d9ad3cc50eafa9168c843579e6dc72adae941f05322e92ae58b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xeb74a51583974d9ad3cc50eafa9168c843579e6dc72adae941f05322e92ae58b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xedd35d9f47f8c16676a664479f0028ccb352d1865ebcbde1a8a92fde6dd700b0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b5620186a05a03fa6000555a600155", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ [[ 0 ]] (STATICCALL ( - (GAS) 100000) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x5a60005260206000a06000600060006000306161a85a03fa", - "nonce" : "0x00", + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (GAS)) (LOG0 0 32) (STATICCALL (- (GAS) 25000) (ADDRESS) 0 0 0 0) } ", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +64,14 @@ "" ], "gasLimit" : [ - "0x02540be400" + "10000000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRecursiveBombPreCall.json b/GeneralStateTests/stStaticCall/static_CallRecursiveBombPreCall.json index cb877e251..b6e7e3efd 100644 --- a/GeneralStateTests/stStaticCall/static_CallRecursiveBombPreCall.json +++ b/GeneralStateTests/stStaticCall/static_CallRecursiveBombPreCall.json @@ -2,88 +2,59 @@ "static_CallRecursiveBombPreCall" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBombPreCallFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xecfcc33227d2e221a4c09f8b78d052775e9a590207ebdbc6e20deded0aa78348", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x7ffffffffff3ba25" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" } } - ], - "EIP158" : [ - { - "hash" : "0xecfcc33227d2e221a4c09f8b78d052775e9a590207ebdbc6e20deded0aa78348", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xecfcc33227d2e221a4c09f8b78d052775e9a590207ebdbc6e20deded0aa78348", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xecfcc33227d2e221a4c09f8b78d052775e9a590207ebdbc6e20deded0aa78348", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xff16c6db910b7056e3353e0805a640ee51a37d7189c91eaa9d72e309f7834391", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0fffffffffffffffffffffffffffffff", - "code" : "0x600060006000600073bad304eb96065b2a98b57a48a06ae28d285a71b5620186a0fa50600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b56707fffffffffffffff46000555a600155", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0xfffffffffffffffffffffffffffffff", + "code" : "{ (STATICCALL 100000 0xbad304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 0 ]] (DELEGATECALL 0x7ffffffffffffff 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600160005101600052600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b562036b005a03fa", - "nonce" : "0x00", + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (+ (MLOAD 0) 1)) (STATICCALL (- (GAS) 224000) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) } ", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffffffffffffffffffffff", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xfffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -95,12 +66,12 @@ "gasLimit" : [ "0x7ffffffffffffff0" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRecursiveBombPreCall2.json b/GeneralStateTests/stStaticCall/static_CallRecursiveBombPreCall2.json index 38d40ef3b..0266f3f09 100644 --- a/GeneralStateTests/stStaticCall/static_CallRecursiveBombPreCall2.json +++ b/GeneralStateTests/stStaticCall/static_CallRecursiveBombPreCall2.json @@ -2,88 +2,59 @@ "static_CallRecursiveBombPreCall2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBombPreCall2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xeaccd590a93210b28c4f849d87290bc06357a6ab34cedd1d5cdc55bb0f6a7d6f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x7ffffffffff3be25" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" } } - ], - "EIP158" : [ - { - "hash" : "0xeaccd590a93210b28c4f849d87290bc06357a6ab34cedd1d5cdc55bb0f6a7d6f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xeaccd590a93210b28c4f849d87290bc06357a6ab34cedd1d5cdc55bb0f6a7d6f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xeaccd590a93210b28c4f849d87290bc06357a6ab34cedd1d5cdc55bb0f6a7d6f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x0904a81e43fb6c84b7bdd7d5bb8dd1a7c151830677033128852f58c789336c33", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0fffffffffffffffffffffffffffffff", - "code" : "0x600060006000600073bad304eb96065b2a98b57a48a06ae28d285a71b5620186a0fa50600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b56707fffffffffffffffa6000555a600155", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "0xfffffffffffffffffffffffffffffff", + "code" : "{ (STATICCALL 100000 0xbad304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 0 ]] (STATICCALL 0x7ffffffffffffff 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60016000510160005260006000600060003062036b005a03fa", - "nonce" : "0x00", + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (+ (MLOAD 0) 1)) (STATICCALL (- (GAS) 224000) (ADDRESS) 0 0 0 0) } ", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffffffffffffffffffffff", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xfffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -95,12 +66,12 @@ "gasLimit" : [ "0x7ffffffffffffff0" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRipemd160_1.json b/GeneralStateTests/stStaticCall/static_CallRipemd160_1.json index 61d295891..af9e48623 100644 --- a/GeneralStateTests/stStaticCall/static_CallRipemd160_1.json +++ b/GeneralStateTests/stStaticCall/static_CallRipemd160_1.json @@ -2,81 +2,49 @@ "static_CallRipemd160_1" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_1Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x749b9773e54b61f9c516cf66caf153328bc2d64c39e8169a18c6c533354ea049", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x9c1185a5c5e9fc54612808977ee8f548b2258d31", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x749b9773e54b61f9c516cf66caf153328bc2d64c39e8169a18c6c533354ea049", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x749b9773e54b61f9c516cf66caf153328bc2d64c39e8169a18c6c533354ea049", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x749b9773e54b61f9c516cf66caf153328bc2d64c39e8169a18c6c533354ea049", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x61043bcf9f5d70773f9c37e56980261244dcac94479adc2c4f4dede4c2f569cb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x60206000600060006003610258fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ [[ 2 ]] (STATICCALL 600 3 0 0 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +54,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRipemd160_2.json b/GeneralStateTests/stStaticCall/static_CallRipemd160_2.json index d2c596b0a..8ae57e23c 100644 --- a/GeneralStateTests/stStaticCall/static_CallRipemd160_2.json +++ b/GeneralStateTests/stStaticCall/static_CallRipemd160_2.json @@ -2,81 +2,49 @@ "static_CallRipemd160_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x97c5529870e0164a19a3f66908838f2033ff02f7de7dd5cbe00fd28426c5395a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0xdbc100f916bfbc53535573d98cf0cbb3a5b36124", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x97c5529870e0164a19a3f66908838f2033ff02f7de7dd5cbe00fd28426c5395a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x97c5529870e0164a19a3f66908838f2033ff02f7de7dd5cbe00fd28426c5395a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x97c5529870e0164a19a3f66908838f2033ff02f7de7dd5cbe00fd28426c5395a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x064af302a6ed9d95e61e31905ab89dd1358be3b90c427fc3039c6e87ab155664", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x64f34578907f60055260206000602560006003611770fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 5 0xf34578907f) [[ 2 ]] (STATICCALL 6000 3 0 37 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +54,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRipemd160_3.json b/GeneralStateTests/stStaticCall/static_CallRipemd160_3.json index 307c39e8a..2b1d8c15b 100644 --- a/GeneralStateTests/stStaticCall/static_CallRipemd160_3.json +++ b/GeneralStateTests/stStaticCall/static_CallRipemd160_3.json @@ -2,81 +2,49 @@ "static_CallRipemd160_3" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_3Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x8db263b83cee250e7b859185b57e73780ee870e1e6668403ef7a9a33a1e394e0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x316750573f9be26bc17727b47cacedbd0ab3e6ca", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x8db263b83cee250e7b859185b57e73780ee870e1e6668403ef7a9a33a1e394e0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x8db263b83cee250e7b859185b57e73780ee870e1e6668403ef7a9a33a1e394e0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x8db263b83cee250e7b859185b57e73780ee870e1e6668403ef7a9a33a1e394e0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xc10660a8c1fd11dd43a421f0b28382319a61609ec734447e96728e76988d144c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x64f34578907f60005260206000602560006003611770fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 0 0xf34578907f) [[ 2 ]] (STATICCALL 6000 3 0 37 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +54,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRipemd160_3_postfixed0.json b/GeneralStateTests/stStaticCall/static_CallRipemd160_3_postfixed0.json index 27b4f0f79..1d5f0982c 100644 --- a/GeneralStateTests/stStaticCall/static_CallRipemd160_3_postfixed0.json +++ b/GeneralStateTests/stStaticCall/static_CallRipemd160_3_postfixed0.json @@ -2,81 +2,49 @@ "static_CallRipemd160_3_postfixed0" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_3_postfixed0Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x7a72191dad5ef8e6939b958e7619ba428fadff96a761d2350cd4b6744af828f8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x7730b4642169b0f16752696da8da830a4b429c9d", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x7a72191dad5ef8e6939b958e7619ba428fadff96a761d2350cd4b6744af828f8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x7a72191dad5ef8e6939b958e7619ba428fadff96a761d2350cd4b6744af828f8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x7a72191dad5ef8e6939b958e7619ba428fadff96a761d2350cd4b6744af828f8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x02c9a4aba02e13c0a6bab883a24becda89497b4527840ab0307bbae6fa9ad688", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x65f34578907f0060005260206000602560006003611770fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 0 0xf34578907f00) [[ 2 ]] (STATICCALL 6000 3 0 37 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +54,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRipemd160_3_prefixed0.json b/GeneralStateTests/stStaticCall/static_CallRipemd160_3_prefixed0.json index 164fb6995..6a131f3a3 100644 --- a/GeneralStateTests/stStaticCall/static_CallRipemd160_3_prefixed0.json +++ b/GeneralStateTests/stStaticCall/static_CallRipemd160_3_prefixed0.json @@ -2,81 +2,49 @@ "static_CallRipemd160_3_prefixed0" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_3_prefixed0Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x8db263b83cee250e7b859185b57e73780ee870e1e6668403ef7a9a33a1e394e0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x316750573f9be26bc17727b47cacedbd0ab3e6ca", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x8db263b83cee250e7b859185b57e73780ee870e1e6668403ef7a9a33a1e394e0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x8db263b83cee250e7b859185b57e73780ee870e1e6668403ef7a9a33a1e394e0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x8db263b83cee250e7b859185b57e73780ee870e1e6668403ef7a9a33a1e394e0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xc10660a8c1fd11dd43a421f0b28382319a61609ec734447e96728e76988d144c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x64f34578907f60005260206000602560006003611770fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 0 0x00f34578907f) [[ 2 ]] (STATICCALL 6000 3 0 37 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +54,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRipemd160_4.json b/GeneralStateTests/stStaticCall/static_CallRipemd160_4.json index 3af397b3f..1c066bc9c 100644 --- a/GeneralStateTests/stStaticCall/static_CallRipemd160_4.json +++ b/GeneralStateTests/stStaticCall/static_CallRipemd160_4.json @@ -2,81 +2,49 @@ "static_CallRipemd160_4" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_4Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x8df919769aa65a3ccd28a9f3d16ed68cbe204001c55d885ee7745e43433915e3", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x1cf4e77f5966e13e109703cd8a0df7ceda7f3dc3", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x8df919769aa65a3ccd28a9f3d16ed68cbe204001c55d885ee7745e43433915e3", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x8df919769aa65a3ccd28a9f3d16ed68cbe204001c55d885ee7745e43433915e3", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x8df919769aa65a3ccd28a9f3d16ed68cbe204001c55d885ee7745e43433915e3", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xcf6d1f6fce19d7c1027d39c26bbf392f54befc4639ad617dd2435c0e0708589c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600052602060006020600060036102d0fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 720 3 0 32 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +54,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRipemd160_4_gas719.json b/GeneralStateTests/stStaticCall/static_CallRipemd160_4_gas719.json index f08993dcd..ac6525083 100644 --- a/GeneralStateTests/stStaticCall/static_CallRipemd160_4_gas719.json +++ b/GeneralStateTests/stStaticCall/static_CallRipemd160_4_gas719.json @@ -2,81 +2,48 @@ "static_CallRipemd160_4_gas719" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_4_gas719Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x75d12a7277359c45095cc0a7ae07fa9a0e8760656c4ca540f386ec374ca64959", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } } } - ], - "EIP158" : [ - { - "hash" : "0x75d12a7277359c45095cc0a7ae07fa9a0e8760656c4ca540f386ec374ca64959", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x75d12a7277359c45095cc0a7ae07fa9a0e8760656c4ca540f386ec374ca64959", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x75d12a7277359c45095cc0a7ae07fa9a0e8760656c4ca540f386ec374ca64959", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xb91a68b7b9560001b7a165fab38c335d23c4314010f90176df37e7afeaabd65f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600052602060006020600060036102cffa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 719 3 0 32 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +53,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallRipemd160_5.json b/GeneralStateTests/stStaticCall/static_CallRipemd160_5.json index 611b2ba17..b651a6a27 100644 --- a/GeneralStateTests/stStaticCall/static_CallRipemd160_5.json +++ b/GeneralStateTests/stStaticCall/static_CallRipemd160_5.json @@ -2,81 +2,48 @@ "static_CallRipemd160_5" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_5Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x6ecd01d21238e49430a3a7a971a0047e2f44374c94f3c57211320b6da7ee516d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } } } - ], - "EIP158" : [ - { - "hash" : "0x6ecd01d21238e49430a3a7a971a0047e2f44374c94f3c57211320b6da7ee516d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x6ecd01d21238e49430a3a7a971a0047e2f44374c94f3c57211320b6da7ee516d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x6ecd01d21238e49430a3a7a971a0047e2f44374c94f3c57211320b6da7ee516d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x650a2f45d2465fbfd0ca8fcdb8943851836ac25d86dad1ae58297661796a6de2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005260206000620f424060006003611770fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 6000 3 0 1000000 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +53,14 @@ "" ], "gasLimit" : [ - "0x989680" + "10000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallSha256_1.json b/GeneralStateTests/stStaticCall/static_CallSha256_1.json index d492a846f..5d9864b29 100644 --- a/GeneralStateTests/stStaticCall/static_CallSha256_1.json +++ b/GeneralStateTests/stStaticCall/static_CallSha256_1.json @@ -2,81 +2,49 @@ "static_CallSha256_1" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_1Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x73089159c3629856ae536e337c183bce96d0ae202715756800fc980410b39c41", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x73089159c3629856ae536e337c183bce96d0ae202715756800fc980410b39c41", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x73089159c3629856ae536e337c183bce96d0ae202715756800fc980410b39c41", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x73089159c3629856ae536e337c183bce96d0ae202715756800fc980410b39c41", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x6adeda2f75851354baa87ae2b9a321a42fddced0d81d104c4dc009c33cc3e7ee", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x602060006000600060026101f4fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ [[ 2 ]] (STATICCALL 500 2 0 0 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +54,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallSha256_1_nonzeroValue.json b/GeneralStateTests/stStaticCall/static_CallSha256_1_nonzeroValue.json index 96d4b7df4..50706f0f8 100644 --- a/GeneralStateTests/stStaticCall/static_CallSha256_1_nonzeroValue.json +++ b/GeneralStateTests/stStaticCall/static_CallSha256_1_nonzeroValue.json @@ -2,81 +2,52 @@ "static_CallSha256_1_nonzeroValue" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_1_nonzeroValueFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x05f5e100", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "100000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x450a0d2d8e692bf153bc83ea60178fed9552f7040a1ab4d3ec679e87df19f56a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "0000000000000000000000000000000000000002" : { + "balance" : "19" + }, + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x450a0d2d8e692bf153bc83ea60178fed9552f7040a1ab4d3ec679e87df19f56a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x450a0d2d8e692bf153bc83ea60178fed9552f7040a1ab4d3ec679e87df19f56a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x450a0d2d8e692bf153bc83ea60178fed9552f7040a1ab4d3ec679e87df19f56a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xdd1737f2c49dddd6c1c9ea4f4cd7af7140c87edcc404c88f24f8eeb843054016", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0bebc200", - "code" : "0x6020600060006000600262030d40fa6002556000516000556000600060006000601360025af1506000600060006000601360025af2", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +57,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallSha256_2.json b/GeneralStateTests/stStaticCall/static_CallSha256_2.json index 7ef64d36f..1261a77b4 100644 --- a/GeneralStateTests/stStaticCall/static_CallSha256_2.json +++ b/GeneralStateTests/stStaticCall/static_CallSha256_2.json @@ -2,81 +2,49 @@ "static_CallSha256_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x74a6b4411777b997d1f4a9e31960200d3c2789d93eaf1d8f437eb6cd13cdd98a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0xcb39b3bde22925b2f931111130c774761d8895e0e08437c9b396c1e97d10f34d", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x74a6b4411777b997d1f4a9e31960200d3c2789d93eaf1d8f437eb6cd13cdd98a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x74a6b4411777b997d1f4a9e31960200d3c2789d93eaf1d8f437eb6cd13cdd98a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x74a6b4411777b997d1f4a9e31960200d3c2789d93eaf1d8f437eb6cd13cdd98a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x2661ee4e45fc332b260e6861603ae5b0215d9a2df10241af8d8aac48f9dfd21a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x64f34578907f600552602060006025600060026101f4fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 5 0xf34578907f) [[ 2 ]] (STATICCALL 500 2 0 37 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +54,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallSha256_3.json b/GeneralStateTests/stStaticCall/static_CallSha256_3.json index 53f71ca8c..18f5225c4 100644 --- a/GeneralStateTests/stStaticCall/static_CallSha256_3.json +++ b/GeneralStateTests/stStaticCall/static_CallSha256_3.json @@ -2,81 +2,49 @@ "static_CallSha256_3" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_3Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x6406954cb1280961e4ddf35bf4203f9f151eb5ecaeb452e642fa7f85fb2ac4ac", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x7392925565d67be8e9620aacbcfaecd8cb6ec58d709d25da9eccf1d08a41ce35", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x6406954cb1280961e4ddf35bf4203f9f151eb5ecaeb452e642fa7f85fb2ac4ac", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x6406954cb1280961e4ddf35bf4203f9f151eb5ecaeb452e642fa7f85fb2ac4ac", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x6406954cb1280961e4ddf35bf4203f9f151eb5ecaeb452e642fa7f85fb2ac4ac", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x65b7bb557f7fdebe414b94ea96f283f743f6045531f22bacf9f78b1d70ab2377", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x64f34578907f600052602060006025600060026101f4fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 0 0xf34578907f) [[ 2 ]] (STATICCALL 500 2 0 37 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +54,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallSha256_3_postfix0.json b/GeneralStateTests/stStaticCall/static_CallSha256_3_postfix0.json index 2d0914757..528959a2c 100644 --- a/GeneralStateTests/stStaticCall/static_CallSha256_3_postfix0.json +++ b/GeneralStateTests/stStaticCall/static_CallSha256_3_postfix0.json @@ -2,81 +2,49 @@ "static_CallSha256_3_postfix0" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_3_postfix0Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xdfc055ad55c295259f7635d20ea798da19cb6666a2111fb1ef96786ddf4c3a92", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x3b745a1c00d035c334f358d007a430e4cf0ae63aa0556fb05529706de546464d", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0xdfc055ad55c295259f7635d20ea798da19cb6666a2111fb1ef96786ddf4c3a92", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xdfc055ad55c295259f7635d20ea798da19cb6666a2111fb1ef96786ddf4c3a92", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xdfc055ad55c295259f7635d20ea798da19cb6666a2111fb1ef96786ddf4c3a92", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xd44b8590a033955773bdc42d0f63b61ffe995c5c15783daa5d6898fb0bf82585", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x65f34578907f00600052602060006025600060026101f4fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 0 0xf34578907f00) [[ 2 ]] (STATICCALL 500 2 0 37 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +54,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallSha256_3_prefix0.json b/GeneralStateTests/stStaticCall/static_CallSha256_3_prefix0.json index 5a78a563d..8ab4bbbdb 100644 --- a/GeneralStateTests/stStaticCall/static_CallSha256_3_prefix0.json +++ b/GeneralStateTests/stStaticCall/static_CallSha256_3_prefix0.json @@ -2,81 +2,49 @@ "static_CallSha256_3_prefix0" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_3_prefix0Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x6406954cb1280961e4ddf35bf4203f9f151eb5ecaeb452e642fa7f85fb2ac4ac", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x7392925565d67be8e9620aacbcfaecd8cb6ec58d709d25da9eccf1d08a41ce35", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x6406954cb1280961e4ddf35bf4203f9f151eb5ecaeb452e642fa7f85fb2ac4ac", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x6406954cb1280961e4ddf35bf4203f9f151eb5ecaeb452e642fa7f85fb2ac4ac", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x6406954cb1280961e4ddf35bf4203f9f151eb5ecaeb452e642fa7f85fb2ac4ac", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x65b7bb557f7fdebe414b94ea96f283f743f6045531f22bacf9f78b1d70ab2377", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x64f34578907f600052602060006025600060026101f4fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 0 0x00f34578907f) [[ 2 ]] (STATICCALL 500 2 0 37 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +54,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallSha256_4.json b/GeneralStateTests/stStaticCall/static_CallSha256_4.json index d3f27f5eb..1349b9281 100644 --- a/GeneralStateTests/stStaticCall/static_CallSha256_4.json +++ b/GeneralStateTests/stStaticCall/static_CallSha256_4.json @@ -2,81 +2,49 @@ "static_CallSha256_4" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_4Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x41192668654ff740f55eb6e7ae2989b41342372c4825ab5b414b269b98fd7da1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0xaf9613760f72635fbdb44a5a0a63c39f12af30f950a6ee5c971be188e89c4051", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x41192668654ff740f55eb6e7ae2989b41342372c4825ab5b414b269b98fd7da1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x41192668654ff740f55eb6e7ae2989b41342372c4825ab5b414b269b98fd7da1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x41192668654ff740f55eb6e7ae2989b41342372c4825ab5b414b269b98fd7da1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xcbb8d4b7b0b35a41acb5188ef5ab9c162502004054448635c550c3c3df82ca1e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600052602060006020600060026064fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 100 2 0 32 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +54,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallSha256_4_gas99.json b/GeneralStateTests/stStaticCall/static_CallSha256_4_gas99.json index 17d3f4831..128ae9cf0 100644 --- a/GeneralStateTests/stStaticCall/static_CallSha256_4_gas99.json +++ b/GeneralStateTests/stStaticCall/static_CallSha256_4_gas99.json @@ -2,81 +2,49 @@ "static_CallSha256_4_gas99" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_4_gas99Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x1ffd42c805448a3fb1f19e6e1800afad4a092a148c20df052e838e440e1eae88", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0xaf9613760f72635fbdb44a5a0a63c39f12af30f950a6ee5c971be188e89c4051", + "0x02" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x1ffd42c805448a3fb1f19e6e1800afad4a092a148c20df052e838e440e1eae88", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x1ffd42c805448a3fb1f19e6e1800afad4a092a148c20df052e838e440e1eae88", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x1ffd42c805448a3fb1f19e6e1800afad4a092a148c20df052e838e440e1eae88", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x47d48ecedefb604bf16d204edcaf17d954489eec247aa04585a2f92ae1fe18df", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600052602060006020600060026063fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 99 2 0 32 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +54,14 @@ "" ], "gasLimit" : [ - "0x0592a8" + "365224" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallSha256_5.json b/GeneralStateTests/stStaticCall/static_CallSha256_5.json index f9efcfbcf..9643fdc15 100644 --- a/GeneralStateTests/stStaticCall/static_CallSha256_5.json +++ b/GeneralStateTests/stStaticCall/static_CallSha256_5.json @@ -2,81 +2,48 @@ "static_CallSha256_5" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_5Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xfb087b1d26dc6497edc9156cfdb09ad99a0a244fa74eceffbd07888beeba2718", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } } } - ], - "EIP158" : [ - { - "hash" : "0xfb087b1d26dc6497edc9156cfdb09ad99a0a244fa74eceffbd07888beeba2718", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xfb087b1d26dc6497edc9156cfdb09ad99a0a244fa74eceffbd07888beeba2718", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xfb087b1d26dc6497edc9156cfdb09ad99a0a244fa74eceffbd07888beeba2718", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x7264679270dcaf4c3f6f968ffbab40b933f9df9d1b730e743145f5ef7a8b9635", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x01312d00", - "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005260206000620f424060006002610258fa600255600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "20000000", + "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 600 2 0 1000000 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +53,14 @@ "" ], "gasLimit" : [ - "0x989680" + "10000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallToNameRegistrator0.json b/GeneralStateTests/stStaticCall/static_CallToNameRegistrator0.json index 2a55a0746..b3f07fb27 100644 --- a/GeneralStateTests/stStaticCall/static_CallToNameRegistrator0.json +++ b/GeneralStateTests/stStaticCall/static_CallToNameRegistrator0.json @@ -2,88 +2,56 @@ "static_CallToNameRegistrator0" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallToNameRegistrator0Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x2476fc941a8067d919974e5adf2bc832be56a8518cb1748b09c155fa85bc57b8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "nonce" : "0", + "storage" : { + "0x" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0x2476fc941a8067d919974e5adf2bc832be56a8518cb1748b09c155fa85bc57b8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x2476fc941a8067d919974e5adf2bc832be56a8518cb1748b09c155fa85bc57b8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x2476fc941a8067d919974e5adf2bc832be56a8518cb1748b09c155fa85bc57b8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x1f97ffce3fd3ce2864cb616baa013f503b7886ade91270a822cbfc175eb7bfe1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000527faaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa602052600060406040600073945304eb96065b2a98b57a48a06ae28d285a71b5620186a0fa600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 100000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 64 64 0) }", + "nonce" : "0", "storage" : { } }, - "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x17", + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "23", "code" : "0x6000355415600957005b60203560003555", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +61,14 @@ "" ], "gasLimit" : [ - "0x0493e0" + "300000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CallToReturn1.json b/GeneralStateTests/stStaticCall/static_CallToReturn1.json index 59f418198..f79505168 100644 --- a/GeneralStateTests/stStaticCall/static_CallToReturn1.json +++ b/GeneralStateTests/stStaticCall/static_CallToReturn1.json @@ -2,88 +2,57 @@ "static_CallToReturn1" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CallToReturn1Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x889dc336a2b683bedbc77caf050d9a3130ebd5ad3079fe727f7c37a23be19f99", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "nonce" : "0", + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2a" + } } } - ], - "EIP158" : [ - { - "hash" : "0x889dc336a2b683bedbc77caf050d9a3130ebd5ad3079fe727f7c37a23be19f99", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x889dc336a2b683bedbc77caf050d9a3130ebd5ad3079fe727f7c37a23be19f99", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x889dc336a2b683bedbc77caf050d9a3130ebd5ad3079fe727f7c37a23be19f99", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xfa3c8d654c593748b5eceead0c1a372c86fddba0b91a3d917ef7d341994da939", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6001601f6000600073945304eb96065b2a98b57a48a06ae28d285a71b56103e8fa600055600051600155", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 1000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 31 1) [[ 1 ]] @0 }", + "nonce" : "0", "storage" : { } }, - "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x17", + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "23", "code" : "0x602a601f536001601ff3", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +62,14 @@ "" ], "gasLimit" : [ - "0x0493e0" + "300000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CalltoReturn2.json b/GeneralStateTests/stStaticCall/static_CalltoReturn2.json index f7fa6f2f4..6d606e7a5 100644 --- a/GeneralStateTests/stStaticCall/static_CalltoReturn2.json +++ b/GeneralStateTests/stStaticCall/static_CalltoReturn2.json @@ -2,88 +2,57 @@ "static_CalltoReturn2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CalltoReturn2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xeb6801354b6d02b19a0dc149e653822d7d4b2985beb2dc2918f3640d393f3bf7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "nonce" : "0", + "storage" : { + "0x" : "0x01", + "0x01" : "0x3700ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } } } - ], - "EIP158" : [ - { - "hash" : "0xeb6801354b6d02b19a0dc149e653822d7d4b2985beb2dc2918f3640d393f3bf7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xeb6801354b6d02b19a0dc149e653822d7d4b2985beb2dc2918f3640d393f3bf7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xeb6801354b6d02b19a0dc149e653822d7d4b2985beb2dc2918f3640d393f3bf7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x990787d2b78570f15ec2a9cc8448936f67ce292103bf505dfdacf0ea6cb79487", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000527faaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa602052600260006040600073945304eb96065b2a98b57a48a06ae28d285a71b5611388fa600055600051600155", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 5000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 64 0 2 ) [[ 1 ]] (MLOAD 0) }", + "nonce" : "0", "storage" : { } }, - "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x17", + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "23", "code" : "0x603760005360026000f3", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +62,14 @@ "" ], "gasLimit" : [ - "0x0493e0" + "300000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CheckCallCostOOG.json b/GeneralStateTests/stStaticCall/static_CheckCallCostOOG.json index 5daaa1159..95922471c 100644 --- a/GeneralStateTests/stStaticCall/static_CheckCallCostOOG.json +++ b/GeneralStateTests/stStaticCall/static_CheckCallCostOOG.json @@ -2,128 +2,74 @@ "static_CheckCallCostOOG" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CheckCallCostOOGFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xcd73fcab3c89cf2f76f46d5d53599a268513c3e8db7e1e4fbd9f3ce7066aaa72", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xc4115b71dc009d7cedcff1fd79f30fe643d5e87f10749698fb865d8ed2fb6076", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xcd73fcab3c89cf2f76f46d5d53599a268513c3e8db7e1e4fbd9f3ce7066aaa72", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xc4115b71dc009d7cedcff1fd79f30fe643d5e87f10749698fb865d8ed2fb6076", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xcd73fcab3c89cf2f76f46d5d53599a268513c3e8db7e1e4fbd9f3ce7066aaa72", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : 0, + "value" : -1 }, - { - "hash" : "0xc4115b71dc009d7cedcff1fd79f30fe643d5e87f10749698fb865d8ed2fb6076", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : { + "balance" : "21700" + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" } } - ], - "Homestead" : [ - { - "hash" : "0xcd73fcab3c89cf2f76f46d5d53599a268513c3e8db7e1e4fbd9f3ce7066aaa72", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xc4115b71dc009d7cedcff1fd79f30fe643d5e87f10749698fb865d8ed2fb6076", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xcd73fcab3c89cf2f76f46d5d53599a268513c3e8db7e1e4fbd9f3ce7066aaa72", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : -1, + "gas" : 1, + "value" : -1 }, - { - "hash" : "0xea0ba27d31ec6d0733e9ece3fc03ec693ae528a50681aee3b37f57dd923ee3d0", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : { + "balance" : "21733" + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x60006000600060007320000000000000000000000000000000000000006064fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ (STATICCALL 100 0x2000000000000000000000000000000000000000 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6001600152", - "nonce" : "0x00", + "2000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -133,15 +79,15 @@ "" ], "gasLimit" : [ - "0x54c4", - "0x5528" + "21700", + "21800" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CheckOpcodes.json b/GeneralStateTests/stStaticCall/static_CheckOpcodes.json index dfeb1886e..7efcf80dd 100644 --- a/GeneralStateTests/stStaticCall/static_CheckOpcodes.json +++ b/GeneralStateTests/stStaticCall/static_CheckOpcodes.json @@ -2,382 +2,72 @@ "static_CheckOpcodes" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CheckOpcodesFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 1 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : 1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x01" : "0x01" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" } } - ], - "EIP158" : [ - { - "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 1 - } - } - ], - "Frontier" : [ - { - "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 1 - } - } - ], - "Homestead" : [ - { - "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xd4ba63488362b427d1681871e5c0ce478a1c56038a14e6abf1eb08a1e7362ecd", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 1 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xcd0bf5c8667410a60b0888ddb7da55cfe0099041c03ac5de6896a8e1c9be19f7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x99cec9ee8168e34dca27e17bce9f493d006f43e254b636bf4934b06f2444d21f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xcd0bf5c8667410a60b0888ddb7da55cfe0099041c03ac5de6896a8e1c9be19f7", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x99cec9ee8168e34dca27e17bce9f493d006f43e254b636bf4934b06f2444d21f", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5b2ad133e3294085c264936e2ba8bd91f8eeca0243ed5633a1efba582cd84a35", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x0eb7478ae040cc90426dade6c3ee468d5c45e9b89274a8d5ffff5b978587575f", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x0b94298a79e1a7e5de1aded75e212679582b6df8d68f679f06ec4f208583bfb6", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 1 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000600035620186a0fa600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[1]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373100000000000000000000000000000000000000014604b5760026001556051565b60016001525b30731000000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6000600060006000731000000000000000000000000000000000000003620186a0fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000003 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373100000000000000000000000000000000000000214604b5760026001556051565b60016001525b30731000000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -388,16 +78,16 @@ "0x0000000000000000000000001000000000000000000000000000000000000002" ], "gasLimit" : [ - "0xc350", - "0x051c98" + "50000", + "335000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x64" + "0", + "100" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CheckOpcodes2.json b/GeneralStateTests/stStaticCall/static_CheckOpcodes2.json index fbfa294ba..d727f1ead 100644 --- a/GeneralStateTests/stStaticCall/static_CheckOpcodes2.json +++ b/GeneralStateTests/stStaticCall/static_CheckOpcodes2.json @@ -2,911 +2,146 @@ "static_CheckOpcodes2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CheckOpcodes2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 1 - } - } - ], - "EIP158" : [ - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 1 - } - } - ], - "Frontier" : [ - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 1 - } - } - ], - "Homestead" : [ - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x067ec5be84441b294f6ada42a12ed9a1206170e030cd69326ed3b9f797c26626", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 1 + "expect" : [ + { + "indexes" : { + "data" : [ + 0, + 2, + 3, + 4 + ], + "gas" : 1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x01" : "0x01" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" } } - ], - "Metropolis" : [ - { - "hash" : "0xb3e6f9aed7d3c82d539b1b763c6a7279ebb6d7bccdb11ee489eb81fff87c6eac", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x3a5fd102a0fb99e1880efd26ffbe13bb6fbd3ea1f533e9e7302fed6acdec276c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xb3e6f9aed7d3c82d539b1b763c6a7279ebb6d7bccdb11ee489eb81fff87c6eac", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x3a5fd102a0fb99e1880efd26ffbe13bb6fbd3ea1f533e9e7302fed6acdec276c", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xee41c0771718dec5ed211ab41c936d5b4083c62266043058315f61e5d8e52ad2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xebd25cd1b32ebfbb0c2bcb1d07e9489624d0389ed7fd81e3ffd4709d9f29a6f6", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x0579ec90031ca3d0c888bf328ff46b0d5964308031563c434fafdc977de8989c", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0xb3e6f9aed7d3c82d539b1b763c6a7279ebb6d7bccdb11ee489eb81fff87c6eac", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x3a5fd102a0fb99e1880efd26ffbe13bb6fbd3ea1f533e9e7302fed6acdec276c", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xb3e6f9aed7d3c82d539b1b763c6a7279ebb6d7bccdb11ee489eb81fff87c6eac", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x3a5fd102a0fb99e1880efd26ffbe13bb6fbd3ea1f533e9e7302fed6acdec276c", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0xa10aafdb5c076b4008129ac242d7fd7ce8643b33f3bb1b63f3e94e41d531632d", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x18698268bd772ea3667a903927371966f86beadc8fb8210745ded2c2b36516c7", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xa10aafdb5c076b4008129ac242d7fd7ce8643b33f3bb1b63f3e94e41d531632d", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x18698268bd772ea3667a903927371966f86beadc8fb8210745ded2c2b36516c7", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x04e31e5b78b1ff332d63016be2de743ee54b77a3f182ce67bc85a081dcdb3f0d", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xfde1af4dadd2e46212071eac7d12b2534ba98a76d38d8ed86f38c799968d12a8", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x04e31e5b78b1ff332d63016be2de743ee54b77a3f182ce67bc85a081dcdb3f0d", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xfde1af4dadd2e46212071eac7d12b2534ba98a76d38d8ed86f38c799968d12a8", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 1 + }, + { + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x01" : "0x00" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000600035620186a0fa600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[1]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0a", - "code" : "0x6000600060006000600073a100000000000000000000000000000000000001620186a0f16000526000516001146038576002600155603e565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x0a", - "code" : "0x60006000526000600060006000600173a200000000000000000000000000000000000001620186a0f160005260016001526001600252", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x3000000000000000000000000000000000000001" : { - "balance" : "0x0a", - "code" : "0x6000600060006000600073a300000000000000000000000000000000000001620186a0f26000526000516001146038576002600155603e565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x4000000000000000000000000000000000000001" : { - "balance" : "0x0a", - "code" : "0x6000600060006000600173a400000000000000000000000000000000000001620186a0f26000526000516001146038576002600155603e565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x5000000000000000000000000000000000000001" : { - "balance" : "0x0a", - "code" : "0x600060006000600073a500000000000000000000000000000000000001620186a0f46000526000516001146036576002600155603c565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa100000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373100000000000000000000000000000000000000114604b5760026001556051565b60016001525b3073a100000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa200000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373200000000000000000000000000000000000000114604b5760026001556051565b60016001525b3073a200000000000000000000000000000000000001146074576002600155607a565b60016001525b34600114608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa300000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373300000000000000000000000000000000000000114604b5760026001556051565b60016001525b30733000000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa400000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373400000000000000000000000000000000000000114604b5760026001556051565b60016001525b30734000000000000000000000000000000000000001146074576002600155607a565b60016001525b34600114608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa500000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373100000000000000000000000000000000000000014604b5760026001556051565b60016001525b30735000000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -920,16 +155,16 @@ "0x0000000000000000000000005000000000000000000000000000000000000001" ], "gasLimit" : [ - "0xc350", - "0x051c98" + "50000", + "335000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x64" + "0", + "100" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CheckOpcodes3.json b/GeneralStateTests/stStaticCall/static_CheckOpcodes3.json index eb7fb4953..aa05d5d2e 100644 --- a/GeneralStateTests/stStaticCall/static_CheckOpcodes3.json +++ b/GeneralStateTests/stStaticCall/static_CheckOpcodes3.json @@ -2,918 +2,153 @@ "static_CheckOpcodes3" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CheckOpcodes3Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 1 - } - } - ], - "EIP158" : [ - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 1 - } - } - ], - "Frontier" : [ - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 1 - } - } - ], - "Homestead" : [ - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xda80d43ff3d93f2da9afe1aec9e6017b5243f00e42b5f9af1c60d249f049e636", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 1 + "expect" : [ + { + "indexes" : { + "data" : [ + 0, + 2, + 3, + 4 + ], + "gas" : 1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x01" : "0x01" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" } } - ], - "Metropolis" : [ - { - "hash" : "0x6ddfcb52786e2ed766f858567d24359f70aad4bdb165397801293c47da831db1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa2af7ae68e535858c283417b5d39c6707a5a9dae16a7348bdba77b09ba21f6e5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x6ddfcb52786e2ed766f858567d24359f70aad4bdb165397801293c47da831db1", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xa2af7ae68e535858c283417b5d39c6707a5a9dae16a7348bdba77b09ba21f6e5", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x6e64dc2bda8358820ac7857d0287d54c492eb30e6e89ced9fb4736064b74ef87", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x04ba6fadce9ab1cfe52034f564cc8ea79d5a65cb341ea65ead0319f9c4dcde18", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x60c3ecd16ed3b39206e1784094270e8c8cb57224dcb4819e29db447c2be00248", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe0aa3632a809db7d3d3de69a051d49336d1da3e4df426d0bccb1135935ac843b", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x60c3ecd16ed3b39206e1784094270e8c8cb57224dcb4819e29db447c2be00248", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xe0aa3632a809db7d3d3de69a051d49336d1da3e4df426d0bccb1135935ac843b", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x38b6ed7d6b63a4e9a9987fe7a2be87eb87f5a4bc172c4198d6cb442a097244c7", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x463fa0d3cf39e2f2f492d8468fa673b5b245b48dd8688d5987bb56de96bda4bc", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xce922c02fc046011fe425764c6ebc59ee4e1e6ed1bd8a29cab65a8b325f55535", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x25657af3417d0cfdcbdfcb6cfbda3be22cceb9615a5de13d635b3ce2afb60b90", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x758d8a723d5455b3a11e505985925483ae70e006f1b97a84766485cf4e2d5efb", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x25657af3417d0cfdcbdfcb6cfbda3be22cceb9615a5de13d635b3ce2afb60b90", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x758d8a723d5455b3a11e505985925483ae70e006f1b97a84766485cf4e2d5efb", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 1 + }, + { + "indexes" : { + "data" : 1, + "gas" : 1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x01" : "0x00" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000600035620186a0fa600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[1]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0a", - "code" : "0x73a1000000000000000000000000000000000000016000526000600060206000600073b000000000000000000000000000000000000001620186a0f160005260005160011460505760026001556056565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x0a", - "code" : "0x73a1000000000000000000000000000000000000016000526000600060206000600173b000000000000000000000000000000000000001620186a0f160005260016001526001600252", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x3000000000000000000000000000000000000001" : { - "balance" : "0x0a", - "code" : "0x73a3000000000000000000000000000000000000016020526000600060406020600073b000000000000000000000000000000000000001620186a0f260005260005160011460505760026001556056565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x4000000000000000000000000000000000000001" : { - "balance" : "0x0a", - "code" : "0x73a4000000000000000000000000000000000000016000526000600060206000600173b000000000000000000000000000000000000001620186a0f260005260005160011460505760026001556056565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x5000000000000000000000000000000000000001" : { - "balance" : "0x0a", - "code" : "0x73a500000000000000000000000000000000000001600052600060006020600073b000000000000000000000000000000000000001620186a0f4600052600051600114604e5760026001556054565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa100000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373b00000000000000000000000000000000000000114604b5760026001556051565b60016001525b3073a100000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa200000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373200000000000000000000000000000000000000114604b5760026001556051565b60016001525b3073a200000000000000000000000000000000000001146074576002600155607a565b60016001525b34600114608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa300000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373300000000000000000000000000000000000000114604b5760026001556051565b60016001525b3073a300000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa400000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373400000000000000000000000000000000000000114604b5760026001556051565b60016001525b3073a400000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa500000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373500000000000000000000000000000000000000114604b5760026001556051565b60016001525b3073a500000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6000600060006000600035620186a0fa6000526000516001146024576002600155602a565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } } @@ -927,16 +162,16 @@ "0x0000000000000000000000005000000000000000000000000000000000000001" ], "gasLimit" : [ - "0xc350", - "0x051c98" + "50000", + "335000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x64" + "0", + "100" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CheckOpcodes4.json b/GeneralStateTests/stStaticCall/static_CheckOpcodes4.json index 578c474b9..74ccb3311 100644 --- a/GeneralStateTests/stStaticCall/static_CheckOpcodes4.json +++ b/GeneralStateTests/stStaticCall/static_CheckOpcodes4.json @@ -2,215 +2,94 @@ "static_CheckOpcodes4" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CheckOpcodes4Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x34e26cce39fd7feded32b452f89afd3f4d61a0f291a0afa08c415042efc495f5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x34e26cce39fd7feded32b452f89afd3f4d61a0f291a0afa08c415042efc495f5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xede69fda9c1c0dcf74adce8ec2d48751400109627a3108c774db431a3f180fd6", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xede69fda9c1c0dcf74adce8ec2d48751400109627a3108c774db431a3f180fd6", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - } - ], - "EIP158" : [ - { - "hash" : "0x34e26cce39fd7feded32b452f89afd3f4d61a0f291a0afa08c415042efc495f5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x34e26cce39fd7feded32b452f89afd3f4d61a0f291a0afa08c415042efc495f5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xede69fda9c1c0dcf74adce8ec2d48751400109627a3108c774db431a3f180fd6", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xede69fda9c1c0dcf74adce8ec2d48751400109627a3108c774db431a3f180fd6", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - } - ], - "Frontier" : [ - { - "hash" : "0x34e26cce39fd7feded32b452f89afd3f4d61a0f291a0afa08c415042efc495f5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x34e26cce39fd7feded32b452f89afd3f4d61a0f291a0afa08c415042efc495f5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : 1, + "value" : 0 }, - { - "hash" : "0xede69fda9c1c0dcf74adce8ec2d48751400109627a3108c774db431a3f180fd6", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xede69fda9c1c0dcf74adce8ec2d48751400109627a3108c774db431a3f180fd6", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - } - ], - "Homestead" : [ - { - "hash" : "0x34e26cce39fd7feded32b452f89afd3f4d61a0f291a0afa08c415042efc495f5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x34e26cce39fd7feded32b452f89afd3f4d61a0f291a0afa08c415042efc495f5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xede69fda9c1c0dcf74adce8ec2d48751400109627a3108c774db431a3f180fd6", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xede69fda9c1c0dcf74adce8ec2d48751400109627a3108c774db431a3f180fd6", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x01" : "0x01", + "0x02" : "0x01", + "0x03" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0x05" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0x06" : "0x1000000000000000000000000000000000000000" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" } } - ], - "Metropolis" : [ - { - "hash" : "0x34e26cce39fd7feded32b452f89afd3f4d61a0f291a0afa08c415042efc495f5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x34e26cce39fd7feded32b452f89afd3f4d61a0f291a0afa08c415042efc495f5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x5d7b74ba57578008e50ef1260ecf0b21b054b8f77a0d602f1fff7a3a19a4484d", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } + }, + { + "indexes" : { + "data" : -1, + "gas" : 1, + "value" : 1 }, - { - "hash" : "0x43f9fb389d635b799ceeb4177488ea6a0642018e6b9d9fb0d59c19ce5de333dc", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x01" : "0x01", + "0x02" : "0x01", + "0x03" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0x04" : "0x64", + "0x05" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0x06" : "0x1000000000000000000000000000000000000000" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000731000000000000000000000000000000000000001620186a0fa6001556000600060006000731000000000000000000000000000000000000002620186a0fa60025533600355346004553260055530600655", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373100000000000000000000000000000000000000014604b5760026001556051565b60016001525b30731000000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373100000000000000000000000000000000000000014604b5760026001556051565b60016001525b30731000000000000000000000000000000000000002146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -220,16 +99,16 @@ "" ], "gasLimit" : [ - "0xc350", - "0x051c98" + "50000", + "335000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x64" + "0", + "100" ] } } diff --git a/GeneralStateTests/stStaticCall/static_CheckOpcodes5.json b/GeneralStateTests/stStaticCall/static_CheckOpcodes5.json index b1bfedbab..52b15fceb 100644 --- a/GeneralStateTests/stStaticCall/static_CheckOpcodes5.json +++ b/GeneralStateTests/stStaticCall/static_CheckOpcodes5.json @@ -2,911 +2,190 @@ "static_CheckOpcodes5" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_CheckOpcodes5Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x9c646b5060bcdbab2c436f7b21aac8cf5415e59914c2134d601801789302d55c", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xe4016f8d3afbae2a3d8731587a1340e91b655f9b724089b2e2eb9447e98baf3c", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xeaf931cfd8d6e40d99fc388113a5c3ef478278ca988e726d0668e848b2d6b9d6", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x1475a42ef973065b77d9c0403359f4a0e8b5b985c86d55ae92c50d7aa6e8d661", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x9c646b5060bcdbab2c436f7b21aac8cf5415e59914c2134d601801789302d55c", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xe4016f8d3afbae2a3d8731587a1340e91b655f9b724089b2e2eb9447e98baf3c", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xeaf931cfd8d6e40d99fc388113a5c3ef478278ca988e726d0668e848b2d6b9d6", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x1475a42ef973065b77d9c0403359f4a0e8b5b985c86d55ae92c50d7aa6e8d661", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xe689654d1cb1a63efebcb90fae5f2678410109439cc1d31a9b3902bedea12a1d", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xdcbf4edbf4bc40f89fcd8c442ca043d655d7112db8a10fb2b929b414ddebca10", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 1 + "expect" : [ + { + "indexes" : { + "data" : [ + 0, + 1 + ], + "gas" : 1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "a000000000000000000000000000000000000002" : { + "storage" : { + "0x00" : "0x01" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" } } - ], - "EIP158" : [ - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x9c646b5060bcdbab2c436f7b21aac8cf5415e59914c2134d601801789302d55c", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xe4016f8d3afbae2a3d8731587a1340e91b655f9b724089b2e2eb9447e98baf3c", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xeaf931cfd8d6e40d99fc388113a5c3ef478278ca988e726d0668e848b2d6b9d6", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x1475a42ef973065b77d9c0403359f4a0e8b5b985c86d55ae92c50d7aa6e8d661", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x9c646b5060bcdbab2c436f7b21aac8cf5415e59914c2134d601801789302d55c", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xe4016f8d3afbae2a3d8731587a1340e91b655f9b724089b2e2eb9447e98baf3c", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xeaf931cfd8d6e40d99fc388113a5c3ef478278ca988e726d0668e848b2d6b9d6", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x1475a42ef973065b77d9c0403359f4a0e8b5b985c86d55ae92c50d7aa6e8d661", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xe689654d1cb1a63efebcb90fae5f2678410109439cc1d31a9b3902bedea12a1d", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xdcbf4edbf4bc40f89fcd8c442ca043d655d7112db8a10fb2b929b414ddebca10", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 1 - } - } - ], - "Frontier" : [ - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xdc8f401dad4c55f1660edb0b86809bc155ef984e16ff0f8c1c6cfe0ddcb03467", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x45f6ccc25e8baac0824dbab2da5ede361dbca3928b60c087c0edadc22e513f9b", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x5c0e88a38b3286d9b0ce51cce68041d63313a08f1886762ab1eb4a45a3e94726", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xe7457f40d2bc050b29bf1feae895245afff8014bb52cd62dfe63d34daf59dffe", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xdc8f401dad4c55f1660edb0b86809bc155ef984e16ff0f8c1c6cfe0ddcb03467", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x45f6ccc25e8baac0824dbab2da5ede361dbca3928b60c087c0edadc22e513f9b", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x5c0e88a38b3286d9b0ce51cce68041d63313a08f1886762ab1eb4a45a3e94726", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xe7457f40d2bc050b29bf1feae895245afff8014bb52cd62dfe63d34daf59dffe", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x3ddace1a0110e18df547d7e0307c1edf5341f8a2672666f2b38c793e4d40391c", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x56c18bc2e96157d1c70358756cca5af6d7ceb4110607cceb09f7a17618d1f56a", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 1 + }, + { + "indexes" : { + "data" : [ + 2 + ], + "gas" : 1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "3000000000000000000000000000000000000001" : { + "storage" : { + "0x00" : "0x01" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" } } - ], - "Homestead" : [ - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xdc8f401dad4c55f1660edb0b86809bc155ef984e16ff0f8c1c6cfe0ddcb03467", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x45f6ccc25e8baac0824dbab2da5ede361dbca3928b60c087c0edadc22e513f9b", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x5c0e88a38b3286d9b0ce51cce68041d63313a08f1886762ab1eb4a45a3e94726", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xe7457f40d2bc050b29bf1feae895245afff8014bb52cd62dfe63d34daf59dffe", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xdc8f401dad4c55f1660edb0b86809bc155ef984e16ff0f8c1c6cfe0ddcb03467", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x45f6ccc25e8baac0824dbab2da5ede361dbca3928b60c087c0edadc22e513f9b", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x5c0e88a38b3286d9b0ce51cce68041d63313a08f1886762ab1eb4a45a3e94726", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xe7457f40d2bc050b29bf1feae895245afff8014bb52cd62dfe63d34daf59dffe", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x0e1b932422abe6197e7223bd1515f38fd261cbd652a805b6e3e3ef58b8c2673c", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xc05bceac43e4c570b099df4100aadcd785ad23830f991e511b255b4ccec3c4ee", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 1 + }, + { + "indexes" : { + "data" : [ + 3 + ], + "gas" : 1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "4000000000000000000000000000000000000001" : { + "storage" : { + "0x00" : "0x01" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" } } - ], - "Metropolis" : [ - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xccbd3a61a4667d331890e83cff0bee1a6e52669f4e9b3ddd328b48a88e5bf1b1", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x8b17df8bae7a96f970d507e1cf0b16564bf0997fd405cd2e49a873858f782a02", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x195a5dd18655d70f4e6ddd282336bf584f0351c2bbdb269d55dcf38fc2c81a18", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0x85e606aa5b0780447c4f8f92a576d9b3537f5caa2cb2291d4de999e5bd50268b", - "indexes" : { - "data" : 1, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x9e9066e75177c2dfb83d416cc21eef9c8f9d6ce7ef9808415f542c34b4f273c5", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xe666ccb6994ad4abd2ea0cfd35e78d04ee8a7c16d4ea4506820302559bbbb165", - "indexes" : { - "data" : 2, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x6cdcfe844ce215e579cc2af346dc6fc5dcf9fa1a19a86a9a904796dea69f8ce7", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xed8f184856421fbcb148f50845a1fa0ced4a30da2c9d362dd8a2f625e774e194", - "indexes" : { - "data" : 3, - "gas" : 1, - "value" : 1 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c7af12fde81dae2a5a9d519baa8fabbaa2eee11e18c03c013440aa6e347f489", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xb8d91ca2d7fd7660756721f94ad0d3dc4f2bcb73b507b598bdfcd06168c62db9", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 0 - } - }, - { - "hash" : "0xbf7625ffbac8653e9edb903721b0b1b5e2cea9d60dce41281201e5fb1b3a8ad1", - "indexes" : { - "data" : 4, - "gas" : 1, - "value" : 1 + }, + { + "indexes" : { + "data" : [ + 4 + ], + "gas" : 1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "5000000000000000000000000000000000000001" : { + "storage" : { + "0x00" : "0x01" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x600060006000600060006000356203d090f1600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[1]] (CALL 250000 (CALLDATALOAD 0) 0 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x73b0000000000000000000000000000000000000026000526000600060206000600073a000000000000000000000000000000000000002620186a0f1", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 0 0xb000000000000000000000000000000000000002) (CALL 100000 0xa000000000000000000000000000000000000002 0 0 32 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x0a", - "code" : "0x73b0000000000000000000000000000000000000026000526000600060206000600a73a000000000000000000000000000000000000002620186a0f1", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "10", + "code" : "{ (MSTORE 0 0xb000000000000000000000000000000000000002) (CALL 100000 0xa000000000000000000000000000000000000002 10 0 32 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x3000000000000000000000000000000000000001" : { - "balance" : "0x0a", - "code" : "0x73c3000000000000000000000000000000000000026000526000600060206000600073a000000000000000000000000000000000000002620186a0f2", - "nonce" : "0x00", + "3000000000000000000000000000000000000001" : { + "balance" : "10", + "code" : "{ (MSTORE 0 0xc300000000000000000000000000000000000002) (CALLCODE 100000 0xa000000000000000000000000000000000000002 0 0 32 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x4000000000000000000000000000000000000001" : { - "balance" : "0x0a", - "code" : "0x73c4000000000000000000000000000000000000026000526000600060206000600173a000000000000000000000000000000000000002620186a0f2", - "nonce" : "0x00", + "4000000000000000000000000000000000000001" : { + "balance" : "10", + "code" : "{ (MSTORE 0 0xc400000000000000000000000000000000000002) (CALLCODE 100000 0xa000000000000000000000000000000000000002 1 0 32 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x5000000000000000000000000000000000000001" : { - "balance" : "0x0a", - "code" : "0x73c500000000000000000000000000000000000002600052600060006020600073a000000000000000000000000000000000000002620186a0f4", - "nonce" : "0x00", + "5000000000000000000000000000000000000001" : { + "balance" : "10", + "code" : "{ (MSTORE 0 0xc500000000000000000000000000000000000002) (DELEGATECALL 100000 0xa000000000000000000000000000000000000002 0 32 0 0) }", + "nonce" : "0", "storage" : { } }, - "0xa000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x600060006000600060003561c350fa600055", - "nonce" : "0x00", + "a000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (STATICCALL 50000 (CALLDATALOAD 0) 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373a00000000000000000000000000000000000000214604b5760026001556051565b60016001525b3073b000000000000000000000000000000000000002146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xc300000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373300000000000000000000000000000000000000114604b5760026001556051565b60016001525b3073c300000000000000000000000000000000000002146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xc400000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373400000000000000000000000000000000000000114604b5760026001556051565b60016001525b3073c400000000000000000000000000000000000002146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xc500000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373500000000000000000000000000000000000000114604b5760026001556051565b60016001525b3073c500000000000000000000000000000000000002146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } } @@ -920,16 +199,16 @@ "0x0000000000000000000000005000000000000000000000000000000000000001" ], "gasLimit" : [ - "0xc350", - "0x051c98" + "50000", + "335000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x64" + "0", + "100" ] } } diff --git a/GeneralStateTests/stStaticCall/static_ExecuteCallThatAskForeGasThenTrabsactionHas.json b/GeneralStateTests/stStaticCall/static_ExecuteCallThatAskForeGasThenTrabsactionHas.json index d004680d5..24d46f213 100644 --- a/GeneralStateTests/stStaticCall/static_ExecuteCallThatAskForeGasThenTrabsactionHas.json +++ b/GeneralStateTests/stStaticCall/static_ExecuteCallThatAskForeGasThenTrabsactionHas.json @@ -2,182 +2,72 @@ "static_ExecuteCallThatAskForeGasThenTrabsactionHas" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ExecuteCallThatAskForeGasThenTrabsactionHasFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : [ + 1, + 2 + ], + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x01" : "0x00" + } } } - ], - "Homestead" : [ - { - "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x90533610682f7f1fe6a3397efe1a55ce6ae7cf9dafa07008ae49a6de3ab338eb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xba4807cce479d76f9f358c9d7308c9e7b3663ba3702d213de3593ab18697f344", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0186a0", - "code" : "0x6001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "100000", + "code" : "{ (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x0186a0", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "100000", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0x3000000000000000000000000000000000000001" : { - "balance" : "0x0186a0", - "code" : "0x6001600155", - "nonce" : "0x00", + "3000000000000000000000000000000000000001" : { + "balance" : "100000", + "code" : "{ (SSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0186a0", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "100000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x6000600060006000600035620927c0fa600155", - "nonce" : "0x00", + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "code" : "{ [[1]] (STATICCALL 600000 (CALLDATALOAD 0) 0 0 0 0) }", + "nonce" : "0", "storage" : { } } @@ -189,14 +79,14 @@ "0x0000000000000000000000003000000000000000000000000000000000000001" ], "gasLimit" : [ - "0x0186a0" + "100000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_InternalCallHittingGasLimit.json b/GeneralStateTests/stStaticCall/static_InternalCallHittingGasLimit.json index 5fbace354..7e5f27530 100644 --- a/GeneralStateTests/stStaticCall/static_InternalCallHittingGasLimit.json +++ b/GeneralStateTests/stStaticCall/static_InternalCallHittingGasLimit.json @@ -2,88 +2,53 @@ "static_InternalCallHittingGasLimit" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_InternalCallHittingGasLimitFiller.json" }, "env" : { - "currentCoinbase" : "0x2adf5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "2adf5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x55f0", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "22000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xb26b5f58fec9d44f7980e9859d4a004456d0d05fc86878865e3d1349588cbca2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "978900" } } - ], - "EIP158" : [ - { - "hash" : "0xb26b5f58fec9d44f7980e9859d4a004456d0d05fc86878865e3d1349588cbca2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xb26b5f58fec9d44f7980e9859d4a004456d0d05fc86878865e3d1349588cbca2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xb26b5f58fec9d44f7980e9859d4a004456d0d05fc86878865e3d1349588cbca2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xb26b5f58fec9d44f7980e9859d4a004456d0d05fc86878865e3d1349588cbca2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0f4240", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0f4240", - "code" : "0x600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b611388fa", - "nonce" : "0x00", + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000", + "code" : "{ (STATICCALL 5000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } } @@ -93,14 +58,14 @@ "" ], "gasLimit" : [ - "0x526c" + "21100" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "1", + "nonce" : "", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_InternalCallHittingGasLimit2.json b/GeneralStateTests/stStaticCall/static_InternalCallHittingGasLimit2.json index e1720da90..1d786b6f7 100644 --- a/GeneralStateTests/stStaticCall/static_InternalCallHittingGasLimit2.json +++ b/GeneralStateTests/stStaticCall/static_InternalCallHittingGasLimit2.json @@ -2,88 +2,55 @@ "static_InternalCallHittingGasLimit2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_InternalCallHittingGasLimit2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adf5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "2adf5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0xba96", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "47766", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x864a7b976668d9025f681b3270b906b7f9c360c2df8e6fabfdf2d0d01c5ea645", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x01" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0x864a7b976668d9025f681b3270b906b7f9c360c2df8e6fabfdf2d0d01c5ea645", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x864a7b976668d9025f681b3270b906b7f9c360c2df8e6fabfdf2d0d01c5ea645", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x864a7b976668d9025f681b3270b906b7f9c360c2df8e6fabfdf2d0d01c5ea645", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x864a7b976668d9025f681b3270b906b7f9c360c2df8e6fabfdf2d0d01c5ea645", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0f4240", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b6161a8fa600155", - "nonce" : "0x00", + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "code" : "{ [[ 1 ]] (STATICCALL 25000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } } @@ -93,14 +60,14 @@ "" ], "gasLimit" : [ - "0xba96" + "47766" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "1", + "nonce" : "", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_InternlCallStoreClearsOOG.json b/GeneralStateTests/stStaticCall/static_InternlCallStoreClearsOOG.json index 77088c04e..2fde1d1ed 100644 --- a/GeneralStateTests/stStaticCall/static_InternlCallStoreClearsOOG.json +++ b/GeneralStateTests/stStaticCall/static_InternlCallStoreClearsOOG.json @@ -2,76 +2,62 @@ "static_InternlCallStoreClearsOOG" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_InternlCallStoreClearsOOGFiller.json" }, "env" : { - "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xb82cca58ebd153dfe1ff4dcfdaebe887fb254792fa4d7311778c0454774340e5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "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" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" + }, + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "20", + "storage" : { + "0x01" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0xb82cca58ebd153dfe1ff4dcfdaebe887fb254792fa4d7311778c0454774340e5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xb82cca58ebd153dfe1ff4dcfdaebe887fb254792fa4d7311778c0454774340e5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xb82cca58ebd153dfe1ff4dcfdaebe887fb254792fa4d7311778c0454774340e5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xa2612c8ed14c9ebbaeeca9546f2c273abe8c71fb6d43c893bd1ac9e3f9c86370", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x0000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600055600060015560006002556000600355600060045560006005556000600655600060075560006008556000600955", - "nonce" : "0x00", + "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", "storage" : { - "0x00" : "0x0c", + "0x" : "0x0c", "0x01" : "0x0c", "0x02" : "0x0c", "0x03" : "0x0c", @@ -83,17 +69,18 @@ "0x09" : "0x0c" } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0f4240", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0a", - "code" : "0x60006000600060006000619c40fa600155", - "nonce" : "0x00", + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "//" : "gas = 19 going OOG, gas = 20 fine", + "balance" : "10", + "code" : "{ [[ 1 ]] (STATICCALL 40000 0 0 0 0 0) }", + "nonce" : "0", "storage" : { } } @@ -103,14 +90,14 @@ "" ], "gasLimit" : [ - "0x027100" + "160000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "1", + "nonce" : "", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "c94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert.json b/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert.json index d6db94d20..29a5c23d0 100644 --- a/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert.json +++ b/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert.json @@ -2,95 +2,63 @@ "static_LoopCallsDepthThenRevert" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_LoopCallsDepthThenRevertFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x5fd4c444b2f9281082c710d2fd94a82ede14513b458c6de033021f06b252b063", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : 0, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x88c8c6" + } } } - ], - "EIP158" : [ - { - "hash" : "0x5fd4c444b2f9281082c710d2fd94a82ede14513b458c6de033021f06b252b063", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x59ea02d8c54b83231ae4637378a000aa6674e585d67a12db3647532b7102f6d8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x59ea02d8c54b83231ae4637378a000aa6674e585d67a12db3647532b7102f6d8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x5fd4c444b2f9281082c710d2fd94a82ede14513b458c6de033021f06b252b063", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x60006000600060006000731000000000000000000000000000000000000000620186a05a03f16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "", + "code" : "{ [[ 0 ]] (CALL ( - (GAS) 100000) 0x1000000000000000000000000000000000000000 0 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x600060006000600073b0000000000000000000000000000000000000005afa", - "nonce" : "0x00", + "a000000000000000000000000000000000000000" : { + "balance" : "", + "code" : "{ (STATICCALL (GAS) 0xb000000000000000000000000000000000000000 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x600060006000600073a0000000000000000000000000000000000000005afa", - "nonce" : "0x00", + "b000000000000000000000000000000000000000" : { + "balance" : "", + "code" : "{ (STATICCALL (GAS) 0xa000000000000000000000000000000000000000 0 0 0 0) }", + "nonce" : "", "storage" : { } } @@ -100,14 +68,14 @@ "" ], "gasLimit" : [ - "0x989680" + "10000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert2.json b/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert2.json index 3c0fce346..db44126cc 100644 --- a/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert2.json +++ b/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert2.json @@ -2,81 +2,46 @@ "static_LoopCallsDepthThenRevert2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_LoopCallsDepthThenRevert2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xe5e89f0ae2af162f9a67278af23a20dc65c455c8b5c5f1e0ba46c138165f84de", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "7db299e0885c85039f56fa504a13dd8ce8a56aa7" : { + "shouldnotexist" : "1" } } - ], - "EIP158" : [ - { - "hash" : "0xe5e89f0ae2af162f9a67278af23a20dc65c455c8b5c5f1e0ba46c138165f84de", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xe5e89f0ae2af162f9a67278af23a20dc65c455c8b5c5f1e0ba46c138165f84de", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xe5e89f0ae2af162f9a67278af23a20dc65c455c8b5c5f1e0ba46c138165f84de", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xc5ea49092dd6839ec754c99d09a161dcd272d1fd69901f000fb6028c0d260656", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0xa000000000000000000000000000000000000000" : { - "balance" : "0x0a", - "code" : "0x6103ff60003514603d57600160003501600052600060006020600073a0000000000000000000000000000000000000005afa5061041a600051106051575b66600060006002f0600052600760196003f0505b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x13426172c74d822b878fe800000000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "100000000000000000000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -88,12 +53,12 @@ "gasLimit" : [ "0x7ffffffffffffff0" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xa000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "a000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert3.json b/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert3.json index c8651a3d7..4dbea799f 100644 --- a/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert3.json +++ b/GeneralStateTests/stStaticCall/static_LoopCallsDepthThenRevert3.json @@ -2,81 +2,49 @@ "static_LoopCallsDepthThenRevert3" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_LoopCallsDepthThenRevert3Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x857411ccfd336365ffaee39d03f9a0db2780f72c9bdb79109f2e1ad6ba4a9c99", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "7db299e0885c85039f56fa504a13dd8ce8a56aa7" : { + "shouldnotexist" : "1" + }, + "cd6807039caffddbd1c28a749ec91bef15f448e5" : { + "shouldnotexist" : "1" } } - ], - "EIP158" : [ - { - "hash" : "0x857411ccfd336365ffaee39d03f9a0db2780f72c9bdb79109f2e1ad6ba4a9c99", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x857411ccfd336365ffaee39d03f9a0db2780f72c9bdb79109f2e1ad6ba4a9c99", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x857411ccfd336365ffaee39d03f9a0db2780f72c9bdb79109f2e1ad6ba4a9c99", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x1bf4518519a3e297eccaf0c3f51c5d7f8887e09b36be22595bdaabf5806b9f1d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0xa000000000000000000000000000000000000000" : { - "balance" : "0x0a", - "code" : "0x6103fe60003514603d57600160003501600052600060006020600073a0000000000000000000000000000000000000005afa5061041a600035106051575b66600060006002f0600052600760196003f0505b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x13426172c74d822b878fe800000000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "100000000000000000000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -88,12 +56,12 @@ "gasLimit" : [ "0x7ffffffffffffff0" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xa000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "a000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_LoopCallsThenRevert.json b/GeneralStateTests/stStaticCall/static_LoopCallsThenRevert.json index c6cc28f2f..3e1e79a00 100644 --- a/GeneralStateTests/stStaticCall/static_LoopCallsThenRevert.json +++ b/GeneralStateTests/stStaticCall/static_LoopCallsThenRevert.json @@ -2,136 +2,63 @@ "static_LoopCallsThenRevert" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_LoopCallsThenRevertFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xb0ad60c2c3c7495515e5e3469f4e4445e56734256a6e5a4f165c23c1b83a71e9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4b7b5b5964f57c178c00608be3d6ae8456df2c719c46b64d1fe6febb57b20d3a", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xb0ad60c2c3c7495515e5e3469f4e4445e56734256a6e5a4f165c23c1b83a71e9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4b7b5b5964f57c178c00608be3d6ae8456df2c719c46b64d1fe6febb57b20d3a", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x0732b1e42c0e34d12d683d8f10159a69e96dda70cbc0254bb070565ca8944f4a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x25efea7c074db57384542cb5eb05389e21d11bca7a23f070d3e289fa348b5c98", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x0732b1e42c0e34d12d683d8f10159a69e96dda70cbc0254bb070565ca8944f4a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x25efea7c074db57384542cb5eb05389e21d11bca7a23f070d3e289fa348b5c98", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xb0ad60c2c3c7495515e5e3469f4e4445e56734256a6e5a4f165c23c1b83a71e9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : 0, + "value" : -1 }, - { - "hash" : "0x4b7b5b5964f57c178c00608be3d6ae8456df2c719c46b64d1fe6febb57b20d3a", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x01" : "0x024d79" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6103526000526000600060206000600073a0000000000000000000000000000000000000006127105a03f16000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "", + "code" : "{ (MSTORE 0 850) [[ 0 ]] (CALL (- (GAS) 10000) 0xa000000000000000000000000000000000000000 0 0 32 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x5b600160003503600052600060006000600073b00000000000000000000000000000000000000061c350fa50600051600057", - "nonce" : "0x00", + "a000000000000000000000000000000000000000" : { + "balance" : "", + "code" : "{ (JUMPDEST) (MSTORE 0 (- (CALLDATALOAD 0) 1)) (STATICCALL 50000 0xb000000000000000000000000000000000000000 0 0 0 0) (JUMPI 0 (MLOAD 0))}", + "nonce" : "0", "storage" : { - "0x00" : "0x0352" + "0x00" : "850" } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x600051600101600052", - "nonce" : "0x00", + "b000000000000000000000000000000000000000" : { + "balance" : "", + "code" : "{ (MSTORE 0 (ADD 1 (MLOAD 0))) }", + "nonce" : "", "storage" : { } } @@ -141,15 +68,15 @@ "" ], "gasLimit" : [ - "0x989680", - "0x895440" + "10000000", + "9000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_PostToReturn1.json b/GeneralStateTests/stStaticCall/static_PostToReturn1.json index 87dc265a6..66113ce55 100644 --- a/GeneralStateTests/stStaticCall/static_PostToReturn1.json +++ b/GeneralStateTests/stStaticCall/static_PostToReturn1.json @@ -2,88 +2,56 @@ "static_PostToReturn1" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_PostToReturn1Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xcffb8534aee4d5dfb417100188fdb0f889f4ebfac2570120d3f1d695afd5b462", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x01" : "0x01", + "0x02" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } } } - ], - "EIP158" : [ - { - "hash" : "0xcffb8534aee4d5dfb417100188fdb0f889f4ebfac2570120d3f1d695afd5b462", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xcffb8534aee4d5dfb417100188fdb0f889f4ebfac2570120d3f1d695afd5b462", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xcffb8534aee4d5dfb417100188fdb0f889f4ebfac2570120d3f1d695afd5b462", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x3e7057ae0f831fb6f03b52d3b8a274566526c2f29e01a28150f9ae0cae8b3344", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000527faaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa602052600060006040600073945304eb96065b2a98b57a48a06ae28d285a71b5617530fa600155600051600255", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[1]](STATICCALL 30000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 64 0 0 ) [[2]] (MLOAD 0) }", + "nonce" : "0", "storage" : { } }, - "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x17", + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "23", "code" : "0x603760005360026000f3", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +61,14 @@ "" ], "gasLimit" : [ - "0x0493e0" + "300000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_RETURN_Bounds.json b/GeneralStateTests/stStaticCall/static_RETURN_Bounds.json index 8c5994e90..c981f7ad6 100644 --- a/GeneralStateTests/stStaticCall/static_RETURN_Bounds.json +++ b/GeneralStateTests/stStaticCall/static_RETURN_Bounds.json @@ -2,193 +2,172 @@ "static_RETURN_Bounds" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_RETURN_BoundsFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x43dea029d2a7357e2b87737684cfa8c3e8d400f9eeada7f25bb848966dae295e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "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" + } } } - ], - "EIP158" : [ - { - "hash" : "0x43dea029d2a7357e2b87737684cfa8c3e8d400f9eeada7f25bb848966dae295e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x43dea029d2a7357e2b87737684cfa8c3e8d400f9eeada7f25bb848966dae295e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x43dea029d2a7357e2b87737684cfa8c3e8d400f9eeada7f25bb848966dae295e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xd32a22907de3c3caf38d3a5e1c2e191e418895ca0c8408b404a59116d9a3abad", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x60006000600060007310000000000000000000000000000000000000016707fffffffffffffffa60015560006000600060007310000000000000000000000000000000000000026707fffffffffffffffa60025560006000600060007310000000000000000000000000000000000000036707fffffffffffffffa60035560006000600060007310000000000000000000000000000000000000046707fffffffffffffffa60045560006000600060007310000000000000000000000000000000000000056707fffffffffffffffa60055560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa60065560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa60075560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa60085560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa60095560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa600a5560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa600b5560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa600c5560006000600060", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60006000f3", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (RETURN 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6000630ffffffff3", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (RETURN 0xfffffff 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x600063fffffffff3", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (RETURN 0xffffffff 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000004" : { - "balance" : "0x00", - "code" : "0x600067fffffffffffffffff3", - "nonce" : "0x00", + "1000000000000000000000000000000000000004" : { + "balance" : "0", + "code" : "{ (RETURN 0xffffffffffffffff 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000005" : { - "balance" : "0x00", - "code" : "0x60006d0ffffffffffffffffffffffffffff3", - "nonce" : "0x00", + "1000000000000000000000000000000000000005" : { + "balance" : "0", + "code" : "{ (RETURN 0xfffffffffffffffffffffffffff 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000006" : { - "balance" : "0x00", - "code" : "0x60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3", - "nonce" : "0x00", + "1000000000000000000000000000000000000006" : { + "balance" : "0", + "code" : "{ (RETURN 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000007" : { - "balance" : "0x00", - "code" : "0x630fffffff6000f3", - "nonce" : "0x00", + "1000000000000000000000000000000000000007" : { + "balance" : "0", + "code" : "{ (RETURN 0 0xfffffff) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000008" : { - "balance" : "0x00", - "code" : "0x63ffffffff6000f3", - "nonce" : "0x00", + "1000000000000000000000000000000000000008" : { + "balance" : "0", + "code" : "{ (RETURN 0 0xffffffff) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000009" : { - "balance" : "0x00", - "code" : "0x67ffffffffffffffff6000f3", - "nonce" : "0x00", + "1000000000000000000000000000000000000009" : { + "balance" : "0", + "code" : "{ (RETURN 0 0xffffffffffffffff) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000010" : { - "balance" : "0x00", - "code" : "0x6d0fffffffffffffffffffffffffff6000f3", - "nonce" : "0x00", + "1000000000000000000000000000000000000010" : { + "balance" : "0", + "code" : "{ (RETURN 0 0xfffffffffffffffffffffffffff) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000011" : { - "balance" : "0x00", - "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000f3", - "nonce" : "0x00", + "1000000000000000000000000000000000000011" : { + "balance" : "0", + "code" : "{ (RETURN 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000012" : { - "balance" : "0x00", - "code" : "0x630fffffff630ffffffff3", - "nonce" : "0x00", + "1000000000000000000000000000000000000012" : { + "balance" : "0", + "code" : "{ (RETURN 0xfffffff 0xfffffff) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000013" : { - "balance" : "0x00", - "code" : "0x63ffffffff63fffffffff3", - "nonce" : "0x00", + "1000000000000000000000000000000000000013" : { + "balance" : "0", + "code" : "{ (RETURN 0xffffffff 0xffffffff) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000014" : { - "balance" : "0x00", - "code" : "0x67ffffffffffffffff67fffffffffffffffff3", - "nonce" : "0x00", + "1000000000000000000000000000000000000014" : { + "balance" : "0", + "code" : "{ (RETURN 0xffffffffffffffff 0xffffffffffffffff) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000015" : { - "balance" : "0x00", - "code" : "0x6d0fffffffffffffffffffffffffff6d0ffffffffffffffffffffffffffff3", - "nonce" : "0x00", + "1000000000000000000000000000000000000015" : { + "balance" : "0", + "code" : "{ (RETURN 0xfffffffffffffffffffffffffff 0xfffffffffffffffffffffffffff) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000016" : { - "balance" : "0x00", - "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3", - "nonce" : "0x00", + "1000000000000000000000000000000000000016" : { + "balance" : "0", + "code" : "{ (RETURN 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -200,12 +179,12 @@ "gasLimit" : [ "0x7fffffffffffffff" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x01" + "1" ] } } diff --git a/GeneralStateTests/stStaticCall/static_RETURN_BoundsOOG.json b/GeneralStateTests/stStaticCall/static_RETURN_BoundsOOG.json index c9a5cb251..96e91b38a 100644 --- a/GeneralStateTests/stStaticCall/static_RETURN_BoundsOOG.json +++ b/GeneralStateTests/stStaticCall/static_RETURN_BoundsOOG.json @@ -2,193 +2,160 @@ "static_RETURN_BoundsOOG" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_RETURN_BoundsOOGFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", "currentGasLimit" : "0x7fffffffffffffff", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xbb56dbb00d26bd94ce486da5568257d808ad511eec41aac2aa7049e190fb7e7d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "balance" : "0", + "storage" : { + } } } - ], - "EIP158" : [ - { - "hash" : "0xbb56dbb00d26bd94ce486da5568257d808ad511eec41aac2aa7049e190fb7e7d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xbb56dbb00d26bd94ce486da5568257d808ad511eec41aac2aa7049e190fb7e7d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xbb56dbb00d26bd94ce486da5568257d808ad511eec41aac2aa7049e190fb7e7d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xbb56dbb00d26bd94ce486da5568257d808ad511eec41aac2aa7049e190fb7e7d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x60006000600060007310000000000000000000000000000000000000016707fffffffffffffffa60015560006000600060007310000000000000000000000000000000000000026707fffffffffffffffa60025560006000600060007310000000000000000000000000000000000000036707fffffffffffffffa60035560006000600060007310000000000000000000000000000000000000046707fffffffffffffffa60045560006000600060007310000000000000000000000000000000000000056707fffffffffffffffa60055560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa60065560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa60075560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa60085560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa60095560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa600a5560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa600b5560006000600060007310000000000000000000000000000000000000066707fffffffffffffffa600c5560006000600060", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60006000f3", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (RETURN 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6000630ffffffff3", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (RETURN 0xfffffff 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x600063fffffffff3", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (RETURN 0xffffffff 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000004" : { - "balance" : "0x00", - "code" : "0x600067fffffffffffffffff3", - "nonce" : "0x00", + "1000000000000000000000000000000000000004" : { + "balance" : "0", + "code" : "{ (RETURN 0xffffffffffffffff 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000005" : { - "balance" : "0x00", - "code" : "0x60006d0ffffffffffffffffffffffffffff3", - "nonce" : "0x00", + "1000000000000000000000000000000000000005" : { + "balance" : "0", + "code" : "{ (RETURN 0xfffffffffffffffffffffffffff 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000006" : { - "balance" : "0x00", - "code" : "0x60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3", - "nonce" : "0x00", + "1000000000000000000000000000000000000006" : { + "balance" : "0", + "code" : "{ (RETURN 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000007" : { - "balance" : "0x00", - "code" : "0x630fffffff6000f3", - "nonce" : "0x00", + "1000000000000000000000000000000000000007" : { + "balance" : "0", + "code" : "{ (RETURN 0 0xfffffff) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000008" : { - "balance" : "0x00", - "code" : "0x63ffffffff6000f3", - "nonce" : "0x00", + "1000000000000000000000000000000000000008" : { + "balance" : "0", + "code" : "{ (RETURN 0 0xffffffff) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000009" : { - "balance" : "0x00", - "code" : "0x67ffffffffffffffff6000f3", - "nonce" : "0x00", + "1000000000000000000000000000000000000009" : { + "balance" : "0", + "code" : "{ (RETURN 0 0xffffffffffffffff) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000010" : { - "balance" : "0x00", - "code" : "0x6d0fffffffffffffffffffffffffff6000f3", - "nonce" : "0x00", + "1000000000000000000000000000000000000010" : { + "balance" : "0", + "code" : "{ (RETURN 0 0xfffffffffffffffffffffffffff) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000011" : { - "balance" : "0x00", - "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000f3", - "nonce" : "0x00", + "1000000000000000000000000000000000000011" : { + "balance" : "0", + "code" : "{ (RETURN 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000012" : { - "balance" : "0x00", - "code" : "0x630fffffff630ffffffff3", - "nonce" : "0x00", + "1000000000000000000000000000000000000012" : { + "balance" : "0", + "code" : "{ (RETURN 0xfffffff 0xfffffff) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000013" : { - "balance" : "0x00", - "code" : "0x63ffffffff63fffffffff3", - "nonce" : "0x00", + "1000000000000000000000000000000000000013" : { + "balance" : "0", + "code" : "{ (RETURN 0xffffffff 0xffffffff) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000014" : { - "balance" : "0x00", - "code" : "0x67ffffffffffffffff67fffffffffffffffff3", - "nonce" : "0x00", + "1000000000000000000000000000000000000014" : { + "balance" : "0", + "code" : "{ (RETURN 0xffffffffffffffff 0xffffffffffffffff) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000015" : { - "balance" : "0x00", - "code" : "0x6d0fffffffffffffffffffffffffff6d0ffffffffffffffffffffffffffff3", - "nonce" : "0x00", + "1000000000000000000000000000000000000015" : { + "balance" : "0", + "code" : "{ (RETURN 0xfffffffffffffffffffffffffff 0xfffffffffffffffffffffffffff) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000016" : { - "balance" : "0x00", - "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3", - "nonce" : "0x00", + "1000000000000000000000000000000000000016" : { + "balance" : "0", + "code" : "{ (RETURN 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -198,14 +165,14 @@ "" ], "gasLimit" : [ - "0x0249f0" + "150000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x01" + "1" ] } } diff --git a/GeneralStateTests/stStaticCall/static_RawCallGasAsk.json b/GeneralStateTests/stStaticCall/static_RawCallGasAsk.json index b9de03b38..514a357c5 100644 --- a/GeneralStateTests/stStaticCall/static_RawCallGasAsk.json +++ b/GeneralStateTests/stStaticCall/static_RawCallGasAsk.json @@ -2,236 +2,134 @@ "static_RawCallGasAsk" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_RawCallGasAskFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x75f6a9df177ba6b148c256fa0063027ba7a7c8add6777053d68e9c0de7e2f9df", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x75f6a9df177ba6b148c256fa0063027ba7a7c8add6777053d68e9c0de7e2f9df", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x75f6a9df177ba6b148c256fa0063027ba7a7c8add6777053d68e9c0de7e2f9df", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x75f6a9df177ba6b148c256fa0063027ba7a7c8add6777053d68e9c0de7e2f9df", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x072b3b" + } } } - ], - "EIP158" : [ - { - "hash" : "0x75f6a9df177ba6b148c256fa0063027ba7a7c8add6777053d68e9c0de7e2f9df", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x75f6a9df177ba6b148c256fa0063027ba7a7c8add6777053d68e9c0de7e2f9df", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x75f6a9df177ba6b148c256fa0063027ba7a7c8add6777053d68e9c0de7e2f9df", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x75f6a9df177ba6b148c256fa0063027ba7a7c8add6777053d68e9c0de7e2f9df", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x4f7ce23b8119233d194c84f73aa5f389c1c02b913c2c2b962c2a333005442614", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4f7ce23b8119233d194c84f73aa5f389c1c02b913c2c2b962c2a333005442614", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4f7ce23b8119233d194c84f73aa5f389c1c02b913c2c2b962c2a333005442614", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x4f7ce23b8119233d194c84f73aa5f389c1c02b913c2c2b962c2a333005442614", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "2000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x072b3b" + } } } - ], - "Homestead" : [ - { - "hash" : "0x4f7ce23b8119233d194c84f73aa5f389c1c02b913c2c2b962c2a333005442614", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4f7ce23b8119233d194c84f73aa5f389c1c02b913c2c2b962c2a333005442614", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4f7ce23b8119233d194c84f73aa5f389c1c02b913c2c2b962c2a333005442614", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 2, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x4f7ce23b8119233d194c84f73aa5f389c1c02b913c2c2b962c2a333005442614", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "3000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x0727d3" + } } } - ], - "Metropolis" : [ - { - "hash" : "0x16494cb32aad6d0e23886406c044b4b7b63f5bcbe225b64c4506ba9debed297d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8316edda44592e4c0c24e69a6d83779511d7ef56c32ff5248755fc977076021c", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x7a301ff20116b7ac4c1064a5e1a54117316ef3bd8a0927db9f4282f63f8cf249", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 3, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xa4607217b54124bd9e8dabecc54843222a5497383470c2fd8d2e64dede13553b", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "4000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x0727d3" + } } } - ] - }, + } + ], "pre" : { - "0x094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x5a600052", - "nonce" : "0x00", + "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "", + "code" : "{ (MSTORE 0 (GAS)) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000000" : { - "balance" : "0xe8d4a51000", - "code" : "0x600060006000600060006000355af1", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000", + "code" : "{ (CALL (GAS) (CALLDATALOAD 0) 0 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x600060006000600073094f5374fce5edbc8e2a8697c15331677e6ebf0b622dc6c0fa505a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 3000000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[1]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x600060006000600073094f5374fce5edbc8e2a8697c15331677e6ebf0b617530fa505a600155", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 30000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[1]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x3000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x611f406000611f40600073094f5374fce5edbc8e2a8697c15331677e6ebf0b622dc6c0fa505a600155", - "nonce" : "0x00", + "3000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 3000000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 0 8000 0 8000) [[1]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x4000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x611f406000611f40600073094f5374fce5edbc8e2a8697c15331677e6ebf0b617530fa505a600155", - "nonce" : "0x00", + "4000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 30000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 0 8000 0 8000) [[1]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -244,14 +142,14 @@ "0x0000000000000000000000004000000000000000000000000000000000000001" ], "gasLimit" : [ - "0x07a120" + "500000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_Return50000_2.json b/GeneralStateTests/stStaticCall/static_Return50000_2.json index 18ce81b82..874613575 100644 --- a/GeneralStateTests/stStaticCall/static_Return50000_2.json +++ b/GeneralStateTests/stStaticCall/static_Return50000_2.json @@ -2,95 +2,69 @@ "static_Return50000_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_Return50000_2Filler.json" }, "env" : { - "currentCoinbase" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x05429690", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "88250000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x5ad31979dcd6c1653319398efe9368088d98de49ce56443963b7ba621d218cf9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "10bf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "0x00", + "storage" : { + "0x01" : "0x14f579" + } + }, + "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x0fffffffffffff", + "nonce" : "0x00", + "storage" : { + } } } - ], - "EIP158" : [ - { - "hash" : "0x5ad31979dcd6c1653319398efe9368088d98de49ce56443963b7ba621d218cf9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x160d9d29c283b06c57f777be4584e229597eb9f4303941d3d5e68ac3586a3f9b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x160d9d29c283b06c57f777be4584e229597eb9f4303941d3d5e68ac3586a3f9b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x5ad31979dcd6c1653319398efe9368088d98de49ce56443963b7ba621d218cf9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x10bf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x6000600060006000600073bbbf5374fce5edbc8e2a8697c15331677e6ebf0b5af16000555a600155", - "nonce" : "0x00", + "10bf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xfffffffffffff", + "code" : "{ [[ 0 ]] (CALL (GAS) 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { "balance" : "0xffffffffffffffffffffffffffffffff", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x61c34f356000526001600051f3", - "nonce" : "0x00", + "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xfffffffffffff", + "code" : "{ (MSTORE 0 (CALLDATALOAD 49999)) (RETURN (MLOAD 0) 1) }", + "nonce" : "0", "storage" : { } }, - "0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0fffffffffffff", - "code" : "0x5b61c3506080511015603d576000600061c350600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61061cfa6000556001608051016080526000565b608051600155", - "nonce" : "0x00", + "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", "storage" : { } } @@ -100,14 +74,14 @@ "" ], "gasLimit" : [ - "0x05429690" + "88250000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x10bf5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "1", + "nonce" : "", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "10bf5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_ReturnTest.json b/GeneralStateTests/stStaticCall/static_ReturnTest.json index 964cfb384..a29797e69 100644 --- a/GeneralStateTests/stStaticCall/static_ReturnTest.json +++ b/GeneralStateTests/stStaticCall/static_ReturnTest.json @@ -2,88 +2,55 @@ "static_ReturnTest" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ReturnTestFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x1de67e15605fe857b6af95271596144b8977fa82355ac243b71dbb695b20ea82", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "194f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x" : "0x15" + } } } - ], - "EIP158" : [ - { - "hash" : "0x1de67e15605fe857b6af95271596144b8977fa82355ac243b71dbb695b20ea82", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x1de67e15605fe857b6af95271596144b8977fa82355ac243b71dbb695b20ea82", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x1de67e15605fe857b6af95271596144b8977fa82355ac243b71dbb695b20ea82", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x1bf1cf36b2124a96efb8d31b1b47f721a804adec9b05a4b1ef4c2c6e00f3b59f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x194f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x6001601f6001601e73b94f5374fce5edbc8e2a8697c15331677e6ebf0b6107d0fa506000516000556002601ef3", - "nonce" : "0x00", + "194f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "code" : "{(STATICCALL 2000 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 30 1 31 1) [[0]](MLOAD 0) (RETURN 30 2)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0f4240", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0186a0", - "code" : "0x60156000526001601ff3", - "nonce" : "0x00", + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "100000", + "code" : "{(MSTORE 0 0x15) (RETURN 31 1)}", + "nonce" : "0", "storage" : { } } @@ -93,14 +60,14 @@ "" ], "gasLimit" : [ - "0x0493e0" + "300000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x194f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "194f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_ReturnTest2.json b/GeneralStateTests/stStaticCall/static_ReturnTest2.json index 9785f6cb0..1c1e95206 100644 --- a/GeneralStateTests/stStaticCall/static_ReturnTest2.json +++ b/GeneralStateTests/stStaticCall/static_ReturnTest2.json @@ -2,88 +2,56 @@ "static_ReturnTest2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ReturnTest2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x3b9aca00", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x0f75e6b172f2fca4fb94e775cb14c0998ed358b99a14aab391f3e2594bcc1234", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "194f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0x15", + "0x01" : "0x3f" + } } } - ], - "EIP158" : [ - { - "hash" : "0x0f75e6b172f2fca4fb94e775cb14c0998ed358b99a14aab391f3e2594bcc1234", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x0f75e6b172f2fca4fb94e775cb14c0998ed358b99a14aab391f3e2594bcc1234", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x0f75e6b172f2fca4fb94e775cb14c0998ed358b99a14aab391f3e2594bcc1234", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x63f59a3efead2804981734717ced8cd6bcf040cc83a28ba756032585e4a08576", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x194f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x6015600052602060206020600073b94f5374fce5edbc8e2a8697c15331677e6ebf0b611b58fa5060005160005560205160015560406000f3", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0f4240", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0186a0", - "code" : "0x60003560030260005260206000f3", - "nonce" : "0x00", + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "100000", + "code" : "{(MSTORE 0 (MUL 3 (CALLDATALOAD 0)))(RETURN 0 32)}", + "nonce" : "0", "storage" : { } } @@ -93,14 +61,14 @@ "" ], "gasLimit" : [ - "0x03d090" + "250000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x194f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "194f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_RevertDepth2.json b/GeneralStateTests/stStaticCall/static_RevertDepth2.json index 1a4e9e10c..c8d9dffb8 100644 --- a/GeneralStateTests/stStaticCall/static_RevertDepth2.json +++ b/GeneralStateTests/stStaticCall/static_RevertDepth2.json @@ -2,102 +2,92 @@ "static_RevertDepth2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_RevertDepth2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x27b3b2eac2dbfeed3d4a2c79f785636f46b6cc16395c9e7850ad0124edcb2981", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" + }, + "b000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00" + } + }, + "c000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00" + } + }, + "d000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00", + "0x02" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0x27b3b2eac2dbfeed3d4a2c79f785636f46b6cc16395c9e7850ad0124edcb2981", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x27b3b2eac2dbfeed3d4a2c79f785636f46b6cc16395c9e7850ad0124edcb2981", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x27b3b2eac2dbfeed3d4a2c79f785636f46b6cc16395c9e7850ad0124edcb2981", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x27b3b2eac2dbfeed3d4a2c79f785636f46b6cc16395c9e7850ad0124edcb2981", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0xa000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x600054600101600055600060006000600073b000000000000000000000000000000000000000620249f0fa600155600060006000600073d000000000000000000000000000000000000000620249f0fa600255", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x600060006000600073c00000000000000000000000000000000000000061c350fa506001600152", - "nonce" : "0x00", + "b000000000000000000000000000000000000000" : { + "balance" : "", + "code" : "{ (STATICCALL 50000 0xc000000000000000000000000000000000000000 0 0 0 0) (MSTORE 1 1) }", + "nonce" : "", "storage" : { } }, - "0xc000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6001600152", - "nonce" : "0x00", + "c000000000000000000000000000000000000000" : { + "balance" : "", + "code" : "{ (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0xd000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x600060006000600073c00000000000000000000000000000000000000061c350fa505a600155", - "nonce" : "0x00", + "d000000000000000000000000000000000000000" : { + "balance" : "", + "code" : "{ (STATICCALL 50000 0xc000000000000000000000000000000000000000 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } } @@ -107,14 +97,14 @@ "" ], "gasLimit" : [ - "0x029abd" + "170685" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xa000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "a000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_RevertOpcodeCalls.json b/GeneralStateTests/stStaticCall/static_RevertOpcodeCalls.json index 816b9239b..85d52caa5 100644 --- a/GeneralStateTests/stStaticCall/static_RevertOpcodeCalls.json +++ b/GeneralStateTests/stStaticCall/static_RevertOpcodeCalls.json @@ -2,128 +2,55 @@ "static_RevertOpcodeCalls" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_RevertOpcodeCallsFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xfb6d9aa12be05a1b97064c0917d00880c935b5049e900bed77efbfbda17b69e1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4b1ba524f968c6d00ad4e1168e0925a4c14037cf4ab4472b7ef817ba0ec04a71", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xfb6d9aa12be05a1b97064c0917d00880c935b5049e900bed77efbfbda17b69e1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4b1ba524f968c6d00ad4e1168e0925a4c14037cf4ab4472b7ef817ba0ec04a71", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xfb6d9aa12be05a1b97064c0917d00880c935b5049e900bed77efbfbda17b69e1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4b1ba524f968c6d00ad4e1168e0925a4c14037cf4ab4472b7ef817ba0ec04a71", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xfb6d9aa12be05a1b97064c0917d00880c935b5049e900bed77efbfbda17b69e1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4b1ba524f968c6d00ad4e1168e0925a4c14037cf4ab4472b7ef817ba0ec04a71", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xa7c91c25306b2a92ae0371a38c784673fd2c10bd0ded6a428b3fbb4ed39fe7a2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xa7c91c25306b2a92ae0371a38c784673fd2c10bd0ded6a428b3fbb4ed39fe7a2", - "indexes" : { - "data" : 0, - "gas" : 1, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x01" : "0x01" + } } } - ] - }, + } + ], "pre" : { - "0x094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x01", - "code" : "0x600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61c350fa6000556001600155", - "nonce" : "0x00", + "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1", + "code" : "{ [[0]] (STATICCALL 50000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[1]] 1}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x01", - "code" : "0x60016000fd", - "nonce" : "0x00", + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1", + "code" : "{ (REVERT 0 1) }", + "nonce" : "0", "storage" : { } } @@ -133,15 +60,15 @@ "" ], "gasLimit" : [ - "0x0704e0", - "0x0157c0" + "460000", + "88000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x094f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "094f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_ZeroValue_CALL_OOGRevert.json b/GeneralStateTests/stStaticCall/static_ZeroValue_CALL_OOGRevert.json index 169a0115d..25ea092fd 100644 --- a/GeneralStateTests/stStaticCall/static_ZeroValue_CALL_OOGRevert.json +++ b/GeneralStateTests/stStaticCall/static_ZeroValue_CALL_OOGRevert.json @@ -2,81 +2,56 @@ "static_ZeroValue_CALL_OOGRevert" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ZeroValue_CALL_OOGRevertFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xa734b9b37f727f05af41ada03ed8d58fe3ae9d3df72c91bba54ccee2a93cd1f0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "ALL" + ], + "result" : { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" + }, + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00", + "0x64" : "0x00" + } + }, + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "shouldnotexist" : "1" } } - ], - "EIP158" : [ - { - "hash" : "0xa734b9b37f727f05af41ada03ed8d58fe3ae9d3df72c91bba54ccee2a93cd1f0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xa734b9b37f727f05af41ada03ed8d58fe3ae9d3df72c91bba54ccee2a93cd1f0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xa734b9b37f727f05af41ada03ed8d58fe3ae9d3df72c91bba54ccee2a93cd1f0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xa734b9b37f727f05af41ada03ed8d58fe3ae9d3df72c91bba54ccee2a93cd1f0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x5a600055600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa600155600c600255600c600355600c6004555a606455", - "nonce" : "0x00", + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "code" : "{ [[0]](GAS) [[1]] (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 [[100]] (GAS) }", + "nonce" : "0", "storage" : { } } @@ -86,14 +61,14 @@ "" ], "gasLimit" : [ - "0x020f58" + "135000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_ZeroValue_SUICIDE_OOGRevert.json b/GeneralStateTests/stStaticCall/static_ZeroValue_SUICIDE_OOGRevert.json index 15b73c354..3e655f4fa 100644 --- a/GeneralStateTests/stStaticCall/static_ZeroValue_SUICIDE_OOGRevert.json +++ b/GeneralStateTests/stStaticCall/static_ZeroValue_SUICIDE_OOGRevert.json @@ -2,88 +2,61 @@ "static_ZeroValue_SUICIDE_OOGRevert" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_ZeroValue_SUICIDE_OOGRevertFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x6194eebfb41678807de678a238c07a79cfe19bd51e65bf6e81a2e1a472ce4ec5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "ALL" + ], + "result" : { + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "nonce" : "1" + }, + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + } + }, + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + } } } - ], - "EIP158" : [ - { - "hash" : "0x6194eebfb41678807de678a238c07a79cfe19bd51e65bf6e81a2e1a472ce4ec5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x6194eebfb41678807de678a238c07a79cfe19bd51e65bf6e81a2e1a472ce4ec5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x6194eebfb41678807de678a238c07a79cfe19bd51e65bf6e81a2e1a472ce4ec5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x6194eebfb41678807de678a238c07a79cfe19bd51e65bf6e81a2e1a472ce4ec5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b619c40fa50600c600255600c600355600c6004555a606455", - "nonce" : "0x00", + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "code" : "{ (STATICCALL 40000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 [[100]](GAS) }", + "nonce" : "0", "storage" : { } }, - "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x00", - "code" : "0x73c94f5374fce5edbc8e2a8697c15331677e6ebf0bff", - "nonce" : "0x00", + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0", + "code" : "{ (SELFDESTRUCT 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b) }", + "nonce" : "0", "storage" : { } } @@ -93,14 +66,14 @@ "" ], "gasLimit" : [ - "0x0186a0" + "100000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callBasic.json b/GeneralStateTests/stStaticCall/static_callBasic.json index 8fb44d2f2..6d34a94e4 100644 --- a/GeneralStateTests/stStaticCall/static_callBasic.json +++ b/GeneralStateTests/stStaticCall/static_callBasic.json @@ -2,244 +2,139 @@ "static_callBasic" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callBasicFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : [ + 0, + 1 + ], + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x0d523a" + } } } - ], - "Homestead" : [ - { - "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : [ + 2 + ], + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x878b80add1abb7af8d96df83bce06145d9fb66fa717d2cc1287f1b6c79bd2e9e", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x0dff20" + } } } - ], - "Metropolis" : [ - { - "hash" : "0x9e7aa1a7c5c8d833eddc371a7f345164c71f351cdec57f88694a43e9808cb266", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x9e7aa1a7c5c8d833eddc371a7f345164c71f351cdec57f88694a43e9808cb266", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa36b307bf39fda51ee5d0e625576b54edffce138c72af2ac59ad89933af2f486", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : [ + 3 + ], + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x9de54a362f7300bda55c9888c94c4b822c3db8a1a4913698622a63fbd629ec56", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x0e8125" + } + }, + "3000000000000000000000000000000000000003" : { + "balance" : "23" } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000600035620186a0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x17", - "code" : "0x6001600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "23", + "code" : " { [[ 1 ]] 1 } ", + "nonce" : "0", "storage" : { "0x01" : "0x01" } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x17", - "code" : "0x6000600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "23", + "code" : " { [[ 1 ]] 0 } ", + "nonce" : "0", "storage" : { + "0x01" : "0x00" } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x17", - "code" : "0x60006000600060006000732000000000000000000000000000000000000003619c40f1506001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "23", + "code" : " { (CALL 40000 0x2000000000000000000000000000000000000003 0 0 0 0 0) (MSTORE 1 1) } ", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000004" : { - "balance" : "0x17", - "code" : "0x60006000600060006001733000000000000000000000000000000000000003619c40f2506001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000004" : { + "balance" : "23", + "code" : " { (CALLCODE 40000 0x3000000000000000000000000000000000000003 1 0 0 0 0) (MSTORE 1 1) } ", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000003" : { - "balance" : "0x17", - "code" : "0x600a6001a06001600152", - "nonce" : "0x00", + "2000000000000000000000000000000000000003" : { + "balance" : "23", + "code" : " { (LOG0 1 10) (MSTORE 1 1) } ", + "nonce" : "0", "storage" : { } }, - "0x3000000000000000000000000000000000000003" : { - "balance" : "0x17", - "code" : "0x6001600152", - "nonce" : "0x00", + "3000000000000000000000000000000000000003" : { + "balance" : "23", + "code" : " { (MSTORE 1 1) } ", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -252,14 +147,14 @@ "0x0000000000000000000000001000000000000000000000000000000000000004" ], "gasLimit" : [ - "0x0f4240" + "1000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callChangeRevert.json b/GeneralStateTests/stStaticCall/static_callChangeRevert.json index adc7f8329..973cb5212 100644 --- a/GeneralStateTests/stStaticCall/static_callChangeRevert.json +++ b/GeneralStateTests/stStaticCall/static_callChangeRevert.json @@ -2,196 +2,132 @@ "static_callChangeRevert" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callChangeRevertFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x9862bd7f7e41739567c0fcf373a643e02199a8f8221784b8015d796d5cfa80b0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x9862bd7f7e41739567c0fcf373a643e02199a8f8221784b8015d796d5cfa80b0", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x9862bd7f7e41739567c0fcf373a643e02199a8f8221784b8015d796d5cfa80b0", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x9862bd7f7e41739567c0fcf373a643e02199a8f8221784b8015d796d5cfa80b0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x9862bd7f7e41739567c0fcf373a643e02199a8f8221784b8015d796d5cfa80b0", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x9862bd7f7e41739567c0fcf373a643e02199a8f8221784b8015d796d5cfa80b0", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xa1a814154ba9bf8d4c027fe43f5216dae1123bd2f70e94296b71adf31884bf27", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xa1a814154ba9bf8d4c027fe43f5216dae1123bd2f70e94296b71adf31884bf27", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa1a814154ba9bf8d4c027fe43f5216dae1123bd2f70e94296b71adf31884bf27", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01", + "0x02" : "0x01" + } + }, + "1000000000000000000000000000000000000001" : { + "balance" : "0x02" } } - ], - "Homestead" : [ - { - "hash" : "0xa1a814154ba9bf8d4c027fe43f5216dae1123bd2f70e94296b71adf31884bf27", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa1a814154ba9bf8d4c027fe43f5216dae1123bd2f70e94296b71adf31884bf27", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xa1a814154ba9bf8d4c027fe43f5216dae1123bd2f70e94296b71adf31884bf27", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000001" : { + "balance" : "0x00" + }, + "2000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00", + "0x02" : "0x00" + } } } - ], - "Metropolis" : [ - { - "hash" : "0xedf534c3449840273633f020f057b42f6c24bffece5c4d8fd22acd6d3906c703", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x9862bd7f7e41739567c0fcf373a643e02199a8f8221784b8015d796d5cfa80b0", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 2, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xa38f4ab3a7fd701ac24ddf0c98be0a785709205e54754414d389a5560e686727", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000002" : { + "balance" : "0x02" + }, + "3000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x00", + "0x02" : "0x01" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60006000600060006001731000000000000000000000000000000000000001620186a0f16000556000600060006000731000000000000000000000000000000000000001620186a0fa60015560006000600060006001731000000000000000000000000000000000000001620186a0f1600255", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "", + "code" : "{ (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6001600152600154600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "", + "code" : "{ (MSTORE 1 1) (SSTORE 1 (SLOAD 1)) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60006000600060006001731000000000000000000000000000000000000001620186a0f16000556000600060006000731000000000000000000000000000000000000001620186a0fa60015560006000600060006001731000000000000000000000000000000000000001620186a0f16002555b61c3506080511015608b576001608051016080526073565b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x3000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60006000600060006001731000000000000000000000000000000000000002620186a0f16000556000600060006000731000000000000000000000000000000000000002620186a0fa60015560006000600060006001731000000000000000000000000000000000000002620186a0f1600255", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000600060003562055730f1", - "nonce" : "0x00", + "a000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (CALL 350000 (CALLDATALOAD 0) 0 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -203,14 +139,14 @@ "0x0000000000000000000000003000000000000000000000000000000000000000" ], "gasLimit" : [ - "0x0f4240" + "1000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xa000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "a000000000000000000000000000000000000000", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callCreate.json b/GeneralStateTests/stStaticCall/static_callCreate.json index 9e0d6c5da..6bae04ec2 100644 --- a/GeneralStateTests/stStaticCall/static_callCreate.json +++ b/GeneralStateTests/stStaticCall/static_callCreate.json @@ -2,229 +2,99 @@ "static_callCreate" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callCreateFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : [ + 0, + 2, + 3 + ], + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x458708119c90c61ffa99d27a92b8c1b9936d3f86c1cf410ca36b494f677bc3b4", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01" + } } } - ], - "Metropolis" : [ - { - "hash" : "0x4913a843fbbb28522841c365fda4cc864fe0289326d4b3818fa411e69a48056a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x572451704b993036d72ba5e2fbce35551573d5750623101e23c06c501ab45ce0", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x9b5302ee01f42b5282b0a0f4daf587e3e19797b71c1838524e0abb9daca74a79", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : [ + 1 + ], + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x9b5302ee01f42b5282b0a0f4daf587e3e19797b71c1838524e0abb9daca74a79", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000600035620493e0fa600055", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 300000 (CALLDATALOAD 0) 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60006000600060006000731000000000000000000000000000000000000002620249f0f1", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (CALL 150000 0x1000000000000000000000000000000000000002 0 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600160016000f0", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "1000000000000000000", + "code" : "{ (CREATE 0 1 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000731000000000000000000000000000000000000002620249f0f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "1000000000000000000", + "code" : "{ (DELEGATECALL 150000 0x1000000000000000000000000000000000000002 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000004" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000731000000000000000000000000000000000000002620249f0fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000004" : { + "balance" : "1000000000000000000", + "code" : "{ (STATICCALL 150000 0x1000000000000000000000000000000000000002 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -237,14 +107,14 @@ "0x0000000000000000000000001000000000000000000000000000000000000004" ], "gasLimit" : [ - "0x0f4240" + "1000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callCreate2.json b/GeneralStateTests/stStaticCall/static_callCreate2.json index ba0437fe6..2fbb4ee6b 100644 --- a/GeneralStateTests/stStaticCall/static_callCreate2.json +++ b/GeneralStateTests/stStaticCall/static_callCreate2.json @@ -2,182 +2,111 @@ "static_callCreate2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callCreate2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x10b8cf99d89c7993a5c2162c68114522ddc549018f0512e9e96a1cee6c1d3ed6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5fab2061f493c9343bbee1e7edc78914311aa34878145bc249c4e996bf7faf54", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5fab2061f493c9343bbee1e7edc78914311aa34878145bc249c4e996bf7faf54", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x10b8cf99d89c7993a5c2162c68114522ddc549018f0512e9e96a1cee6c1d3ed6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5fab2061f493c9343bbee1e7edc78914311aa34878145bc249c4e996bf7faf54", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5fab2061f493c9343bbee1e7edc78914311aa34878145bc249c4e996bf7faf54", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xd059e3df4c5983e3eb2aefe4e21ddec38cfb7e50985722e901cb284cfafdc821", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x4f054fdf16893de1522c1f59ec9a4fd439ae5d7589f782a97b1b42d7d9624efb", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4f054fdf16893de1522c1f59ec9a4fd439ae5d7589f782a97b1b42d7d9624efb", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x13136008b64ff592819b2fa6d43f2835c452020e", + "0x01" : "0x01" + } } } - ], - "Homestead" : [ - { - "hash" : "0xd059e3df4c5983e3eb2aefe4e21ddec38cfb7e50985722e901cb284cfafdc821", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4f054fdf16893de1522c1f59ec9a4fd439ae5d7589f782a97b1b42d7d9624efb", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x4f054fdf16893de1522c1f59ec9a4fd439ae5d7589f782a97b1b42d7d9624efb", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x00" : "0x5dddfce53ee040d9eb21afbc0ae1bb4dbb0ba643", + "0x01" : "0x00" + } + }, + "5dddfce53ee040d9eb21afbc0ae1bb4dbb0ba643" : { + "code" : "0x6001600155", + "storage" : { + } } } - ], - "Metropolis" : [ - { - "hash" : "0x3a8606384958c04ab62190291bd59e34e7027ba675e7030167d6414465d3ff0e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x9edc7af189337cc08709e50b3b1ebc8a57a6edb67681602c3aae95837708fae8", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 2, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x5fab2061f493c9343bbee1e7edc78914311aa34878145bc249c4e996bf7faf54", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600060006001f06000556000600060006000600054620493e0fa600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CREATE 1 0 0) [[ 1 ]] (STATICCALL 300000 (SLOAD 0) 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6d6460016001556000526005601bf3600052600e60126001f06000556000600060006000600054620493e0fa600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0x6460016001556000526005601bf3 ) [[ 0 ]] (CREATE 1 18 14) [[ 1 ]] (STATICCALL 300000 (SLOAD 0) 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6d6460016001556000526005601bf3600052600e60126001f06000556000600060006000600054620493e0fa6001555b61c3506080511015604757600160805101608052602f565b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60006000600060006000600035620927c0f1", - "nonce" : "0x00", + "a000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (CALL 600000 (CALLDATALOAD 0) 0 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -189,14 +118,14 @@ "0x0000000000000000000000001000000000000000000000000000000000000002" ], "gasLimit" : [ - "0x0f4240" + "1000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xa000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "a000000000000000000000000000000000000000", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callCreate3.json b/GeneralStateTests/stStaticCall/static_callCreate3.json index 2d0f9fe8d..7d885c338 100644 --- a/GeneralStateTests/stStaticCall/static_callCreate3.json +++ b/GeneralStateTests/stStaticCall/static_callCreate3.json @@ -2,88 +2,57 @@ "static_callCreate3" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callCreate3Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x6667373379d90d12444e57a2f1d8ebd76e77f5b0f4728528af7db63656f73abf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x13136008b64ff592819b2fa6d43f2835c452020e", + "0x01" : "0x01", + "0x02" : "0x07a52c" + } } } - ], - "EIP158" : [ - { - "hash" : "0x6667373379d90d12444e57a2f1d8ebd76e77f5b0f4728528af7db63656f73abf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xbb4a6205f5e3b59953b554d0e9f501f1cd0869cb1d0a7fb2d2f30047b4ae617f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xbb4a6205f5e3b59953b554d0e9f501f1cd0869cb1d0a7fb2d2f30047b4ae617f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xa2655cccdd6db292d3ca596efcec973c768c33a68f99e6edda1fe2c6f024dc94", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x766d600060006000600030620186a0fa600052600e6012f3600052601760096001f06000556000600060006000600054617530fa6001555a600255", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60006000600060006000600035620927c0f1", - "nonce" : "0x00", + "a000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (CALL 600000 (CALLDATALOAD 0) 0 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +62,14 @@ "0x0000000000000000000000001000000000000000000000000000000000000000" ], "gasLimit" : [ - "0x0f4240" + "1000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xa000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "a000000000000000000000000000000000000000", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callOutput1.json b/GeneralStateTests/stStaticCall/static_callOutput1.json index 32fd7e951..c28c2393c 100644 --- a/GeneralStateTests/stStaticCall/static_callOutput1.json +++ b/GeneralStateTests/stStaticCall/static_callOutput1.json @@ -2,88 +2,55 @@ "static_callOutput1" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callOutput1Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xdcda2f2506d8ab12525df357269e67542e003479bb625dc3daf0372a799c39a9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + } } } - ], - "EIP158" : [ - { - "hash" : "0xf57cc3cc70e027eeaae84a16969e046b31dac683e63ff8fc008489564833fadf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xdcda2f2506d8ab12525df357269e67542e003479bb625dc3daf0372a799c39a9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xdcda2f2506d8ab12525df357269e67542e003479bb625dc3daf0372a799c39a9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xcca6c7bacf50f319336fdbcf913372f7e77d4d6aea7affe3d6d7227efb6fe15a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7f5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6600052600060006000600073aaae7baea6a6c7c4c2dfeb977efac326af552d8761c350fa50600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0) [[ 0 ]] (MLOAD 0) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "", - "nonce" : "0x00", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", + "code" : "0x", + "nonce" : "0", "storage" : { } }, - "0xaaae7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", + "aaae7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", "code" : "0x6001600101600055", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +60,14 @@ "" ], "gasLimit" : [ - "0x0f4240" + "1000000" ], - "gasPrice" : "0x00", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callOutput2.json b/GeneralStateTests/stStaticCall/static_callOutput2.json index 5a1e4f72d..001c97cee 100644 --- a/GeneralStateTests/stStaticCall/static_callOutput2.json +++ b/GeneralStateTests/stStaticCall/static_callOutput2.json @@ -2,88 +2,55 @@ "static_callOutput2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callOutput2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x74fb1943ccac07624e78e0095e705ae443a4b63808612ffcda05ff65c7641017", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + } } } - ], - "EIP158" : [ - { - "hash" : "0x4b8ba8a78ccb66a9cdc5121a3c9583cfead49dda36d95742c7d3c834bb98bcbf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x74fb1943ccac07624e78e0095e705ae443a4b63808612ffcda05ff65c7641017", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x74fb1943ccac07624e78e0095e705ae443a4b63808612ffcda05ff65c7641017", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x98397672a9ff65d8aac09897a5b84ec04723504cfe7f46e23b5a84683c0c8d3d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7f5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6600052600060006020600073aaae7baea6a6c7c4c2dfeb977efac326af552d8761c350fa50600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 32 0 0) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "", - "nonce" : "0x00", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", + "code" : "0x", + "nonce" : "0", "storage" : { } }, - "0xaaae7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", + "aaae7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", "code" : "0x6001600101600055", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +60,14 @@ "" ], "gasLimit" : [ - "0x0f4240" + "1000000" ], - "gasPrice" : "0x00", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callOutput3.json b/GeneralStateTests/stStaticCall/static_callOutput3.json index b4f2f8772..f506ab962 100644 --- a/GeneralStateTests/stStaticCall/static_callOutput3.json +++ b/GeneralStateTests/stStaticCall/static_callOutput3.json @@ -2,88 +2,55 @@ "static_callOutput3" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callOutput3Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x94b2e25ea06e61afec651fc72c881f748d12df0a85a0b59e90cd045c95b39098", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + } } } - ], - "EIP158" : [ - { - "hash" : "0x5bb10fa4353d6532f637333c2ab5f0c534049c8e72715b11b6194a170cfe826e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x94b2e25ea06e61afec651fc72c881f748d12df0a85a0b59e90cd045c95b39098", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x94b2e25ea06e61afec651fc72c881f748d12df0a85a0b59e90cd045c95b39098", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x7351d755bcda41e65209ea35b96115142fc1dd817a2a84b3bdb3ea309b20ede8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7f5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6600052602060006000600073aaae7baea6a6c7c4c2dfeb977efac326af552d8761c350fa50600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "", - "nonce" : "0x00", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", + "code" : "0x", + "nonce" : "0", "storage" : { } }, - "0xaaae7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", + "aaae7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", "code" : "0x6001600101600055", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +60,14 @@ "" ], "gasLimit" : [ - "0x0f4240" + "1000000" ], - "gasPrice" : "0x00", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callOutput3Fail.json b/GeneralStateTests/stStaticCall/static_callOutput3Fail.json index fca865950..8cb27d560 100644 --- a/GeneralStateTests/stStaticCall/static_callOutput3Fail.json +++ b/GeneralStateTests/stStaticCall/static_callOutput3Fail.json @@ -2,88 +2,55 @@ "static_callOutput3Fail" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callOutput3FailFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x66a39518ae7bcd6103fe0a7afb975949ad2f9385c4ff9ac51f9787c9c40ab736", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + } } } - ], - "EIP158" : [ - { - "hash" : "0x7678f54fad56cc9150c2be153fad75b3a4aa7fe8e65d00154a8376cb55a037a0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x66a39518ae7bcd6103fe0a7afb975949ad2f9385c4ff9ac51f9787c9c40ab736", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x66a39518ae7bcd6103fe0a7afb975949ad2f9385c4ff9ac51f9787c9c40ab736", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x7c04be3b67c508c3748e758fc3311369f6e60db8a7e0063977643e234a269aea", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7f5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6600052602060006000600073aaae7baea6a6c7c4c2dfeb977efac326af552d8761c350fa50600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 32) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "", - "nonce" : "0x00", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", + "code" : "0x", + "nonce" : "0", "storage" : { } }, - "0xaaae7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", + "aaae7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", "code" : "0x016001600101600055", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +60,14 @@ "" ], "gasLimit" : [ - "0x0f4240" + "1000000" ], - "gasPrice" : "0x00", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callOutput3partial.json b/GeneralStateTests/stStaticCall/static_callOutput3partial.json index 5fb6e2102..980bcc2e2 100644 --- a/GeneralStateTests/stStaticCall/static_callOutput3partial.json +++ b/GeneralStateTests/stStaticCall/static_callOutput3partial.json @@ -2,88 +2,55 @@ "static_callOutput3partial" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callOutput3partialFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x43e4e92dfaf950b23a61a44e194fffa52bd9ee18821d8c735d915a117021f4ab", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + } } } - ], - "EIP158" : [ - { - "hash" : "0x64d7853e9540e2e989967df6097d95ddfdb1e1350d948667a4e663f98292fcfc", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x43e4e92dfaf950b23a61a44e194fffa52bd9ee18821d8c735d915a117021f4ab", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x43e4e92dfaf950b23a61a44e194fffa52bd9ee18821d8c735d915a117021f4ab", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x2bd4fde32fa0decdf81d844f06c8c7ee39638c5ebaa30cb08cc80e7eaf95a1b0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7f5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6600052600a60006000600073aaae7baea6a6c7c4c2dfeb977efac326af552d8761c350fa50600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 10) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "", - "nonce" : "0x00", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", + "code" : "0x", + "nonce" : "0", "storage" : { } }, - "0xaaae7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", + "aaae7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", "code" : "0x6001600101600055", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +60,14 @@ "" ], "gasLimit" : [ - "0x0f4240" + "1000000" ], - "gasPrice" : "0x00", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callOutput3partialFail.json b/GeneralStateTests/stStaticCall/static_callOutput3partialFail.json index 2a4a9ce8e..6c4c8c189 100644 --- a/GeneralStateTests/stStaticCall/static_callOutput3partialFail.json +++ b/GeneralStateTests/stStaticCall/static_callOutput3partialFail.json @@ -2,88 +2,55 @@ "static_callOutput3partialFail" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callOutput3partialFailFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x363c99ea485be79f75665c2e2163fec499d65c1144b405209d88c989f451d3ea", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + } } } - ], - "EIP158" : [ - { - "hash" : "0xa24047f1310c69b4bd35bf0ef83d84cfa1998109834c3f85eb57c5b2d05b321f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x363c99ea485be79f75665c2e2163fec499d65c1144b405209d88c989f451d3ea", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x363c99ea485be79f75665c2e2163fec499d65c1144b405209d88c989f451d3ea", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x5146b697f8ab39ea6fdc15ed2d8e55dabd0797e21c8f277c1d1c2e239c620edf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7f5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6600052600a60006000600073aaae7baea6a6c7c4c2dfeb977efac326af552d8761c350fa50600051600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 10) [[ 0 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "", - "nonce" : "0x00", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", + "code" : "0x", + "nonce" : "0", "storage" : { } }, - "0xaaae7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", + "aaae7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", "code" : "0x016001600101600055", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +60,14 @@ "" ], "gasLimit" : [ - "0x0f4240" + "1000000" ], - "gasPrice" : "0x00", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "0", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callToCallCodeOpCodeCheck.json b/GeneralStateTests/stStaticCall/static_callToCallCodeOpCodeCheck.json index 574b880d4..998ed8e13 100644 --- a/GeneralStateTests/stStaticCall/static_callToCallCodeOpCodeCheck.json +++ b/GeneralStateTests/stStaticCall/static_callToCallCodeOpCodeCheck.json @@ -2,95 +2,62 @@ "static_callToCallCodeOpCodeCheck" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callToCallCodeOpCodeCheckFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xbe52a420010514c20a0755b3a4848f702ca9dc6622dcd487f173e53b5362079e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0xbe52a420010514c20a0755b3a4848f702ca9dc6622dcd487f173e53b5362079e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xbe52a420010514c20a0755b3a4848f702ca9dc6622dcd487f173e53b5362079e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xbe52a420010514c20a0755b3a4848f702ca9dc6622dcd487f173e53b5362079e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x9ee4a79f211e99a66a190f1ee07b9d8e55f8268da4e4d3bd8d1432f8044b40e5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000600035620186a0fa600055", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60006000600060006000731000000000000000000000000000000000000002620186a0f26000526000516001146038576001600155603e565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373100000000000000000000000000000000000000114604b5760026001556051565b60016001525b30731000000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -100,14 +67,14 @@ "0x0000000000000000000000001000000000000000000000000000000000000001" ], "gasLimit" : [ - "0x0f4240" + "1000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callToCallOpCodeCheck.json b/GeneralStateTests/stStaticCall/static_callToCallOpCodeCheck.json index a3854a2c5..841369550 100644 --- a/GeneralStateTests/stStaticCall/static_callToCallOpCodeCheck.json +++ b/GeneralStateTests/stStaticCall/static_callToCallOpCodeCheck.json @@ -2,95 +2,62 @@ "static_callToCallOpCodeCheck" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callToCallOpCodeCheckFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x48144ffd7a138f29a04d4982125f32049c1955c0689656d410f4c5c42ff1e9a4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x48144ffd7a138f29a04d4982125f32049c1955c0689656d410f4c5c42ff1e9a4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x48144ffd7a138f29a04d4982125f32049c1955c0689656d410f4c5c42ff1e9a4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x48144ffd7a138f29a04d4982125f32049c1955c0689656d410f4c5c42ff1e9a4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xa1263f951927904a54d7e668e89eb03b4cb2b173275f3db7bd77982aec9c4057", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000600035620186a0fa600055", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60006000600060006000731000000000000000000000000000000000000002620186a0f16000526000516001146038576001600155603e565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373100000000000000000000000000000000000000114604b5760026001556051565b60016001525b30731000000000000000000000000000000000000002146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -100,14 +67,14 @@ "0x0000000000000000000000001000000000000000000000000000000000000001" ], "gasLimit" : [ - "0x0f4240" + "1000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callToDelCallOpCodeCheck.json b/GeneralStateTests/stStaticCall/static_callToDelCallOpCodeCheck.json index ee6c75d9d..c9bec3461 100644 --- a/GeneralStateTests/stStaticCall/static_callToDelCallOpCodeCheck.json +++ b/GeneralStateTests/stStaticCall/static_callToDelCallOpCodeCheck.json @@ -2,95 +2,62 @@ "static_callToDelCallOpCodeCheck" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callToDelCallOpCodeCheckFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x4a05e190ca9b2aa6ea6bb26553943e38bc7d0fc5720214d0cede65006c02c5b3", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x4a05e190ca9b2aa6ea6bb26553943e38bc7d0fc5720214d0cede65006c02c5b3", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x4a05e190ca9b2aa6ea6bb26553943e38bc7d0fc5720214d0cede65006c02c5b3", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x4a05e190ca9b2aa6ea6bb26553943e38bc7d0fc5720214d0cede65006c02c5b3", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xf27b07631e1e35993285fd56e6e21dc79b16c4aa0710c20334773f1b9a4dc624", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000600035620186a0fa600055", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000731000000000000000000000000000000000000002620186a0f46000526000516001146036576001600155603c565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373100000000000000000000000000000000000000014604b5760026001556051565b60016001525b30731000000000000000000000000000000000000001146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -100,14 +67,14 @@ "0x0000000000000000000000001000000000000000000000000000000000000001" ], "gasLimit" : [ - "0x0f4240" + "1000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callToStaticOpCodeCheck.json b/GeneralStateTests/stStaticCall/static_callToStaticOpCodeCheck.json index a87bcca6c..4ad81a3a3 100644 --- a/GeneralStateTests/stStaticCall/static_callToStaticOpCodeCheck.json +++ b/GeneralStateTests/stStaticCall/static_callToStaticOpCodeCheck.json @@ -2,95 +2,62 @@ "static_callToStaticOpCodeCheck" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callToStaticOpCodeCheckFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xf4fae6c9153d7bc9db07d90c1481e2d04fee420a1f5ce32eeeed2480907f7b1c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0xf4fae6c9153d7bc9db07d90c1481e2d04fee420a1f5ce32eeeed2480907f7b1c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xf4fae6c9153d7bc9db07d90c1481e2d04fee420a1f5ce32eeeed2480907f7b1c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xf4fae6c9153d7bc9db07d90c1481e2d04fee420a1f5ce32eeeed2480907f7b1c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x84398cb8003abdfdfe57ab2377b14dbd83e4f7633e04f72784e45a387d5998c7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000600035620186a0fa600055", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000731000000000000000000000000000000000000002620186a0fa6000526000516001146036576001600155603c565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x3273a94f5374fce5edbc8e2a8697c15331677e6ebf0b1460225760026001556028565b60016001525b3373100000000000000000000000000000000000000114604b5760026001556051565b60016001525b30731000000000000000000000000000000000000002146074576002600155607a565b60016001525b34600014608a5760026001556090565b60016001525b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -100,14 +67,14 @@ "0x0000000000000000000000001000000000000000000000000000000000000001" ], "gasLimit" : [ - "0x0f4240" + "1000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callWithHighValue.json b/GeneralStateTests/stStaticCall/static_callWithHighValue.json index a2731a2b5..eedf5dec9 100644 --- a/GeneralStateTests/stStaticCall/static_callWithHighValue.json +++ b/GeneralStateTests/stStaticCall/static_callWithHighValue.json @@ -2,88 +2,56 @@ "static_callWithHighValue" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callWithHighValueFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x8f6045c603354ac947928942738084e0abca2b07d45b7a0b43cd805fb4d6846b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d23ad" + } } } - ], - "EIP158" : [ - { - "hash" : "0x8f6045c603354ac947928942738084e0abca2b07d45b7a0b43cd805fb4d6846b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x8f6045c603354ac947928942738084e0abca2b07d45b7a0b43cd805fb4d6846b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x8f6045c603354ac947928942738084e0abca2b07d45b7a0b43cd805fb4d6846b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x43f0bce54ba1b951c95f5c63d0583047a777f150fb4bf9c4b3b45227d5c34a4b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600260006040600073945304eb96065b2a98b57a48a06ae28d285a71b561c350fa6000555a600155", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 50000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 64 0 2 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x17", + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "23", "code" : "0x603760005360026000f3", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +61,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callWithHighValueAndGasOOG.json b/GeneralStateTests/stStaticCall/static_callWithHighValueAndGasOOG.json index c2a949a12..44a4de3f6 100644 --- a/GeneralStateTests/stStaticCall/static_callWithHighValueAndGasOOG.json +++ b/GeneralStateTests/stStaticCall/static_callWithHighValueAndGasOOG.json @@ -2,88 +2,56 @@ "static_callWithHighValueAndGasOOG" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callWithHighValueAndGasOOGFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x84929503ecc3a6ca10a1363609e30a3dbe5c30dba222949c206e4e5e795b7583", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x3700ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } } } - ], - "EIP158" : [ - { - "hash" : "0x84929503ecc3a6ca10a1363609e30a3dbe5c30dba222949c206e4e5e795b7583", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x84929503ecc3a6ca10a1363609e30a3dbe5c30dba222949c206e4e5e795b7583", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x84929503ecc3a6ca10a1363609e30a3dbe5c30dba222949c206e4e5e795b7583", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x2dc5f18cf4be4b9d74d62fa5cd928596a3ee658b4cc84fa2462f1017d5a2a846", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000527faaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa602052600260006040600073945304eb96065b2a98b57a48a06ae28d285a71b56bfffffffffffffffffffffffffa600055600051600155", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 0xffffffffffffffffffffffff 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 64 0 2 ) [[ 1 ]] (MLOAD 0)}", + "nonce" : "0", "storage" : { } }, - "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x17", + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "23", "code" : "0x603760005360026000f3", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +61,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callWithHighValueAndOOGatTxLevel.json b/GeneralStateTests/stStaticCall/static_callWithHighValueAndOOGatTxLevel.json index a7641e5e9..ae8f04fc5 100644 --- a/GeneralStateTests/stStaticCall/static_callWithHighValueAndOOGatTxLevel.json +++ b/GeneralStateTests/stStaticCall/static_callWithHighValueAndOOGatTxLevel.json @@ -2,88 +2,58 @@ "static_callWithHighValueAndOOGatTxLevel" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callWithHighValueAndOOGatTxLevelFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xc632274ed416f6b4e1c235e385b68b35b4a5de30439b29022b44ae82ef5739b0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x01" + } + }, + "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : { + "balance" : "46751" } } - ], - "EIP158" : [ - { - "hash" : "0xc632274ed416f6b4e1c235e385b68b35b4a5de30439b29022b44ae82ef5739b0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xc632274ed416f6b4e1c235e385b68b35b4a5de30439b29022b44ae82ef5739b0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xc632274ed416f6b4e1c235e385b68b35b4a5de30439b29022b44ae82ef5739b0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x0e1e66ad160afa3d483690630b23d6322d2e5593a300637fffa265251977df82", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0186a0", - "code" : "0x600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b5622dc6c1fa600055600051600155", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "100000", + "code" : "{ [[ 0 ]] (STATICCALL 3000001 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0 ) [[ 1 ]] (MLOAD 0) }", + "nonce" : "0", "storage" : { } }, - "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x17", + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "23", "code" : "0x603760005360026000f3", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +63,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callWithHighValueOOGinCall.json b/GeneralStateTests/stStaticCall/static_callWithHighValueOOGinCall.json index 321a73766..5f7f748e0 100644 --- a/GeneralStateTests/stStaticCall/static_callWithHighValueOOGinCall.json +++ b/GeneralStateTests/stStaticCall/static_callWithHighValueOOGinCall.json @@ -2,88 +2,55 @@ "static_callWithHighValueOOGinCall" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callWithHighValueOOGinCallFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x866830f0ed3b6a92449b793e9dbbcb46a989e0a0213fa3ac379ac2e7ba5c89e3", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0x866830f0ed3b6a92449b793e9dbbcb46a989e0a0213fa3ac379ac2e7ba5c89e3", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x866830f0ed3b6a92449b793e9dbbcb46a989e0a0213fa3ac379ac2e7ba5c89e3", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x866830f0ed3b6a92449b793e9dbbcb46a989e0a0213fa3ac379ac2e7ba5c89e3", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xf46d27e071984a9d34e79b8eff431c47ea75a4016ef8aff6b4895fe7fe2374ce", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0186a0", - "code" : "0x6001600060006000600073945304eb96065b2a98b57a48a06ae28d285a71b5600afa01600055600051600155", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "100000", + "code" : "{ [[ 0 ]] (ADD (STATICCALL 10 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0 ) 1) [[ 1 ]] (MLOAD 0) }", + "nonce" : "0", "storage" : { } }, - "0x945304eb96065b2a98b57a48a06ae28d285a71b5" : { - "balance" : "0x17", + "945304eb96065b2a98b57a48a06ae28d285a71b5" : { + "balance" : "23", "code" : "0x603760005360026000f3", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +60,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_call_OOG_additionalGasCosts1.json b/GeneralStateTests/stStaticCall/static_call_OOG_additionalGasCosts1.json index d68a9b767..525e9b4bb 100644 --- a/GeneralStateTests/stStaticCall/static_call_OOG_additionalGasCosts1.json +++ b/GeneralStateTests/stStaticCall/static_call_OOG_additionalGasCosts1.json @@ -2,81 +2,46 @@ "static_call_OOG_additionalGasCosts1" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_call_OOG_additionalGasCosts1Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0xb2d05e00", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "3000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x0a39a026a13e02b20833e7367fec666478b287a88cfdb85c18453705f8d23452", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : { + "balance" : "30000" } } - ], - "EIP158" : [ - { - "hash" : "0x0a39a026a13e02b20833e7367fec666478b287a88cfdb85c18453705f8d23452", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x0a39a026a13e02b20833e7367fec666478b287a88cfdb85c18453705f8d23452", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x0a39a026a13e02b20833e7367fec666478b287a88cfdb85c18453705f8d23452", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x0a39a026a13e02b20833e7367fec666478b287a88cfdb85c18453705f8d23452", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001611770fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 6000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -86,14 +51,14 @@ "" ], "gasLimit" : [ - "0x7530" + "30000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_call_OOG_additionalGasCosts2.json b/GeneralStateTests/stStaticCall/static_call_OOG_additionalGasCosts2.json index 92f14509c..657cddfb7 100644 --- a/GeneralStateTests/stStaticCall/static_call_OOG_additionalGasCosts2.json +++ b/GeneralStateTests/stStaticCall/static_call_OOG_additionalGasCosts2.json @@ -2,88 +2,60 @@ "static_call_OOG_additionalGasCosts2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_call_OOG_additionalGasCosts2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0xb2d05e00", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "3000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xf240ca301e6fa6308b5c40ba6a0a2be9fd078fa1dd1b3d6c9570a7c0934239eb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + } + }, + "1000000000000000000000000000000000000001" : { + "balance" : "0" + }, + "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : { + "balance" : "0x7530" } } - ], - "EIP158" : [ - { - "hash" : "0xf240ca301e6fa6308b5c40ba6a0a2be9fd078fa1dd1b3d6c9570a7c0934239eb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xf240ca301e6fa6308b5c40ba6a0a2be9fd078fa1dd1b3d6c9570a7c0934239eb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xf240ca301e6fa6308b5c40ba6a0a2be9fd078fa1dd1b3d6c9570a7c0934239eb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xf240ca301e6fa6308b5c40ba6a0a2be9fd078fa1dd1b3d6c9570a7c0934239eb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001611770fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 6000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +65,14 @@ "" ], "gasLimit" : [ - "0x7530" + "30000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_call_value_inherit.json b/GeneralStateTests/stStaticCall/static_call_value_inherit.json index ae99f8c84..e9d3160e4 100644 --- a/GeneralStateTests/stStaticCall/static_call_value_inherit.json +++ b/GeneralStateTests/stStaticCall/static_call_value_inherit.json @@ -2,89 +2,57 @@ "static_call_value_inherit" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_call_value_inheritFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xc5d9e23a003e568560c82fdfd24f2bf6d127c46de7f72c54d9f778d62fa74fbf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x0" : "0x1", + "0x1" : "0x0" + } } } - ], - "EIP158" : [ - { - "hash" : "0xc5d9e23a003e568560c82fdfd24f2bf6d127c46de7f72c54d9f778d62fa74fbf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xc5d9e23a003e568560c82fdfd24f2bf6d127c46de7f72c54d9f778d62fa74fbf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xc5d9e23a003e568560c82fdfd24f2bf6d127c46de7f72c54d9f778d62fa74fbf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x89ea1ffb32a55407e6ad55d9ec39a8a27edb0397a3c3a40ac2b84072cdea6f78", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x01", - "code" : "0x602060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61c350fa600055600051600155", - "nonce" : "0x00", + "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1", + "code" : "{ [[0]] (STATICCALL 50000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 32) [[1]] (MLOAD 0) }", + "nonce" : "0", "storage" : { - "0x01" : "0x01" + "0x1" : "1" } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x01", - "code" : "0x3460005260206000f3", - "nonce" : "0x00", + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1", + "code" : "{ (MSTORE 0 (CALLVALUE)) (RETURN 0 32) }", + "nonce" : "0", "storage" : { } } @@ -94,14 +62,14 @@ "" ], "gasLimit" : [ - "0x0704e0" + "460000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x094f5374fce5edbc8e2a8697c15331677e6ebf0b", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "094f5374fce5edbc8e2a8697c15331677e6ebf0b", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_call_value_inherit_from_call.json b/GeneralStateTests/stStaticCall/static_call_value_inherit_from_call.json index d901fa133..9beca7a04 100644 --- a/GeneralStateTests/stStaticCall/static_call_value_inherit_from_call.json +++ b/GeneralStateTests/stStaticCall/static_call_value_inherit_from_call.json @@ -2,96 +2,64 @@ "static_call_value_inherit_from_call" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_call_value_inherit_from_callFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x68a0e8cef995f94a37114ca57ad3b172c6de346f3cb333a806ebb7a0cd2b6005", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x0" : "0x1", + "0x1" : "0x0" + } } } - ], - "EIP158" : [ - { - "hash" : "0x68a0e8cef995f94a37114ca57ad3b172c6de346f3cb333a806ebb7a0cd2b6005", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x7fe3f4754897e3ffa189561ff6d94e43c6dc2fbaffa299037c73740099d9100f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x7fe3f4754897e3ffa189561ff6d94e43c6dc2fbaffa299037c73740099d9100f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xa029c69b1ece1e1d9b91446b4029a16f25e89aca3c78e66a39d16cf8ee71ad66", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x01", - "code" : "0x602060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61c350fa600055600051600155", - "nonce" : "0x00", + "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1", + "code" : "{ [[0]] (STATICCALL 50000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 32) [[1]] (MLOAD 0) }", + "nonce" : "0", "storage" : { - "0x01" : "0x01" + "0x1" : "1" } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0xe8d4a51000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xc8b90f8d999d9d9988209481999a9889098a89a0" : { - "balance" : "0x00", - "code" : "0x6000600060006000600a73094f5374fce5edbc8e2a8697c15331677e6ebf0b620186a0f1", - "nonce" : "0x00", + "c8b90f8d999d9d9988209481999a9889098a89a0" : { + "balance" : "0", + "code" : "{ (CALL 100000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 10 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x01", - "code" : "0x3460005260206000f3", - "nonce" : "0x00", + "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1", + "code" : "{ (MSTORE 0 (CALLVALUE)) (RETURN 0 32) }", + "nonce" : "0", "storage" : { } } @@ -101,14 +69,14 @@ "" ], "gasLimit" : [ - "0x0704e0" + "460000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xc8b90f8d999d9d9988209481999a9889098a89a0", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "c8b90f8d999d9d9988209481999a9889098a89a0", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcall_00.json b/GeneralStateTests/stStaticCall/static_callcall_00.json index e1f6ac18c..277069709 100644 --- a/GeneralStateTests/stStaticCall/static_callcall_00.json +++ b/GeneralStateTests/stStaticCall/static_callcall_00.json @@ -2,163 +2,143 @@ "static_callcall_00" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcall_00Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xa56f03e8f4202c99bd39219b63a6b4b7998005401bb2d9d6a06b3b9a7b289dfc", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa56f03e8f4202c99bd39219b63a6b4b7998005401bb2d9d6a06b3b9a7b289dfc", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xa56f03e8f4202c99bd39219b63a6b4b7998005401bb2d9d6a06b3b9a7b289dfc", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa56f03e8f4202c99bd39219b63a6b4b7998005401bb2d9d6a06b3b9a7b289dfc", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x8bcc5b5581f6ee23ddbbd5a93f1f4588826db595e695e98eabe8444f4a339b3a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x8bcc5b5581f6ee23ddbbd5a93f1f4588826db595e695e98eabe8444f4a339b3a", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x02" : "0x00", + "0x04" : "0x00", + "0x07" : "0x00", + "0xe6" : "0x00", + "0xe8" : "0x00", + "0xec" : "0x00", + "0xee" : "0x00", + "0xf0" : "0x00" + } + }, + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x28fea6" + } } } - ], - "Homestead" : [ - { - "hash" : "0x8bcc5b5581f6ee23ddbbd5a93f1f4588826db595e695e98eabe8444f4a339b3a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8bcc5b5581f6ee23ddbbd5a93f1f4588826db595e695e98eabe8444f4a339b3a", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xd6f289168402ca1dfbb871fe608ed3096126165304d525f91c7c8d18148e9eca", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x77399cc4286fe72df69cceb346f61cc2e15ef10efb4ea597735bc149ccd9908d", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "2000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01" + } + }, + "2000000000000000000000000000000000000002" : { + "storage" : { + "0x02" : "0x00", + "0x04" : "0x00", + "0x07" : "0x00", + "0xe6" : "0x00", + "0xe8" : "0x00", + "0xec" : "0x00", + "0xee" : "0x00", + "0xf0" : "0x00" + } + }, + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2ccedd" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000162055730fa600055", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060007310000000000000000000000000000000000000026203d090fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (STATICCALL 250000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x600160025533600455346007553060e6553260e8553660ec553860ee553a60f055", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x2000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073200000000000000000000000000000000000000162055730fa600055", - "nonce" : "0x00", + "2000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 350000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060007320000000000000000000000000000000000000026203d090fa", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (STATICCALL 250000 0x2000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6001600052336020523460405230606052326080523660a0523860c0523a60e052", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "a000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -169,14 +149,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xa000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "a000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcall_00_OOGE.json b/GeneralStateTests/stStaticCall/static_callcall_00_OOGE.json index 18c043538..c71fa37f5 100644 --- a/GeneralStateTests/stStaticCall/static_callcall_00_OOGE.json +++ b/GeneralStateTests/stStaticCall/static_callcall_00_OOGE.json @@ -2,163 +2,145 @@ "static_callcall_00_OOGE" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcall_00_OOGEFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xadf82e6d41108122b66a95932bb0897772c3e2674625830012fc3401a7d33a06", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xadf82e6d41108122b66a95932bb0897772c3e2674625830012fc3401a7d33a06", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xadf82e6d41108122b66a95932bb0897772c3e2674625830012fc3401a7d33a06", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xadf82e6d41108122b66a95932bb0897772c3e2674625830012fc3401a7d33a06", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xadf82e6d41108122b66a95932bb0897772c3e2674625830012fc3401a7d33a06", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xadf82e6d41108122b66a95932bb0897772c3e2674625830012fc3401a7d33a06", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x02" : "0x00" + } + }, + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x015a0e" + } } } - ], - "Homestead" : [ - { - "hash" : "0xadf82e6d41108122b66a95932bb0897772c3e2674625830012fc3401a7d33a06", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xadf82e6d41108122b66a95932bb0897772c3e2674625830012fc3401a7d33a06", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xf1a37027d9a02feb0d3656e3be65843a243640769eb15407306b5432373cb0de", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x64f889d7d71c70266fcfa9146f0a850556ca1e93b01d5ce6e3f2b24b8621128a", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "2000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "2000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "2000000000000000000000000000000000000002" : { + "storage" : { + "0x02" : "0x00" + } + }, + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x015a0e" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa600055", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016002526040600060406000731000000000000000000000000000000000000002614e34fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 2 1) (STATICCALL 20020 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60016002556001600252", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (SSTORE 2 1) (MSTORE 2 1)}", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000732000000000000000000000000000000000000001620249f0fa600055", - "nonce" : "0x00", + "2000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016002526040600060406000732000000000000000000000000000000000000002614e34fa506001602052", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 2 1) (STATICCALL 20020 0x2000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) )}", + "nonce" : "0", "storage" : { } }, - "0xa000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "a000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -169,14 +151,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xa000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "a000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcall_00_OOGE_1.json b/GeneralStateTests/stStaticCall/static_callcall_00_OOGE_1.json index 6cb85c8a1..671ebfd0c 100644 --- a/GeneralStateTests/stStaticCall/static_callcall_00_OOGE_1.json +++ b/GeneralStateTests/stStaticCall/static_callcall_00_OOGE_1.json @@ -2,163 +2,131 @@ "static_callcall_00_OOGE_1" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcall_00_OOGE_1Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x583ce657ea168b99f3821753ea1e1ba4244a2dc96f3a142105e845c60ebc7650", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x583ce657ea168b99f3821753ea1e1ba4244a2dc96f3a142105e845c60ebc7650", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x583ce657ea168b99f3821753ea1e1ba4244a2dc96f3a142105e845c60ebc7650", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x583ce657ea168b99f3821753ea1e1ba4244a2dc96f3a142105e845c60ebc7650", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x583ce657ea168b99f3821753ea1e1ba4244a2dc96f3a142105e845c60ebc7650", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x583ce657ea168b99f3821753ea1e1ba4244a2dc96f3a142105e845c60ebc7650", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x02" : "0x00", + "0x05" : "0x00" + } + }, + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x034e64" + } } } - ], - "Homestead" : [ - { - "hash" : "0x583ce657ea168b99f3821753ea1e1ba4244a2dc96f3a142105e845c60ebc7650", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x583ce657ea168b99f3821753ea1e1ba4244a2dc96f3a142105e845c60ebc7650", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xafba521c7aa8b1f1c0666422eae13c531f805c64b378486df33bc5d7e2a0219a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x6b0ccc961d5fd86789f4d793e52c0d201392db30060390b8139aaf624f7456b7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "2000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01" + } + }, + "2000000000000000000000000000000000000002" : { + "storage" : { + "0x02" : "0x00", + "0x05" : "0x00" + } + }, + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x034e64" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa600055", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60016002526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 2 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x600160025534600555", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (SSTORE 2 1) (SSTORE 5 (CALLVALUE)) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000732000000000000000000000000000000000000001620249f0fa600055", - "nonce" : "0x00", + "2000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60016002526040600060406000732000000000000000000000000000000000000002620186a0fa506001602052", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 2 1) (STATICCALL 100000 0x2000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }", + "nonce" : "0", "storage" : { } }, - "0xa000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "a000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -169,14 +137,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "0x05cca2" + "380066" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xa000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "a000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcall_00_OOGE_2.json b/GeneralStateTests/stStaticCall/static_callcall_00_OOGE_2.json index c7088eac3..d7a3d5879 100644 --- a/GeneralStateTests/stStaticCall/static_callcall_00_OOGE_2.json +++ b/GeneralStateTests/stStaticCall/static_callcall_00_OOGE_2.json @@ -2,163 +2,102 @@ "static_callcall_00_OOGE_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcall_00_OOGE_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xdf8c2e3b01aa4e523579122fd06555eca734937a5f45f7a2c428996d30ce4235", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xdf8c2e3b01aa4e523579122fd06555eca734937a5f45f7a2c428996d30ce4235", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xdf8c2e3b01aa4e523579122fd06555eca734937a5f45f7a2c428996d30ce4235", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xdf8c2e3b01aa4e523579122fd06555eca734937a5f45f7a2c428996d30ce4235", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xdf8c2e3b01aa4e523579122fd06555eca734937a5f45f7a2c428996d30ce4235", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xdf8c2e3b01aa4e523579122fd06555eca734937a5f45f7a2c428996d30ce4235", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xdf8c2e3b01aa4e523579122fd06555eca734937a5f45f7a2c428996d30ce4235", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xdf8c2e3b01aa4e523579122fd06555eca734937a5f45f7a2c428996d30ce4235", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xdf8c2e3b01aa4e523579122fd06555eca734937a5f45f7a2c428996d30ce4235", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xdf8c2e3b01aa4e523579122fd06555eca734937a5f45f7a2c428996d30ce4235", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x02" : "0x00", + "0x05" : "0x00" + } + }, + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa600055", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60016002526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 2 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x600160025534600555", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (SSTORE 2 1) (SSTORE 5 (CALLVALUE)) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000732000000000000000000000000000000000000001620249f0fa600055", - "nonce" : "0x00", + "2000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60016002526040600060406000732000000000000000000000000000000000000002620186a0fa506001602052", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 2 1) (STATICCALL 100000 0x2000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }", + "nonce" : "0", "storage" : { } }, - "0xa000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "a000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -169,14 +108,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "0x024a32" + "150066" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xa000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "a000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcall_00_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcall_00_SuicideEnd.json index dc7eac975..3069a9318 100644 --- a/GeneralStateTests/stStaticCall/static_callcall_00_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcall_00_SuicideEnd.json @@ -2,95 +2,69 @@ "static_callcall_00_SuicideEnd" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcall_00_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x7148f4c9a4da248151f24ada15e9c6a9c0b09fb2f92ed9ee6908edebd81454c7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "ALL" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "storage" : { + "0x00" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "storage" : { + "0x02" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0x7148f4c9a4da248151f24ada15e9c6a9c0b09fb2f92ed9ee6908edebd81454c7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x7148f4c9a4da248151f24ada15e9c6a9c0b09fb2f92ed9ee6908edebd81454c7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x7148f4c9a4da248151f24ada15e9c6a9c0b09fb2f92ed9ee6908edebd81454c7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x7335c77db0b249f557e0346c7f7e732c58d8895334cbb8727dbede8ae5c8bff7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa600055", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x6001602052604060006040600073100000000000000000000000000000000000000261c350fa50731000000000000000000000000000000000000000ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 32 1) (STATICCALL 50000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000000) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x6001600252", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 2 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -100,14 +74,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcall_000.json b/GeneralStateTests/stStaticCall/static_callcallcall_000.json index a03feecbb..540cffa1d 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcall_000.json +++ b/GeneralStateTests/stStaticCall/static_callcallcall_000.json @@ -2,177 +2,173 @@ "static_callcallcall_000" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcall_000Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x2366cc1425f25a94027ba85103786087aada2ba103c56840dfd16238c88c9423", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2366cc1425f25a94027ba85103786087aada2ba103c56840dfd16238c88c9423", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x2366cc1425f25a94027ba85103786087aada2ba103c56840dfd16238c88c9423", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2366cc1425f25a94027ba85103786087aada2ba103c56840dfd16238c88c9423", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x29731d5bd892c9c659d856da2810960cecc7b37afacbe1700c43ed5ec0e786cf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x29731d5bd892c9c659d856da2810960cecc7b37afacbe1700c43ed5ec0e786cf", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + } + }, + "1000000000000000000000000000000000000003" : { + "storage" : { + "0x014a" : "0x00", + "0x014c" : "0x00", + "0x0150" : "0x00", + "0x0152" : "0x00", + "0x0154" : "0x00", + "0x03" : "0x00", + "0x04" : "0x00", + "0x07" : "0x00" + } + }, + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x28fbaa" + } } } - ], - "Homestead" : [ - { - "hash" : "0x29731d5bd892c9c659d856da2810960cecc7b37afacbe1700c43ed5ec0e786cf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x29731d5bd892c9c659d856da2810960cecc7b37afacbe1700c43ed5ec0e786cf", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x869d1e38e0df70852bb9b7d1bce10247bf70998a291c86fb0763e1e744c23e34", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x9c6e09a5bcec1aff2eae576af0a35a2955adc8fce906e914744fb14c07b5021d", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "2000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01" + } + }, + "2000000000000000000000000000000000000001" : { + "storage" : { + } + }, + "2000000000000000000000000000000000000002" : { + "storage" : { + } + }, + "2000000000000000000000000000000000000003" : { + "storage" : { + "0x014a" : "0x00", + "0x014c" : "0x00", + "0x0150" : "0x00", + "0x0152" : "0x00", + "0x0154" : "0x00", + "0x03" : "0x00", + "0x04" : "0x00", + "0x07" : "0x00" + } + }, + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2ccc2b" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000162055730fa600055", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620493e0fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600160035260406000604060007310000000000000000000000000000000000000036203d090fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x600160035533600455346007553061014a553261014c55366101505538610152553a61015455", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x2000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073200000000000000000000000000000000000000162055730fa600055", - "nonce" : "0x00", + "2000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 350000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60016003526040600060406000732000000000000000000000000000000000000002620493e0fa506001602052", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 300000 0x2000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600160035260406000604060007320000000000000000000000000000000000000036203d090fa506001602052", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 250000 0x2000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "2000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "a000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -183,14 +179,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xa000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "a000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGE.json b/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGE.json index 0430a62f0..64dc52186 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGE.json +++ b/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGE.json @@ -2,177 +2,149 @@ "static_callcallcall_000_OOGE" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcall_000_OOGEFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xa3530bdf22c8772863e71533e619318c8f387e76916082cc18a520299467654f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa3530bdf22c8772863e71533e619318c8f387e76916082cc18a520299467654f", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xa3530bdf22c8772863e71533e619318c8f387e76916082cc18a520299467654f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa3530bdf22c8772863e71533e619318c8f387e76916082cc18a520299467654f", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xa3530bdf22c8772863e71533e619318c8f387e76916082cc18a520299467654f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xa3530bdf22c8772863e71533e619318c8f387e76916082cc18a520299467654f", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x00", + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000003" : { + "storage" : { + "0x03" : "0x00" + } + }, + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x015726" + } } } - ], - "Homestead" : [ - { - "hash" : "0xa3530bdf22c8772863e71533e619318c8f387e76916082cc18a520299467654f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa3530bdf22c8772863e71533e619318c8f387e76916082cc18a520299467654f", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xd8fe67263fd0cc3b2a1e6693d3aa4122d37cbafba291234b5a6ff6aec6b5cbeb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xb73ede6594f5493b7497123a7456ab8748407c03fb24fb7f8d1e7b725e26e993", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x015726" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa600055", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000003614e34fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x60016003556001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (SSTORE 3 1) (MSTORE 3 1)}", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa600055", - "nonce" : "0x00", + "2000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000732000000000000000000000000000000000000002620186a0fa506001602052", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x2000000000000000000000000000000000000002 0 64 0 64 )(MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000732000000000000000000000000000000000000003614e34fa506001602052", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (STATICCALL 20020 0x2000000000000000000000000000000000000003 0 64 0 64 )(MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "2000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }", + "nonce" : "0", "storage" : { } }, - "0xa000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "a000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -183,14 +155,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xa000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "a000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMAfter.json b/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMAfter.json index 47062794d..8c17f33b0 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMAfter.json +++ b/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMAfter.json @@ -2,102 +2,91 @@ "static_callcallcall_000_OOGMAfter" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcall_000_OOGMAfterFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x4240c591732bb7ed797065bf0028004a169a98e1293410af92929568626f491f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00", + "0x02" : "0x00", + "0x03" : "0x00", + "0x6f" : "0x014c81" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000003" : { + "storage" : { + "0x03" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0x4240c591732bb7ed797065bf0028004a169a98e1293410af92929568626f491f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x4240c591732bb7ed797065bf0028004a169a98e1293410af92929568626f491f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x4240c591732bb7ed797065bf0028004a169a98e1293410af92929568626f491f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xb241a39f96e796d108bb0808ab0d49d8ed3ad5514e0a808cfc95c92bf96810f3", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000161eaf6fa6000555a606f55", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 111 ]] (GAS)}", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c90fa506001600355", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1)}", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000003614e34fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +96,14 @@ "" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMAfter2.json b/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMAfter2.json index 9c6643970..82d9b374a 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMAfter2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMAfter2.json @@ -2,102 +2,91 @@ "static_callcallcall_000_OOGMAfter2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcall_000_OOGMAfter2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xaf98968a4687e41eaa772578166ec5978438340ad3ab158e6b82b0b6201a9367", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00", + "0x02" : "0x00", + "0x03" : "0x00", + "0x6f" : "0x015cb7" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000003" : { + "storage" : { + "0x03" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0xaf98968a4687e41eaa772578166ec5978438340ad3ab158e6b82b0b6201a9367", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xaf98968a4687e41eaa772578166ec5978438340ad3ab158e6b82b0b6201a9367", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xaf98968a4687e41eaa772578166ec5978438340ad3ab158e6b82b0b6201a9367", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x9ed47cfe74b12b48b6a6990fadfdc54914aa7e8de0fb203550d1487cec729f82", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000161dac0fa6000555a606f55", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 56000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 111 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6001600352604060006040600073100000000000000000000000000000000000000261afc8fa505b61c3506080511015603f576001608051016080526027565b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000003614e34fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1)}", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +96,14 @@ "" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMBefore.json b/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMBefore.json index e704a98b7..c5413677e 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMBefore.json +++ b/GeneralStateTests/stStaticCall/static_callcallcall_000_OOGMBefore.json @@ -2,102 +2,90 @@ "static_callcallcall_000_OOGMBefore" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcall_000_OOGMBeforeFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x2cc0620f5eac6c033ec1433c0fac283edf9255c862ed5943ad55424cae28cf50", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x015d7b", + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000003" : { + "storage" : { + "0x03" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0x2cc0620f5eac6c033ec1433c0fac283edf9255c862ed5943ad55424cae28cf50", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x2cc0620f5eac6c033ec1433c0fac283edf9255c862ed5943ad55424cae28cf50", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x2cc0620f5eac6c033ec1433c0fac283edf9255c862ed5943ad55424cae28cf50", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xe84edc686e05c13c364bd2742cc23c9f0e2e667403a56a29de8e9da54a758fce", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b6040600060406000731000000000000000000000000000000000000003614e34fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +95,14 @@ "" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcall_000_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcallcall_000_SuicideEnd.json index 4748ce659..2bcd713c3 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcall_000_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcallcall_000_SuicideEnd.json @@ -2,102 +2,73 @@ "static_callcallcall_000_SuicideEnd" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcall_000_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x926dea784e772825bf7a1881c82ab2b4780f12ba57234839f3d9e1f0c89b8240", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a37" + } + }, + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000" } } - ], - "EIP158" : [ - { - "hash" : "0x926dea784e772825bf7a1881c82ab2b4780f12ba57234839f3d9e1f0c89b8240", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x926dea784e772825bf7a1881c82ab2b4780f12ba57234839f3d9e1f0c89b8240", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x926dea784e772825bf7a1881c82ab2b4780f12ba57234839f3d9e1f0c89b8240", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x5312ba91585f159d984e36cceb3a019652a7516a3a8e78a64e11488305a10caa", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS)}", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x6001600352604060006040600073100000000000000000000000000000000000000361c350fa50731000000000000000000000000000000000000001ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +78,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcall_000_SuicideMiddle.json b/GeneralStateTests/stStaticCall/static_callcallcall_000_SuicideMiddle.json index 7ea3e3a39..eabbe487f 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcall_000_SuicideMiddle.json +++ b/GeneralStateTests/stStaticCall/static_callcallcall_000_SuicideMiddle.json @@ -2,102 +2,77 @@ "static_callcallcall_000_SuicideMiddle" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcall_000_SuicideMiddleFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a37" + } + }, + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "storage" : { + "0x01" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x2bc88ae82918fe1e2a1fa1c091ecabbbd33f679050a924a6a6d130e8203c3857", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x731000000000000000000000000000000000000000ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +82,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcall_ABCB_RECURSIVE.json b/GeneralStateTests/stStaticCall/static_callcallcall_ABCB_RECURSIVE.json index bcfec583a..833358673 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcall_ABCB_RECURSIVE.json +++ b/GeneralStateTests/stStaticCall/static_callcallcall_ABCB_RECURSIVE.json @@ -2,95 +2,78 @@ "static_callcallcall_ABCB_RECURSIVE" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcall_ABCB_RECURSIVEFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0xb2d05e00", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "3000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x36a4b476a03b3ed0952af53f0284afc3ac9e3a7737db2b3f1a5f9594c9a9cb88", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : { + "balance" : "139959" } } - ], - "EIP158" : [ - { - "hash" : "0x36a4b476a03b3ed0952af53f0284afc3ac9e3a7737db2b3f1a5f9594c9a9cb88", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x36a4b476a03b3ed0952af53f0284afc3ac9e3a7737db2b3f1a5f9594c9a9cb88", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x36a4b476a03b3ed0952af53f0284afc3ac9e3a7737db2b3f1a5f9594c9a9cb88", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x1681a7d9af60c72fcb6a0aa0daea9e63929ccce3348654a5fcdb85234b75fad4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6001600152604060006040600073100000000000000000000000000000000000000163017d7840fa506001600252", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 1 1) (STATICCALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) (MSTORE 2 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620f4240fa506001600452", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 4 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x600160055260406000604060007310000000000000000000000000000000000000016207a120fa506001600652", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 5 1) (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) (MSTORE 6 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -100,14 +83,14 @@ "" ], "gasLimit" : [ - "0x01c9c380" + "30000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001.json index 7bff43a0c..03e2dcd12 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001.json @@ -2,177 +2,151 @@ "static_callcallcallcode_001" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x9a7dbe753d2ce75d005292229e73c1a929e864563760e7316747148d7109d0eb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x9a7dbe753d2ce75d005292229e73c1a929e864563760e7316747148d7109d0eb", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x9a7dbe753d2ce75d005292229e73c1a929e864563760e7316747148d7109d0eb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x9a7dbe753d2ce75d005292229e73c1a929e864563760e7316747148d7109d0eb", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xf9f8939922358633f7cf0ddc94ba066f6596ab0c6b9a134a2b553645e4230367", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xf9f8939922358633f7cf0ddc94ba066f6596ab0c6b9a134a2b553645e4230367", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x00", + "0x03" : "0x00", + "0x04" : "0x00" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x00", + "0x03" : "0x00", + "0x04" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x014a" : "0x00", + "0x014c" : "0x00", + "0x0150" : "0x00", + "0x0152" : "0x00", + "0x0154" : "0x00", + "0x02" : "0x00", + "0x03" : "0x00", + "0x04" : "0x00", + "0x07" : "0x00" + } + }, + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x28fba1" + } } } - ], - "Homestead" : [ - { - "hash" : "0xf9f8939922358633f7cf0ddc94ba066f6596ab0c6b9a134a2b553645e4230367", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xf9f8939922358633f7cf0ddc94ba066f6596ab0c6b9a134a2b553645e4230367", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x2111fd91ff1fa787bb7c11fdce5ab28fa34d7c795d48a20bc08a4d7a9b890472", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x25c4c1852e1d42e8739fec6ce21fa50b8aa7b09509c19f4d1012d6f81383aa97", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2ccc2b" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000162055730fa6000556001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620493e0fa506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600160035260406000604060007310000000000000000000000000000000000000036203d090f4506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 3 1) (DELEGATECALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x600160035533600455346007553061014a553261014c55366101505538610152553a61015455", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x2000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073200000000000000000000000000000000000000162055730fa600055", - "nonce" : "0x00", + "2000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 350000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60016003526040600060406000732000000000000000000000000000000000000002620493e0fa506001600352", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 300000 0x2000000000000000000000000000000000000002 0 64 0 64 )(MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600160035260406000604060007320000000000000000000000000000000000000036203d090f4506001600352", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 3 1) (DELEGATECALL 250000 0x2000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "2000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "a000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -183,14 +157,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xa000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "a000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_2.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_2.json index 85a323826..b705ac823 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_2.json @@ -2,177 +2,149 @@ "static_callcallcallcode_001_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x97799f7a5177b653c25550364a342bc10c570e9a736539248d6d163f6b991230", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x97799f7a5177b653c25550364a342bc10c570e9a736539248d6d163f6b991230", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x97799f7a5177b653c25550364a342bc10c570e9a736539248d6d163f6b991230", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x97799f7a5177b653c25550364a342bc10c570e9a736539248d6d163f6b991230", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x332fd63f02a7f7415132635f9f614f7a3a816738c2dfa4525b609cd607a87b3d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x332fd63f02a7f7415132635f9f614f7a3a816738c2dfa4525b609cd607a87b3d", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x014a" : "0x00", + "0x014c" : "0x00", + "0x0150" : "0x00", + "0x0152" : "0x00", + "0x0154" : "0x00", + "0x02" : "0x00", + "0x03" : "0x00", + "0x04" : "0x00", + "0x07" : "0x00" + } + }, + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x283b4b" + } } } - ], - "Homestead" : [ - { - "hash" : "0x332fd63f02a7f7415132635f9f614f7a3a816738c2dfa4525b609cd607a87b3d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x332fd63f02a7f7415132635f9f614f7a3a816738c2dfa4525b609cd607a87b3d", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xb07cec95a0495a4f2810c43812055985d7230bf8fc67d10496a860bb65baf1f7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xfbc632522d0711451a77628031c7d8d5d8f7af19b6406eae571e13f56372b929", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x014a" : "0x00", + "0x014c" : "0x00", + "0x0150" : "0x00", + "0x0152" : "0x00", + "0x0154" : "0x00", + "0x02" : "0x00", + "0x03" : "0x00", + "0x04" : "0x00", + "0x07" : "0x00" + } + }, + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2ccc31" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000162055730fa600055", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620493e0fa506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (STATICCALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600060037310000000000000000000000000000000000000036203d090f2600255", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 2 ]] (CALLCODE 250000 0x1000000000000000000000000000000000000003 3 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6311223344600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 1 0x11223344) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073200000000000000000000000000000000000000162055730fa600055", - "nonce" : "0x00", + "2000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 350000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000732000000000000000000000000000000000000002620493e0fa506001600352", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (STATICCALL 300000 0x2000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6001600452604060006040600060007320000000000000000000000000000000000000036203d090f2506001600652", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 4 1) (CALLCODE 250000 0x2000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 6 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "2000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "a000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -183,14 +155,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xa000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "a000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGE.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGE.json index 391a44f03..5d83055af 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGE.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGE.json @@ -2,102 +2,94 @@ "static_callcallcallcode_001_OOGE" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_OOGEFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x7bad62c431176a980943cbf2b89474c29a4c6a67f713a73ecdbb755e25c62aa1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000003" : { + "storage" : { + "0x03" : "0x00" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x01" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0x7bad62c431176a980943cbf2b89474c29a4c6a67f713a73ecdbb755e25c62aa1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x7bad62c431176a980943cbf2b89474c29a4c6a67f713a73ecdbb755e25c62aa1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x7bad62c431176a980943cbf2b89474c29a4c6a67f713a73ecdbb755e25c62aa1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x07e9b887a4b100353858904d7c2ccbd145e3ca4bfe34536b914e450499a86e04", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000556001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) (MSTORE 3 1)}", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1)}", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000003614e34f4506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1)}", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) )}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +99,14 @@ "" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGE_2.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGE_2.json index 26920c5f7..494c4d481 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGE_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGE_2.json @@ -2,177 +2,105 @@ "static_callcallcallcode_001_OOGE_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_OOGE_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x0d309fbde7bbd1b313b77cf726decc45d23db3493fb3edb465472666e2d75cfb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x0d309fbde7bbd1b313b77cf726decc45d23db3493fb3edb465472666e2d75cfb", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x0d309fbde7bbd1b313b77cf726decc45d23db3493fb3edb465472666e2d75cfb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x0d309fbde7bbd1b313b77cf726decc45d23db3493fb3edb465472666e2d75cfb", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x0d309fbde7bbd1b313b77cf726decc45d23db3493fb3edb465472666e2d75cfb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x0d309fbde7bbd1b313b77cf726decc45d23db3493fb3edb465472666e2d75cfb", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x0d309fbde7bbd1b313b77cf726decc45d23db3493fb3edb465472666e2d75cfb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x0d309fbde7bbd1b313b77cf726decc45d23db3493fb3edb465472666e2d75cfb", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x34940f80a25b12138b462eba1629a2801ec1868cfd5c6298fa7773ed899d4352", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x53b2e90449f26d9938aa38b1c7bbcd3c9dba9c33e1c50b1110263309172ee401", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01574b" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa600055", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60406000604060006000731000000000000000000000000000000000000003614e34f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x60016003556001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (SSTORE 3 1) (MSTORE 3 1)}", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000732000000000000000000000000000000000000001620249f0fa600055", - "nonce" : "0x00", + "2000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000732000000000000000000000000000000000000002620186a0fa", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 100000 0x2000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60406000604060006000732000000000000000000000000000000000000003614e34f2", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (CALLCODE 20020 0x2000000000000000000000000000000000000003 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "2000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }", + "nonce" : "0", "storage" : { } }, - "0xa000000000000000000000000000000000000000" : { - "balance" : "0x00", - "code" : "0x6000600060006000346000355af16000555a600155", - "nonce" : "0x00", + "a000000000000000000000000000000000000000" : { + "balance" : "0", + "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -183,14 +111,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xa000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "a000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter.json index ae9a12a23..9b51972ef 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter.json @@ -2,149 +2,105 @@ "static_callcallcallcode_001_OOGMAfter" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_OOGMAfterFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xdc2ce909e1717191fbd281dfc4eabfe9a80691a91adce90abd08c104bebd4d3d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xdc2ce909e1717191fbd281dfc4eabfe9a80691a91adce90abd08c104bebd4d3d", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xdc2ce909e1717191fbd281dfc4eabfe9a80691a91adce90abd08c104bebd4d3d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xdc2ce909e1717191fbd281dfc4eabfe9a80691a91adce90abd08c104bebd4d3d", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xdc2ce909e1717191fbd281dfc4eabfe9a80691a91adce90abd08c104bebd4d3d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xdc2ce909e1717191fbd281dfc4eabfe9a80691a91adce90abd08c104bebd4d3d", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xdc2ce909e1717191fbd281dfc4eabfe9a80691a91adce90abd08c104bebd4d3d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xdc2ce909e1717191fbd281dfc4eabfe9a80691a91adce90abd08c104bebd4d3d", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x674f946803713aef66e4586b62e973028f98fb66cc1520096bddcea0c4eb3599", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x674f946803713aef66e4586b62e973028f98fb66cc1520096bddcea0c4eb3599", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014b7e", + "0x02" : "0x00" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "1000000000000000000000000000000000000003" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600060003561eaf6fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c95fa506001600355", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (STATICCALL 40085 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000003614e34f4506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c95fa505b61c3506080511015603f576001608051016080526027565b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +111,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter2.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter2.json index 4f35d0bfa..f152b54be 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter2.json @@ -2,149 +2,97 @@ "static_callcallcallcode_001_OOGMAfter2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_OOGMAfter2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xf4d6dc015a845d2d14e0787617217e447ee740f4bba1254d4cd9202169834dc2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xf4d6dc015a845d2d14e0787617217e447ee740f4bba1254d4cd9202169834dc2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014b7e", + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000003" : { + "storage" : { + "0x03" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600060003561eaf6fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90fa506001600355", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1)}", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60406000604060006000731000000000000000000000000000000000000003614e34f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90fa505b61c3506080511015603a576001608051016080526022565b", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +103,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter_2.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter_2.json index c4cd70164..0bec07982 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter_2.json @@ -2,149 +2,105 @@ "static_callcallcallcode_001_OOGMAfter_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_OOGMAfter_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x126073c2113620386bafa76775e3852cc6ce2dd5737457fc5c340d948619a439", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x126073c2113620386bafa76775e3852cc6ce2dd5737457fc5c340d948619a439", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x126073c2113620386bafa76775e3852cc6ce2dd5737457fc5c340d948619a439", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x126073c2113620386bafa76775e3852cc6ce2dd5737457fc5c340d948619a439", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x126073c2113620386bafa76775e3852cc6ce2dd5737457fc5c340d948619a439", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x126073c2113620386bafa76775e3852cc6ce2dd5737457fc5c340d948619a439", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x126073c2113620386bafa76775e3852cc6ce2dd5737457fc5c340d948619a439", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x126073c2113620386bafa76775e3852cc6ce2dd5737457fc5c340d948619a439", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x9f627989d639a3707837a025a270b8fd5c26c3fcb05720551868ca83b8479daa", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x9f627989d639a3707837a025a270b8fd5c26c3fcb05720551868ca83b8479daa", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014b7e", + "0x02" : "0x00" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "1000000000000000000000000000000000000003" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600060003561eaf6fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS)}", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000002619c95fa506001600355", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 40085 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000002619c95fa505b61c3506080511015603a576001608051016080526022565b", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 40085 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +111,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter_3.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter_3.json index a51b60041..2693eb086 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter_3.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMAfter_3.json @@ -2,149 +2,97 @@ "static_callcallcallcode_001_OOGMAfter_3" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_OOGMAfter_3Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe363e4573510e78a1bd5b55a66d45d8143f57df76c03da8784da17a91905f002", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xf4d6dc015a845d2d14e0787617217e447ee740f4bba1254d4cd9202169834dc2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xf4d6dc015a845d2d14e0787617217e447ee740f4bba1254d4cd9202169834dc2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014b7e", + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000003" : { + "storage" : { + "0x03" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600060003561eaf6fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90fa506001600355", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1)}", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60406000604060006000731000000000000000000000000000000000000003614e34f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90fa505b61c3506080511015603a576001608051016080526022565b", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) )}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +103,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMBefore.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMBefore.json index b6b2c22ee..bbf97e9de 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMBefore.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMBefore.json @@ -2,149 +2,103 @@ "static_callcallcallcode_001_OOGMBefore" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_OOGMBeforeFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xae77ac71b36f040e02e42c4cf7289b9ffd28ce45700a7bdc291c356300a3a5c7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xae77ac71b36f040e02e42c4cf7289b9ffd28ce45700a7bdc291c356300a3a5c7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xae77ac71b36f040e02e42c4cf7289b9ffd28ce45700a7bdc291c356300a3a5c7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xae77ac71b36f040e02e42c4cf7289b9ffd28ce45700a7bdc291c356300a3a5c7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xae77ac71b36f040e02e42c4cf7289b9ffd28ce45700a7bdc291c356300a3a5c7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xae77ac71b36f040e02e42c4cf7289b9ffd28ce45700a7bdc291c356300a3a5c7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xae77ac71b36f040e02e42c4cf7289b9ffd28ce45700a7bdc291c356300a3a5c7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xae77ac71b36f040e02e42c4cf7289b9ffd28ce45700a7bdc291c356300a3a5c7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xb6cd20e5f1cc773105b5be2729e9500a3d51f1c3fa33922acdaebcabea8e2374", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xb6cd20e5f1cc773105b5be2729e9500a3d51f1c3fa33922acdaebcabea8e2374", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x015c58", + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000003" : { + "storage" : { + "0x03" : "0x00" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000356000526040600060206000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 32 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000600035619c90fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (STATICCALL 40080 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b6040600060406000731000000000000000000000000000000000000003614e34f4506001600352", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60016001556040600060406000731000000000000000000000000000000000000003614e34f4506001600352", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (SSTORE 1 1) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +109,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMBefore2.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMBefore2.json index da2b5478e..73640ec26 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMBefore2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_OOGMBefore2.json @@ -2,149 +2,97 @@ "static_callcallcallcode_001_OOGMBefore2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_OOGMBefore2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xe0cc2d9cd94f3662e51a2000224a7991ab14dc1e4b94aeeda1862753361f1956", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe0cc2d9cd94f3662e51a2000224a7991ab14dc1e4b94aeeda1862753361f1956", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xe0cc2d9cd94f3662e51a2000224a7991ab14dc1e4b94aeeda1862753361f1956", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe0cc2d9cd94f3662e51a2000224a7991ab14dc1e4b94aeeda1862753361f1956", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xe0cc2d9cd94f3662e51a2000224a7991ab14dc1e4b94aeeda1862753361f1956", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe0cc2d9cd94f3662e51a2000224a7991ab14dc1e4b94aeeda1862753361f1956", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xe0cc2d9cd94f3662e51a2000224a7991ab14dc1e4b94aeeda1862753361f1956", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe0cc2d9cd94f3662e51a2000224a7991ab14dc1e4b94aeeda1862753361f1956", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x2a0be2c682295ada1e084123ab1880ff8211f9982f258d01ee15348c0e8a0b59", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x2a0be2c682295ada1e084123ab1880ff8211f9982f258d01ee15348c0e8a0b59", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x015c55", + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000003" : { + "storage" : { + "0x03" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000356000526040600060206000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 32 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6000356000526040600060406000600035619c90fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) (STATICCALL 40080 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x600160015560406000604060006000731000000000000000000000000000000000000003614e34f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (SSTORE 1 1) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b60406000604060006000731000000000000000000000000000000000000003614e34f2", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +103,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideEnd.json index 02c6142bf..111134817 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideEnd.json @@ -2,102 +2,92 @@ "static_callcallcallcode_001_SuicideEnd" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x3a83d03a5d6e798e46ce043350668f4173d8d98e28ca7bd49fb2bab0712a03d2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a4b", + "0x02" : "0x00" + } + }, + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "storage" : { + "0x01" : "0x00", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000" + }, + "1000000000000000000000000000000000000003" : { + "storage" : { + "0x03" : "0x00" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0x3a83d03a5d6e798e46ce043350668f4173d8d98e28ca7bd49fb2bab0712a03d2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x3a83d03a5d6e798e46ce043350668f4173d8d98e28ca7bd49fb2bab0712a03d2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x3a83d03a5d6e798e46ce043350668f4173d8d98e28ca7bd49fb2bab0712a03d2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xbbcbb746125c2d1783de56d6b6ad27fe8a5b70b8c939a3ed073deccdeb88a688", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x604060006040600073100000000000000000000000000000000000000361c350f450731000000000000000000000000000000000000001ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +97,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideEnd2.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideEnd2.json index 2f279f473..4647d73e8 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideEnd2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideEnd2.json @@ -2,102 +2,79 @@ "static_callcallcallcode_001_SuicideEnd2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_SuicideEnd2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x4858fd53150c3bc6ba65c82782803c563e5b06f56f446250992aaafc3d4aa4e0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a4b" + } + }, + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000" + }, + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "storage" : { + "0x03" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0x4858fd53150c3bc6ba65c82782803c563e5b06f56f446250992aaafc3d4aa4e0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x4858fd53150c3bc6ba65c82782803c563e5b06f56f446250992aaafc3d4aa4e0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x4858fd53150c3bc6ba65c82782803c563e5b06f56f446250992aaafc3d4aa4e0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x88d11775248bb20a87f1a5d91fda1c9eaa8b83139fe64f91c02ba266db8592f8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000600073100000000000000000000000000000000000000361c350f250731000000000000000000000000000000000000001ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +84,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideMiddle.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideMiddle.json index 97dcbb616..1e5e82f2b 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideMiddle.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideMiddle.json @@ -2,102 +2,91 @@ "static_callcallcallcode_001_SuicideMiddle" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_SuicideMiddleFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a37" + } + }, + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "storage" : { + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x02" : "0x00", + "0x03" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x2bc88ae82918fe1e2a1fa1c091ecabbbd33f679050a924a6a6d130e8203c3857", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x731000000000000000000000000000000000000000ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +96,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideMiddle2.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideMiddle2.json index 0377ec1a1..922f302b9 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideMiddle2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_001_SuicideMiddle2.json @@ -2,102 +2,78 @@ "static_callcallcallcode_001_SuicideMiddle2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_001_SuicideMiddle2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a37" + } + }, + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "storage" : { + "0x02" : "0x00", + "0x03" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xbb35ca677e4ff8b6aa1ff1ada4b98c1938f01c170bbc081e151cbd23bae75727", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x2bc88ae82918fe1e2a1fa1c091ecabbbd33f679050a924a6a6d130e8203c3857", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x731000000000000000000000000000000000000000ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +83,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE.json index b10bdc0d9..c084124c4 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE.json @@ -2,95 +2,78 @@ "static_callcallcallcode_ABCB_RECURSIVE" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_ABCB_RECURSIVEFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0xb2d05e00", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "3000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x66d8615df303bbf2ad618ad7c9fd606a6e2b6e17c32d929d3ad53722f7ed8ed1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : { + "balance" : "139959" } } - ], - "EIP158" : [ - { - "hash" : "0x66d8615df303bbf2ad618ad7c9fd606a6e2b6e17c32d929d3ad53722f7ed8ed1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x66d8615df303bbf2ad618ad7c9fd606a6e2b6e17c32d929d3ad53722f7ed8ed1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x66d8615df303bbf2ad618ad7c9fd606a6e2b6e17c32d929d3ad53722f7ed8ed1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x8f7ccd06cd76b57d3bf346cc59f553a1bf5b0a03e254cf9db4ebe2f7235daa2d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6001600152604060006040600073100000000000000000000000000000000000000163017d7840fa506001601f52", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 1 1) (STATICCALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) (MSTORE 31 1)}", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x60016001526040600060406000731000000000000000000000000000000000000002620f4240fa506001601f52", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 1 1) (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 31 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x600160015260406000604060007310000000000000000000000000000000000000016207a120f4506001601552", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 1 1) (DELEGATECALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) (MSTORE 21 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -100,14 +83,14 @@ "" ], "gasLimit" : [ - "0x01c9c380" + "30000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE2.json b/GeneralStateTests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE2.json index e431a5d98..0a65d91a7 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE2.json @@ -2,95 +2,78 @@ "static_callcallcallcode_ABCB_RECURSIVE2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcallcode_ABCB_RECURSIVE2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0xb2d05e00", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "3000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xf5f8a4f289c379e7292b4c19226669c764f0d4d168aa38f3d729c38f30972d7e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x00" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : { + "balance" : "140109" } } - ], - "EIP158" : [ - { - "hash" : "0xf5f8a4f289c379e7292b4c19226669c764f0d4d168aa38f3d729c38f30972d7e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xf5f8a4f289c379e7292b4c19226669c764f0d4d168aa38f3d729c38f30972d7e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xf5f8a4f289c379e7292b4c19226669c764f0d4d168aa38f3d729c38f30972d7e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x3761603f85c680252812d11eec371eb9d1df16995dca1b8675d8832979a6554e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6001600152604060006040600073100000000000000000000000000000000000000163017d7840fa506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 1 1) (STATICCALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x60016001526040600060406000731000000000000000000000000000000000000002620f4240fa506001600252", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 1 1) (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 2 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x6001600152604060006040600060007310000000000000000000000000000000000000016207a120f2506001600252", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 1 1) (CALLCODE 500000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) (MSTORE 2 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -100,14 +83,14 @@ "" ], "gasLimit" : [ - "0x01c9c380" + "30000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcode_01_2.json b/GeneralStateTests/stStaticCall/static_callcallcode_01_2.json index 0fa957a82..e59fd8f10 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcode_01_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcode_01_2.json @@ -2,163 +2,109 @@ "static_callcallcode_01_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcode_01_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x594ebd435584f249cbd5b895c7760711ad029a6758eb785640f6160979b89737", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x594ebd435584f249cbd5b895c7760711ad029a6758eb785640f6160979b89737", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x594ebd435584f249cbd5b895c7760711ad029a6758eb785640f6160979b89737", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x594ebd435584f249cbd5b895c7760711ad029a6758eb785640f6160979b89737", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x0cb8bc57ed5b190c0b9fe8b5562a351bdbb04064744b8757b7083d33b264c0bb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x0cb8bc57ed5b190c0b9fe8b5562a351bdbb04064744b8757b7083d33b264c0bb", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d031d" + } } } - ], - "Homestead" : [ - { - "hash" : "0x0cb8bc57ed5b190c0b9fe8b5562a351bdbb04064744b8757b7083d33b264c0bb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x0cb8bc57ed5b190c0b9fe8b5562a351bdbb04064744b8757b7083d33b264c0bb", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x0784a9e6d88b864d09e6f783f739742232c5c3998cfa5ef76744a58002e224a8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x66c43e7cfde8bd572acc81b2c58660a73051a7ad6f52e2cc0a7b93d3dc0f1a24", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d1d3d" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006020600073100000000000000000000000000000000000000162055730fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 32 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006020600060027310000000000000000000000000000000000000026203d090f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (CALLCODE 250000 0x1000000000000000000000000000000000000002 2 0 32 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6311223344600052", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (MSTORE 0 0x11223344) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006020600073200000000000000000000000000000000000000162055730fa", - "nonce" : "0x00", + "2000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (STATICCALL 350000 0x2000000000000000000000000000000000000001 0 32 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600035600052604060006020600060007320000000000000000000000000000000000000026203d090f2", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) (CALLCODE 250000 0x2000000000000000000000000000000000000002 0 0 32 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6311223344600052", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (MSTORE 0 0x11223344) }", + "nonce" : "0", "storage" : { } }, - "0xa000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600060006000600060006000355af26000555a600155", - "nonce" : "0x00", + "a000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -169,14 +115,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xa000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "a000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcode_01_OOGE_2.json b/GeneralStateTests/stStaticCall/static_callcallcode_01_OOGE_2.json index 39d916e44..fc96dc740 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcode_01_OOGE_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcode_01_OOGE_2.json @@ -2,142 +2,70 @@ "static_callcallcode_01_OOGE_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcode_01_OOGE_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x1407b9c03da3345804a18797652af629fa1243352796cf9b13f9a043df6da8d7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x1407b9c03da3345804a18797652af629fa1243352796cf9b13f9a043df6da8d7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x1407b9c03da3345804a18797652af629fa1243352796cf9b13f9a043df6da8d7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x1407b9c03da3345804a18797652af629fa1243352796cf9b13f9a043df6da8d7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x1407b9c03da3345804a18797652af629fa1243352796cf9b13f9a043df6da8d7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x1407b9c03da3345804a18797652af629fa1243352796cf9b13f9a043df6da8d7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x1407b9c03da3345804a18797652af629fa1243352796cf9b13f9a043df6da8d7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x1407b9c03da3345804a18797652af629fa1243352796cf9b13f9a043df6da8d7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x3d82e124a977488711e9709bb12b0c4347d710b85218f65b8f237dfb29152257", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x3d82e124a977488711e9709bb12b0c4347d710b85218f65b8f237dfb29152257", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01aac5" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000356000526040600060206000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 32 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60406000604060006000600035614e34f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (CALLCODE 20020 (CALLDATALOAD 0) 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60016002556001600252", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (SSTORE 2 1) (MSTORE 2 1)}", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -148,14 +76,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcode_01_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcallcode_01_SuicideEnd.json index 864062709..23eeb35cb 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcode_01_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcallcode_01_SuicideEnd.json @@ -2,95 +2,79 @@ "static_callcallcode_01_SuicideEnd" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcode_01_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x4e76e41cc3995aa5f5f6e1c8c10063eee9a7209857fdcf8107975b4839b8ee68", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x2b1467" + } + }, + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000" + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x02" : "0x00", + "0x03" : "0x00" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00", + "0x03" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0x4e76e41cc3995aa5f5f6e1c8c10063eee9a7209857fdcf8107975b4839b8ee68", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x4e76e41cc3995aa5f5f6e1c8c10063eee9a7209857fdcf8107975b4839b8ee68", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x4e76e41cc3995aa5f5f6e1c8c10063eee9a7209857fdcf8107975b4839b8ee68", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xfe435b870026aed7290a642ea587e86bfaecd163cac83874c60c20e3d25dd7d4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x604060006040600073100000000000000000000000000000000000000261c350f450731000000000000000000000000000000000000000ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (DELEGATECALL 50000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000000) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x6001600252", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 2 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -100,14 +84,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcode_01_SuicideEnd2.json b/GeneralStateTests/stStaticCall/static_callcallcode_01_SuicideEnd2.json index 1516de7de..c5b92142b 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcode_01_SuicideEnd2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcode_01_SuicideEnd2.json @@ -2,95 +2,70 @@ "static_callcallcode_01_SuicideEnd2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcode_01_SuicideEnd2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xe3175d64e4c57c37e20048da023ef77fbeb46329c5225c9b3c405137b9f332cc", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "storage" : { + "0x00" : "0x00", + "0x01" : "0x2b1467" + } + }, + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "storage" : { + "0x02" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0xe3175d64e4c57c37e20048da023ef77fbeb46329c5225c9b3c405137b9f332cc", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xe3175d64e4c57c37e20048da023ef77fbeb46329c5225c9b3c405137b9f332cc", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xe3175d64e4c57c37e20048da023ef77fbeb46329c5225c9b3c405137b9f332cc", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x413f0bad7754114b8bb7a697b7a9bae8f71c70e1e11cd662a20e7701b9754561", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000600073100000000000000000000000000000000000000261c350f250731000000000000000000000000000000000000000ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (CALLCODE 50000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000000) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x6001600252", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 2 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -100,14 +75,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010.json index 629461cc4..ccb599ab7 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010.json @@ -2,102 +2,70 @@ "static_callcallcodecall_010" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x0d5191cb21dc297831b31b8181cecf57e2f6b194a7970ce673d65bc71290f8cb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d1de0" + } } } - ], - "EIP158" : [ - { - "hash" : "0x0d5191cb21dc297831b31b8181cecf57e2f6b194a7970ce673d65bc71290f8cb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x0d5191cb21dc297831b31b8181cecf57e2f6b194a7970ce673d65bc71290f8cb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x0d5191cb21dc297831b31b8181cecf57e2f6b194a7970ce673d65bc71290f8cb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x2975f889a2aaf4fa003a30643719fb300590003629a77e6ede028226cd6d4a9a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000162055730fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620493e0f4506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 3 1) (DELEGATECALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600160035260406000604060007310000000000000000000000000000000000000036203d090fa506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1)}", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_2.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_2.json index c550c0ec3..9aade6ade 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_2.json @@ -2,149 +2,95 @@ "static_callcallcodecall_010_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x61808db9a063b2f26d8a295db3cf2695c994db27c9f7ca5fc10e001bc0046849", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x61808db9a063b2f26d8a295db3cf2695c994db27c9f7ca5fc10e001bc0046849", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x61808db9a063b2f26d8a295db3cf2695c994db27c9f7ca5fc10e001bc0046849", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x61808db9a063b2f26d8a295db3cf2695c994db27c9f7ca5fc10e001bc0046849", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x61808db9a063b2f26d8a295db3cf2695c994db27c9f7ca5fc10e001bc0046849", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x61808db9a063b2f26d8a295db3cf2695c994db27c9f7ca5fc10e001bc0046849", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d02d6" + } } } - ], - "Homestead" : [ - { - "hash" : "0x61808db9a063b2f26d8a295db3cf2695c994db27c9f7ca5fc10e001bc0046849", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x61808db9a063b2f26d8a295db3cf2695c994db27c9f7ca5fc10e001bc0046849", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x3a1cda6eeffac017da91b3b9f7be5f504955fc838304e9d4f825c329e5d99051", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x047c3f135c097ae6bbd50b85bdbdfa8ba35babf4dbf970981679861bd05faab7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d1d02" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600060003562055730fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 350000 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060006002731000000000000000000000000000000000000002620493e0f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (CALLCODE 300000 0x1000000000000000000000000000000000000002 2 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060007310000000000000000000000000000000000000036203d090fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "1000000000000000000", + "code" : "{ (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060006000731000000000000000000000000000000000000002620493e0f2", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (CALLCODE 300000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +101,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGE.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGE.json index 61b8c1230..28dd6e694 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGE.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGE.json @@ -2,149 +2,77 @@ "static_callcallcodecall_010_OOGE" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_OOGEFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xed25db39ebd4a42bde4b277f9693f36995acb314d85fc2ec6d3f46730dbe5fba", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xed25db39ebd4a42bde4b277f9693f36995acb314d85fc2ec6d3f46730dbe5fba", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xed25db39ebd4a42bde4b277f9693f36995acb314d85fc2ec6d3f46730dbe5fba", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xed25db39ebd4a42bde4b277f9693f36995acb314d85fc2ec6d3f46730dbe5fba", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xed25db39ebd4a42bde4b277f9693f36995acb314d85fc2ec6d3f46730dbe5fba", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xed25db39ebd4a42bde4b277f9693f36995acb314d85fc2ec6d3f46730dbe5fba", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xed25db39ebd4a42bde4b277f9693f36995acb314d85fc2ec6d3f46730dbe5fba", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xed25db39ebd4a42bde4b277f9693f36995acb314d85fc2ec6d3f46730dbe5fba", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x595df75375ca6e963d5666da6985728a7a7e0d418ba854bd6febc259ddde263e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x595df75375ca6e963d5666da6985728a7a7e0d418ba854bd6febc259ddde263e", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x7251" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000600035620186a0f4506001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (DELEGATECALL 100000 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa505b61c3506080511015603a576001608051016080526022565b", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa506001600155", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +83,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGE_2.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGE_2.json index ce7111790..c99822278 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGE_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGE_2.json @@ -2,149 +2,77 @@ "static_callcallcodecall_010_OOGE_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_OOGE_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xf135c91e03115f15fb71a6d8adc4509119fe4d7be0697dee1e38878f5715e462", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xf135c91e03115f15fb71a6d8adc4509119fe4d7be0697dee1e38878f5715e462", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xf135c91e03115f15fb71a6d8adc4509119fe4d7be0697dee1e38878f5715e462", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xf135c91e03115f15fb71a6d8adc4509119fe4d7be0697dee1e38878f5715e462", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xf135c91e03115f15fb71a6d8adc4509119fe4d7be0697dee1e38878f5715e462", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xf135c91e03115f15fb71a6d8adc4509119fe4d7be0697dee1e38878f5715e462", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xf135c91e03115f15fb71a6d8adc4509119fe4d7be0697dee1e38878f5715e462", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xf135c91e03115f15fb71a6d8adc4509119fe4d7be0697dee1e38878f5715e462", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x8c283b491cfb0dbd6a11a53e55b6c27501f8c12f02bcb2d5d3c42dcad358bec7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x8c283b491cfb0dbd6a11a53e55b6c27501f8c12f02bcb2d5d3c42dcad358bec7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01a7e5" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000356000526040600060206000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 32 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60003560005260406000602060006000731000000000000000000000000000000000000002620186a0f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 32 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6040600060406000600035614e34fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (STATICCALL 20020 (CALLDATALOAD 0) 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600355", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (SSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "2000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +83,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000003" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter.json index a79a15267..b272b89bd 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter.json @@ -2,149 +2,79 @@ "static_callcallcodecall_010_OOGMAfter" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_OOGMAfterFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x6332d2b26543f5b5c66a0b39aae2bfe466532e049bfe712dc7a5bc12f3733107", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x6332d2b26543f5b5c66a0b39aae2bfe466532e049bfe712dc7a5bc12f3733107", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014b7e", + "0x02" : "0x00", + "0x03" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600060003561eaf6fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90f4506001600355", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000003614e48fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (STATICCALL 20040 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90f4505b61c3506080511015603a576001608051016080526022565b", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +85,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter2.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter2.json index 1b5e4ca6d..6ef98c374 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter2.json @@ -2,149 +2,77 @@ "static_callcallcodecall_010_OOGMAfter2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_OOGMAfter2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x2cb3a04bc44ae222261063500becc688502079630781375b1ae85be17cba39f3", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2cb3a04bc44ae222261063500becc688502079630781375b1ae85be17cba39f3", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x2cb3a04bc44ae222261063500becc688502079630781375b1ae85be17cba39f3", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2cb3a04bc44ae222261063500becc688502079630781375b1ae85be17cba39f3", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x2cb3a04bc44ae222261063500becc688502079630781375b1ae85be17cba39f3", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2cb3a04bc44ae222261063500becc688502079630781375b1ae85be17cba39f3", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x2cb3a04bc44ae222261063500becc688502079630781375b1ae85be17cba39f3", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2cb3a04bc44ae222261063500becc688502079630781375b1ae85be17cba39f3", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x5389515c345bbc74db5091a0de832aa7fc002e89f54e776a22aa067ee1923a8b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x5389515c345bbc74db5091a0de832aa7fc002e89f54e776a22aa067ee1923a8b", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014b7e" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600060003561eaf6fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60406000604060006000731000000000000000000000000000000000000002619c90f2505b61c3506080511015603c576001608051016080526024565b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60406000604060006000731000000000000000000000000000000000000002619c90f2506001600155", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (SSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +83,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter_2.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter_2.json index 7045d174c..122753a5d 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter_2.json @@ -2,149 +2,79 @@ "static_callcallcodecall_010_OOGMAfter_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_OOGMAfter_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe30eacc3c2c6cbdb91057adbaac53768546552d6d0dcc6ef95e182e95ec0f2c6", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x6332d2b26543f5b5c66a0b39aae2bfe466532e049bfe712dc7a5bc12f3733107", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x6332d2b26543f5b5c66a0b39aae2bfe466532e049bfe712dc7a5bc12f3733107", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014b7e", + "0x02" : "0x00", + "0x03" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600060003561eaf6fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90f4506001600355", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000003614e48fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (STATICCALL 20040 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90f4505b61c3506080511015603a576001608051016080526022565b", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +85,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter_3.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter_3.json index 444959f1a..755c4bd91 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter_3.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMAfter_3.json @@ -2,149 +2,79 @@ "static_callcallcodecall_010_OOGMAfter_3" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_OOGMAfter_3Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x68829e4a6e38e3771085934e0572538d3da2e9f0375b1797c639a0162624de54", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x68829e4a6e38e3771085934e0572538d3da2e9f0375b1797c639a0162624de54", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x68829e4a6e38e3771085934e0572538d3da2e9f0375b1797c639a0162624de54", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x68829e4a6e38e3771085934e0572538d3da2e9f0375b1797c639a0162624de54", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x68829e4a6e38e3771085934e0572538d3da2e9f0375b1797c639a0162624de54", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x68829e4a6e38e3771085934e0572538d3da2e9f0375b1797c639a0162624de54", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x68829e4a6e38e3771085934e0572538d3da2e9f0375b1797c639a0162624de54", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x68829e4a6e38e3771085934e0572538d3da2e9f0375b1797c639a0162624de54", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xd62e6638d73cae56f010fc1e87bf62ffd483892080c36625d85091d01b78e783", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xd62e6638d73cae56f010fc1e87bf62ffd483892080c36625d85091d01b78e783", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014b7e", + "0x02" : "0x00", + "0x03" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600060003561eaf6fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60406000604060006000731000000000000000000000000000000000000002619c90f2506001600355", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (SSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60406000604060006000731000000000000000000000000000000000000002619c90f2505b61c3506080511015603c576001608051016080526024565b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +85,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMBefore.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMBefore.json index afec03bc1..740a60e86 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMBefore.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMBefore.json @@ -2,149 +2,79 @@ "static_callcallcodecall_010_OOGMBefore" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_OOGMBeforeFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x540e8d14ae7d4273fe9695c00d066eefcadede311aa021922c9fe1f2f3dca99c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x540e8d14ae7d4273fe9695c00d066eefcadede311aa021922c9fe1f2f3dca99c", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x540e8d14ae7d4273fe9695c00d066eefcadede311aa021922c9fe1f2f3dca99c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x540e8d14ae7d4273fe9695c00d066eefcadede311aa021922c9fe1f2f3dca99c", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x540e8d14ae7d4273fe9695c00d066eefcadede311aa021922c9fe1f2f3dca99c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x540e8d14ae7d4273fe9695c00d066eefcadede311aa021922c9fe1f2f3dca99c", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x540e8d14ae7d4273fe9695c00d066eefcadede311aa021922c9fe1f2f3dca99c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x540e8d14ae7d4273fe9695c00d066eefcadede311aa021922c9fe1f2f3dca99c", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x447e0f22190f9bb1dbb05774ba3e736a57c00706a7cd77910e8ccabe73a9cf83", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x447e0f22190f9bb1dbb05774ba3e736a57c00706a7cd77910e8ccabe73a9cf83", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x015c6c", + "0x02" : "0x00", + "0x03" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS)}", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000600035619c90f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (DELEGATECALL 40080 (CALLDATALOAD 0) 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60016003556040600060406000731000000000000000000000000000000000000003614e34fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (SSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b6040600060406000731000000000000000000000000000000000000003614e34fa", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +85,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMBefore2.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMBefore2.json index 85f116861..c3d59cd48 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMBefore2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_OOGMBefore2.json @@ -2,149 +2,79 @@ "static_callcallcodecall_010_OOGMBefore2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_OOGMBefore2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x57d703fa56d7ffe17864243cf80092518b074863778e2c823b8b40695fda674f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x57d703fa56d7ffe17864243cf80092518b074863778e2c823b8b40695fda674f", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x57d703fa56d7ffe17864243cf80092518b074863778e2c823b8b40695fda674f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x57d703fa56d7ffe17864243cf80092518b074863778e2c823b8b40695fda674f", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x57d703fa56d7ffe17864243cf80092518b074863778e2c823b8b40695fda674f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x57d703fa56d7ffe17864243cf80092518b074863778e2c823b8b40695fda674f", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x57d703fa56d7ffe17864243cf80092518b074863778e2c823b8b40695fda674f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x57d703fa56d7ffe17864243cf80092518b074863778e2c823b8b40695fda674f", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x1a62c3878fd456b21d63afd2b38087ee231aaad964665769171e18f7d6f73990", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x1a62c3878fd456b21d63afd2b38087ee231aaad964665769171e18f7d6f73990", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x015c69", + "0x02" : "0x00", + "0x03" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60406000604060006000600035619c90f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (CALLCODE 40080 (CALLDATALOAD 0) 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b6040600060406000731000000000000000000000000000000000000003614e34fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60016003556040600060406000731000000000000000000000000000000000000003614e34fa", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (SSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +85,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideEnd.json index d88abb07f..5ede200ab 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideEnd.json @@ -2,102 +2,85 @@ "static_callcallcodecall_010_SuicideEnd" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x4dc754dfdfb0af30cd83411ff9b98c2a32104dfdb287644220972889119f30c1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a4b", + "0x03" : "0x00" + } + }, + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000" + }, + "1000000000000000000000000000000000000003" : { + "storage" : { + "0x03" : "0x00" + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0x4dc754dfdfb0af30cd83411ff9b98c2a32104dfdb287644220972889119f30c1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x4dc754dfdfb0af30cd83411ff9b98c2a32104dfdb287644220972889119f30c1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x4dc754dfdfb0af30cd83411ff9b98c2a32104dfdb287644220972889119f30c1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xb926376fff8fb99ba0fa81eab355ab3e11256ed00352f658108e8a18bc9d092b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x604060006040600073100000000000000000000000000000000000000361c350fa50731000000000000000000000000000000000000001ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +90,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideEnd2.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideEnd2.json index 44732e48f..8d784d963 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideEnd2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideEnd2.json @@ -2,102 +2,76 @@ "static_callcallcodecall_010_SuicideEnd2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_SuicideEnd2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xb27f3b646f796869d105f89d84bc273ca9922ee152f611cfa97280427ced7895", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a48" + } + }, + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "storage" : { + "0x03" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0xb27f3b646f796869d105f89d84bc273ca9922ee152f611cfa97280427ced7895", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xb27f3b646f796869d105f89d84bc273ca9922ee152f611cfa97280427ced7895", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xb27f3b646f796869d105f89d84bc273ca9922ee152f611cfa97280427ced7895", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x897dc775ba11fca972cf1a718bf7db4af5a95d99af46301b8e6251792ea06bdf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x60406000604060006000731000000000000000000000000000000000000002620186a0f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x604060006040600073100000000000000000000000000000000000000361c350fa50731000000000000000000000000000000000000001ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +81,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideMiddle.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideMiddle.json index 17c3b0b5b..757940aec 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideMiddle.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideMiddle.json @@ -2,102 +2,70 @@ "static_callcallcodecall_010_SuicideMiddle" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_SuicideMiddleFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x59d3f1c3d6468bd6ab594a573ac4f799545e10065f70e6ec04facd62e57d86d7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a4b" + } } } - ], - "EIP158" : [ - { - "hash" : "0x59d3f1c3d6468bd6ab594a573ac4f799545e10065f70e6ec04facd62e57d86d7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x59d3f1c3d6468bd6ab594a573ac4f799545e10065f70e6ec04facd62e57d86d7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x59d3f1c3d6468bd6ab594a573ac4f799545e10065f70e6ec04facd62e57d86d7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xea783d37d42e6ecd24e892886df355ba6d51587e01c149d24fc153db261f5bdb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x731000000000000000000000000000000000000000ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideMiddle2.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideMiddle2.json index 1b0c37d17..63fed5ebf 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideMiddle2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_010_SuicideMiddle2.json @@ -2,102 +2,83 @@ "static_callcallcodecall_010_SuicideMiddle2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_010_SuicideMiddle2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xf673e75a7903269b3f0930f908dc792c4c34c0602746d8b7f4d34f0ad32358ce", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a48" + } + }, + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "storage" : { + "0x03" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0xf673e75a7903269b3f0930f908dc792c4c34c0602746d8b7f4d34f0ad32358ce", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xf673e75a7903269b3f0930f908dc792c4c34c0602746d8b7f4d34f0ad32358ce", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xf673e75a7903269b3f0930f908dc792c4c34c0602746d8b7f4d34f0ad32358ce", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xf07644cc5749fdb124dc06126a62b44551ed28eda44d5eb3cc75549a1891ecfb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x60406000604060006000731000000000000000000000000000000000000002620186a0f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x731000000000000000000000000000000000000000ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +88,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE.json index 250405d3e..6c2b8a9af 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE.json @@ -2,95 +2,75 @@ "static_callcallcodecall_ABCB_RECURSIVE" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_ABCB_RECURSIVEFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0xb2d05e00", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "3000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x49f3a5850045604875b3ee7f2ebf235952a601f8d6aa4021b7f08f5661894092", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01c75d11" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0x49f3a5850045604875b3ee7f2ebf235952a601f8d6aa4021b7f08f5661894092", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x49f3a5850045604875b3ee7f2ebf235952a601f8d6aa4021b7f08f5661894092", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x49f3a5850045604875b3ee7f2ebf235952a601f8d6aa4021b7f08f5661894092", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x13778c562ea9af15cf107860c2ed51034bb91b7e28229a31f2b839c0e06cdf0e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000163017d7840fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620f4240f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (DELEGATECALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x60406000604060007310000000000000000000000000000000000000016207a120fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -100,14 +80,14 @@ "" ], "gasLimit" : [ - "0x01c9c380" + "30000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE2.json b/GeneralStateTests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE2.json index 01d55482c..518ec8467 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE2.json @@ -2,95 +2,75 @@ "static_callcallcodecall_ABCB_RECURSIVE2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecall_ABCB_RECURSIVE2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0xb2d05e00", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "3000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x76f93e5709b70048ac48bce27e5c57a7e6b79c5abebc7c7017c0f22297464d17", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01c75c78" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0x76f93e5709b70048ac48bce27e5c57a7e6b79c5abebc7c7017c0f22297464d17", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x76f93e5709b70048ac48bce27e5c57a7e6b79c5abebc7c7017c0f22297464d17", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x76f93e5709b70048ac48bce27e5c57a7e6b79c5abebc7c7017c0f22297464d17", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x40b39cda5afb0a2b56a572668d01f831fa58ac06273653a63591a5f0a13a3142", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000163017d7840fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x60406000604060006000731000000000000000000000000000000000000002620f4240f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (CALLCODE 1000000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x60406000604060007310000000000000000000000000000000000000016207a120fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -100,14 +80,14 @@ "" ], "gasLimit" : [ - "0x01c9c380" + "30000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011.json index bdc397489..e9564f19b 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011.json @@ -2,102 +2,72 @@ "static_callcallcodecallcode_011" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x2fd75751e2840030fd525e367b76078a473d3b453743658bb32f61985ebdd3c9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d1de0", + "0x03" : "0x00", + "0x04" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0x2fd75751e2840030fd525e367b76078a473d3b453743658bb32f61985ebdd3c9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x2fd75751e2840030fd525e367b76078a473d3b453743658bb32f61985ebdd3c9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x2fd75751e2840030fd525e367b76078a473d3b453743658bb32f61985ebdd3c9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x19cb8862259737713de891945c4c19bfb69b0562a44b08bc871398c3a8f79918", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000162055730fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60016001526040600060406000731000000000000000000000000000000000000002620493e0f4506001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 1 1) (DELEGATECALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6001600b5260406000604060007310000000000000000000000000000000000000036203d090f4506001600b52", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 11 1) (DELEGATECALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 11 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +77,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_2.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_2.json index ec3e6bf11..314eff335 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_2.json @@ -2,149 +2,95 @@ "static_callcallcodecallcode_011_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x2ef4ce9928e12ef46bd37c473fa224226d6f4893ea7b94346c23e573e32eefbd", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2ef4ce9928e12ef46bd37c473fa224226d6f4893ea7b94346c23e573e32eefbd", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x2ef4ce9928e12ef46bd37c473fa224226d6f4893ea7b94346c23e573e32eefbd", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2ef4ce9928e12ef46bd37c473fa224226d6f4893ea7b94346c23e573e32eefbd", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x2ef4ce9928e12ef46bd37c473fa224226d6f4893ea7b94346c23e573e32eefbd", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x2ef4ce9928e12ef46bd37c473fa224226d6f4893ea7b94346c23e573e32eefbd", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d1cf3" + } } } - ], - "Homestead" : [ - { - "hash" : "0x2ef4ce9928e12ef46bd37c473fa224226d6f4893ea7b94346c23e573e32eefbd", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2ef4ce9928e12ef46bd37c473fa224226d6f4893ea7b94346c23e573e32eefbd", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x9db7831768f2ee813548e2ef021daf6ad66d2703c19342c41f8839efaaeb0767", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x3e51020794ae37feb46ed74fb683949978ebf620609e854fdae15cb5a7e8cc00", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d02c7" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600035600052604060006040600073100000000000000000000000000000000000000162055730fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060006000600035620493e0f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (CALLCODE 300000 (CALLDATALOAD 0) 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600060007310000000000000000000000000000000000000036203d090f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "1000000000000000000", + "code" : "{ (CALLCODE 250000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600060017310000000000000000000000000000000000000036203d090f2", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "1000000000000000000", + "code" : "{ (CALLCODE 250000 0x1000000000000000000000000000000000000003 1 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +101,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGE.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGE.json index d10f60c00..4867d3608 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGE.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGE.json @@ -2,149 +2,77 @@ "static_callcallcodecallcode_011_OOGE" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGEFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x4daa489c6b3aabf48d863c99f9e2a26afdd0a99d943a0c791d0529f5180c4bb3", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4daa489c6b3aabf48d863c99f9e2a26afdd0a99d943a0c791d0529f5180c4bb3", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x4daa489c6b3aabf48d863c99f9e2a26afdd0a99d943a0c791d0529f5180c4bb3", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4daa489c6b3aabf48d863c99f9e2a26afdd0a99d943a0c791d0529f5180c4bb3", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x4daa489c6b3aabf48d863c99f9e2a26afdd0a99d943a0c791d0529f5180c4bb3", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4daa489c6b3aabf48d863c99f9e2a26afdd0a99d943a0c791d0529f5180c4bb3", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x4daa489c6b3aabf48d863c99f9e2a26afdd0a99d943a0c791d0529f5180c4bb3", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4daa489c6b3aabf48d863c99f9e2a26afdd0a99d943a0c791d0529f5180c4bb3", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x0af81d323116a22531bb4d7fa04c8ac27e8044ae1e98b6c1668ef4955ebed727", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x0af81d323116a22531bb4d7fa04c8ac27e8044ae1e98b6c1668ef4955ebed727", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01a7e8" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000002620186a0f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6040600060406000600035614e34f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (DELEGATECALL 20020 (CALLDATALOAD 0) 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600355", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (SSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "2000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +83,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000003" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGE_2.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGE_2.json index 4845c93a6..05584dcfb 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGE_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGE_2.json @@ -2,149 +2,95 @@ "static_callcallcodecallcode_011_OOGE_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGE_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x242220bfa3ff7bdb870f22f1b6711ca133c612c37846f536cb13e7069bebdb4c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x242220bfa3ff7bdb870f22f1b6711ca133c612c37846f536cb13e7069bebdb4c", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x242220bfa3ff7bdb870f22f1b6711ca133c612c37846f536cb13e7069bebdb4c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x242220bfa3ff7bdb870f22f1b6711ca133c612c37846f536cb13e7069bebdb4c", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x242220bfa3ff7bdb870f22f1b6711ca133c612c37846f536cb13e7069bebdb4c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x242220bfa3ff7bdb870f22f1b6711ca133c612c37846f536cb13e7069bebdb4c", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01f5eb" + } } } - ], - "Homestead" : [ - { - "hash" : "0x242220bfa3ff7bdb870f22f1b6711ca133c612c37846f536cb13e7069bebdb4c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x242220bfa3ff7bdb870f22f1b6711ca133c612c37846f536cb13e7069bebdb4c", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xc50926fa7b3798228ab87b4e6caef6880835e1f473776bc5942ab9cfb6067fb0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x16776fdb7a0c07720faf28c0c3a68e7231f9b9a00de3cff098c1bccd8671568c", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01dbce" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x600160035260406000604060006000600035620186a0f2506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (CALLCODE 100000 (CALLDATALOAD 0) 0 0 64 0 64 ) (MSTORE 3 1)}", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x600b60035260406000604060006000731000000000000000000000000000000000000003614e34f2506001600d52", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (MSTORE 3 11) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 13 1)}", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x600b60035260406000604060006001731000000000000000000000000000000000000003614e34f2506001600d52", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (MSTORE 3 11) (CALLCODE 20020 0x1000000000000000000000000000000000000003 1 0 64 0 64 ) (MSTORE 13 1)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +101,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter.json index 981659f09..de666396a 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter.json @@ -2,149 +2,77 @@ "static_callcallcodecallcode_011_OOGMAfter" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMAfterFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x2e194b3f2ad4b733dae1bd053e9686b9c6b677325326aa1811572d2016645dbe", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2e194b3f2ad4b733dae1bd053e9686b9c6b677325326aa1811572d2016645dbe", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x2e194b3f2ad4b733dae1bd053e9686b9c6b677325326aa1811572d2016645dbe", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2e194b3f2ad4b733dae1bd053e9686b9c6b677325326aa1811572d2016645dbe", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x2e194b3f2ad4b733dae1bd053e9686b9c6b677325326aa1811572d2016645dbe", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2e194b3f2ad4b733dae1bd053e9686b9c6b677325326aa1811572d2016645dbe", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x2e194b3f2ad4b733dae1bd053e9686b9c6b677325326aa1811572d2016645dbe", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2e194b3f2ad4b733dae1bd053e9686b9c6b677325326aa1811572d2016645dbe", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xbd5d7bfff973258610c0c91f936cfac39cbfa43b4d4036e8207b856412d5e7d8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xbd5d7bfff973258610c0c91f936cfac39cbfa43b4d4036e8207b856412d5e7d8", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014b88" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600060003561eaecfa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 60140 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016001526040600060406000731000000000000000000000000000000000000002619c90f4506001600355", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 1 1) (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60016001526040600060406000731000000000000000000000000000000000000003614e34f4506001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (MSTORE 1 1) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016001526040600060406000731000000000000000000000000000000000000002619c90f4505b61c3506080511015603f576001608051016080526027565b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +83,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter2.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter2.json index 5e2cd8209..a3d8f9dd2 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter2.json @@ -2,149 +2,77 @@ "static_callcallcodecallcode_011_OOGMAfter2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMAfter2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xd7f9bc5887e48f150f206c043834da84c98c0819b6616a02abbd3f170d97e048", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xd7f9bc5887e48f150f206c043834da84c98c0819b6616a02abbd3f170d97e048", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xd7f9bc5887e48f150f206c043834da84c98c0819b6616a02abbd3f170d97e048", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xd7f9bc5887e48f150f206c043834da84c98c0819b6616a02abbd3f170d97e048", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xd7f9bc5887e48f150f206c043834da84c98c0819b6616a02abbd3f170d97e048", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xd7f9bc5887e48f150f206c043834da84c98c0819b6616a02abbd3f170d97e048", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xd7f9bc5887e48f150f206c043834da84c98c0819b6616a02abbd3f170d97e048", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xd7f9bc5887e48f150f206c043834da84c98c0819b6616a02abbd3f170d97e048", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xe17e78baf0baf3baa33b7c07e6a27a4b26bfa0da315cd2fdd7f78b852ac319fe", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xe17e78baf0baf3baa33b7c07e6a27a4b26bfa0da315cd2fdd7f78b852ac319fe", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014b7e" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600060003561eaf6fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60406000604060006000731000000000000000000000000000000000000002619c90f2506001600355", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (SSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60406000604060006000731000000000000000000000000000000000000003614e34f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60406000604060006000731000000000000000000000000000000000000002619c90f2505b61c3506080511015603c576001608051016080526024565b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +83,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_1.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_1.json index cc8bd22d2..870ebafbb 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_1.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_1.json @@ -2,149 +2,77 @@ "static_callcallcodecallcode_011_OOGMAfter_1" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_1Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x37b05b2b1694e267a17fa8d8b8a8d34c9f110bdb64dbb9bb587672ed83a922bb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x37b05b2b1694e267a17fa8d8b8a8d34c9f110bdb64dbb9bb587672ed83a922bb", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x37b05b2b1694e267a17fa8d8b8a8d34c9f110bdb64dbb9bb587672ed83a922bb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x37b05b2b1694e267a17fa8d8b8a8d34c9f110bdb64dbb9bb587672ed83a922bb", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x37b05b2b1694e267a17fa8d8b8a8d34c9f110bdb64dbb9bb587672ed83a922bb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x37b05b2b1694e267a17fa8d8b8a8d34c9f110bdb64dbb9bb587672ed83a922bb", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x37b05b2b1694e267a17fa8d8b8a8d34c9f110bdb64dbb9bb587672ed83a922bb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x37b05b2b1694e267a17fa8d8b8a8d34c9f110bdb64dbb9bb587672ed83a922bb", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x990af95a71b3118f69c426277add38bbc58de02a9e26bff7eb0ebf4bbf7ae599", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x990af95a71b3118f69c426277add38bbc58de02a9e26bff7eb0ebf4bbf7ae599", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014b88" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600060003561eaecfa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 60140 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c90f4506001600355", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000003614e34f4506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c90f4505b61c3506080511015603f576001608051016080526027565b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +83,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_2.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_2.json index f45f3d897..ae18ec3b8 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_2.json @@ -2,149 +2,77 @@ "static_callcallcodecallcode_011_OOGMAfter_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xc03c499e2a3c34e4c26beadf863c506258ab497dc402f2f6a757045ed7f3b080", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xc03c499e2a3c34e4c26beadf863c506258ab497dc402f2f6a757045ed7f3b080", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xc03c499e2a3c34e4c26beadf863c506258ab497dc402f2f6a757045ed7f3b080", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xc03c499e2a3c34e4c26beadf863c506258ab497dc402f2f6a757045ed7f3b080", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xc03c499e2a3c34e4c26beadf863c506258ab497dc402f2f6a757045ed7f3b080", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xc03c499e2a3c34e4c26beadf863c506258ab497dc402f2f6a757045ed7f3b080", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xc03c499e2a3c34e4c26beadf863c506258ab497dc402f2f6a757045ed7f3b080", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xc03c499e2a3c34e4c26beadf863c506258ab497dc402f2f6a757045ed7f3b080", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xfa050b11a89e2a9f7c305d45fbe82d342206c1c7a1a4c6f3bbc1f8d93d752ef9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xfa050b11a89e2a9f7c305d45fbe82d342206c1c7a1a4c6f3bbc1f8d93d752ef9", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014b7e" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600060003561eaf6fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x600160035260406000604060006000731000000000000000000000000000000000000002619c90f2506001600355", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (SSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x600160035260406000604060006000731000000000000000000000000000000000000003614e34f2506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x600160035260406000604060006000731000000000000000000000000000000000000002619c90f2505b61c35060805110156041576001608051016080526029565b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +83,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore.json index 3f788ebfc..ca7d71b4b 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore.json @@ -2,149 +2,75 @@ "static_callcallcodecallcode_011_OOGMBefore" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMBeforeFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x2ad20090e1224b29415993bf5bd03758d712b8193e795a912eabed4d2604d345", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2ad20090e1224b29415993bf5bd03758d712b8193e795a912eabed4d2604d345", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x2ad20090e1224b29415993bf5bd03758d712b8193e795a912eabed4d2604d345", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2ad20090e1224b29415993bf5bd03758d712b8193e795a912eabed4d2604d345", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x2ad20090e1224b29415993bf5bd03758d712b8193e795a912eabed4d2604d345", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2ad20090e1224b29415993bf5bd03758d712b8193e795a912eabed4d2604d345", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x2ad20090e1224b29415993bf5bd03758d712b8193e795a912eabed4d2604d345", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2ad20090e1224b29415993bf5bd03758d712b8193e795a912eabed4d2604d345", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xd6541ea5354201a48bd0f70f2f332dd4531fa85f8bb7d071781c438303fa64d0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xd6541ea5354201a48bd0f70f2f332dd4531fa85f8bb7d071781c438303fa64d0", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : "Metropolis", + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x015c58" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000600035619c90f4506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (DELEGATECALL 40080 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60016003556040600060406000731000000000000000000000000000000000000003614e34f4506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (SSTORE 3 1) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b6040600060406000731000000000000000000000000000000000000003614e34f4506001600352", - "nonce" : "0x00", + "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", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +81,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore2.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore2.json index 463459056..33be6467f 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_OOGMBefore2.json @@ -2,196 +2,107 @@ "static_callcallcodecallcode_011_OOGMBefore2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMBefore2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : [ + 0, + 1 + ], + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x9ed73ce69ea182a3c3951a9afc1f43cb659b78f9218037269f67acb4c15fc080", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x015c55" + } } } - ], - "Metropolis" : [ - { - "hash" : "0x5b1d00a06a0a036104cbba95bdb5cbafcbf87dc8211748891feaa97e38d6e8d1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5b1d00a06a0a036104cbba95bdb5cbafcbf87dc8211748891feaa97e38d6e8d1", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : [ + 2 + ], + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xfc2dce01185c4c215d30367575141e646f1a5db292112040331e5018a8ffcdd5", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01dbd7" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x600160205260406000604060006000600035619c90f2506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 32 1) (CALLCODE 40080 (CALLDATALOAD 0) 0 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x600160035560406000604060006000731000000000000000000000000000000000000003614e34f2506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (SSTORE 3 1) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b60406000604060006000731000000000000000000000000000000000000003614e34f2506001602052", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x3000000000000000000000000000000000000002" : { - "balance" : "0x0a", - "code" : "0x60406000604060006001731000000000000000000000000000000000000003614e34f2506001602052", - "nonce" : "0x00", + "3000000000000000000000000000000000000002" : { + "balance" : "10", + "code" : "{ (CALLCODE 20020 0x1000000000000000000000000000000000000003 1 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -203,14 +114,14 @@ "0x0000000000000000000000003000000000000000000000000000000000000002" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd.json index 0282c1c3f..1f48259b6 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd.json @@ -2,102 +2,71 @@ "static_callcallcodecallcode_011_SuicideEnd" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x61348e42b14d35d4eef7d5956eeffb19517a6fbf0a94e1ab3eb4dcf35855c89c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : "Metropolis", + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a4b" + } + }, + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000" } } - ], - "EIP158" : [ - { - "hash" : "0x61348e42b14d35d4eef7d5956eeffb19517a6fbf0a94e1ab3eb4dcf35855c89c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x61348e42b14d35d4eef7d5956eeffb19517a6fbf0a94e1ab3eb4dcf35855c89c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x61348e42b14d35d4eef7d5956eeffb19517a6fbf0a94e1ab3eb4dcf35855c89c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xb67aa4247e88c4d122fb9eeef8124903887c155478891526a791052f6d3bd021", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x604060006040600073100000000000000000000000000000000000000361c350f450731000000000000000000000000000000000000001ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +76,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd2.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd2.json index 55ba6f955..b7a333e87 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideEnd2.json @@ -2,102 +2,70 @@ "static_callcallcodecallcode_011_SuicideEnd2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_SuicideEnd2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x22516f9d8f7a7932fb00d5b49968d602ec3ae02aa8271296b42286d2b7e0ea36", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a3f" + } } } - ], - "EIP158" : [ - { - "hash" : "0x22516f9d8f7a7932fb00d5b49968d602ec3ae02aa8271296b42286d2b7e0ea36", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x22516f9d8f7a7932fb00d5b49968d602ec3ae02aa8271296b42286d2b7e0ea36", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x22516f9d8f7a7932fb00d5b49968d602ec3ae02aa8271296b42286d2b7e0ea36", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xcabc8e8c5f4501f7883829cfce035018e718565b59a34c135a3c027311098777", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x600160035260406000604060006000731000000000000000000000000000000000000002620186a0f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x60016003526040600060406000600073100000000000000000000000000000000000000361c350f250731000000000000000000000000000000000000001ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle.json index 8e997b956..c30ec91ba 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle.json @@ -2,102 +2,73 @@ "static_callcallcodecallcode_011_SuicideMiddle" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_SuicideMiddleFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x59d3f1c3d6468bd6ab594a573ac4f799545e10065f70e6ec04facd62e57d86d7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a4b" + } + }, + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000" } } - ], - "EIP158" : [ - { - "hash" : "0x59d3f1c3d6468bd6ab594a573ac4f799545e10065f70e6ec04facd62e57d86d7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x59d3f1c3d6468bd6ab594a573ac4f799545e10065f70e6ec04facd62e57d86d7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x59d3f1c3d6468bd6ab594a573ac4f799545e10065f70e6ec04facd62e57d86d7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xea783d37d42e6ecd24e892886df355ba6d51587e01c149d24fc153db261f5bdb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x731000000000000000000000000000000000000000ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +78,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle2.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle2.json index 6acfc00e6..511ff1ac1 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle2.json @@ -2,102 +2,73 @@ "static_callcallcodecallcode_011_SuicideMiddle2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x9bfdf19cb71a48380c3c874c6acb8d2d44f1f91b865a5392b5b8daa85eadc66f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000" } } - ], - "EIP158" : [ - { - "hash" : "0x9bfdf19cb71a48380c3c874c6acb8d2d44f1f91b865a5392b5b8daa85eadc66f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x9bfdf19cb71a48380c3c874c6acb8d2d44f1f91b865a5392b5b8daa85eadc66f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x9bfdf19cb71a48380c3c874c6acb8d2d44f1f91b865a5392b5b8daa85eadc66f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x5390e5b561f9b0603dec17d274e19b996d1ac37a789533458cb553b032b5bf33", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0fa600055", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x600160035260406000604060006000731000000000000000000000000000000000000002620186a0f2506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x731000000000000000000000000000000000000000ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +78,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE.json index aaa867fcb..d8e6703d1 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE.json @@ -2,95 +2,75 @@ "static_callcallcodecallcode_ABCB_RECURSIVE" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVEFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0xb2d05e00", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "3000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x12b627c26a82e8c21433e04e7ceea3b207387ee8847483c067dcf8fa8949aefe", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01c75d11" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0x12b627c26a82e8c21433e04e7ceea3b207387ee8847483c067dcf8fa8949aefe", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x12b627c26a82e8c21433e04e7ceea3b207387ee8847483c067dcf8fa8949aefe", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x12b627c26a82e8c21433e04e7ceea3b207387ee8847483c067dcf8fa8949aefe", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xc096d4dd7261d8bc4b3bd8886fd1330c3d60d2587024dcfb04cb1a10f747d090", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000163017d7840fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620f4240f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (DELEGATECALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x60406000604060007310000000000000000000000000000000000000016207a120f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (DELEGATECALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -100,14 +80,14 @@ "" ], "gasLimit" : [ - "0x01c9c380" + "30000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE2.json b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE2.json index be06b24f3..0998edb06 100644 --- a/GeneralStateTests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE2.json +++ b/GeneralStateTests/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE2.json @@ -2,95 +2,75 @@ "static_callcallcodecallcode_ABCB_RECURSIVE2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0xb2d05e00", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "3000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xe996ed842257c5008ab91eedcb96fff401eeb3fb48de4cb136e546e3d6c486d4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01c75bde" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0xe996ed842257c5008ab91eedcb96fff401eeb3fb48de4cb136e546e3d6c486d4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xe996ed842257c5008ab91eedcb96fff401eeb3fb48de4cb136e546e3d6c486d4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xe996ed842257c5008ab91eedcb96fff401eeb3fb48de4cb136e546e3d6c486d4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xba06a47690366b597d449738417960f12cf8dc4b75b9376ceb636ac32ecf9c7c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000163017d7840fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x60406000604060006000731000000000000000000000000000000000000002620f4240f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (CALLCODE 1000000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x604060006040600060007310000000000000000000000000000000000000016207a120f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (CALLCODE 500000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -100,14 +80,14 @@ "" ], "gasLimit" : [ - "0x01c9c380" + "30000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcode_checkPC.json b/GeneralStateTests/stStaticCall/static_callcode_checkPC.json index d9016efa3..b19b7fc9d 100644 --- a/GeneralStateTests/stStaticCall/static_callcode_checkPC.json +++ b/GeneralStateTests/stStaticCall/static_callcode_checkPC.json @@ -2,88 +2,55 @@ "static_callcode_checkPC" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcode_checkPCFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0xb2d05e00", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "3000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x8d83f83f293820bb058b8492273f04a6ad304cd2417792399a40ef728098101f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x03" : "0x23" + } } } - ], - "EIP158" : [ - { - "hash" : "0x8d83f83f293820bb058b8492273f04a6ad304cd2417792399a40ef728098101f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x8d83f83f293820bb058b8492273f04a6ad304cd2417792399a40ef728098101f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x8d83f83f293820bb058b8492273f04a6ad304cd2417792399a40ef728098101f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x4d18190108f60337bbbcf5b57137b320bf906dcff70c45dae03ea2b1c308ffb4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620f4240fa5058600355", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (STATICCALL 1000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[3]] (PC)}", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +60,14 @@ "" ], "gasLimit" : [ - "0x01c9c380" + "30000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecall_10.json b/GeneralStateTests/stStaticCall/static_callcodecall_10.json index a78ee28f9..ad83f330a 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecall_10.json +++ b/GeneralStateTests/stStaticCall/static_callcodecall_10.json @@ -2,95 +2,63 @@ "static_callcodecall_10" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x40d04fef0f0ed5089c0e02eca18e8aeabac20d4e13aff19833883a15c3abe706", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d20c8" + } } } - ], - "EIP158" : [ - { - "hash" : "0x40d04fef0f0ed5089c0e02eca18e8aeabac20d4e13aff19833883a15c3abe706", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x4005a7e73385bdbb25efaa7c4b47907bd64d8e4588a328b9e1ed1a095450c39a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x8ca8708210d53c84e4ccfc81a2993e508240687b7907d52d5a53be9a32d7c966", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xb76a7f0ba3d09df577b8dc17c26e65e3208da54317e3e79896b5c5d28152a54d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000162055730f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600160015260406000604060007310000000000000000000000000000000000000026203d090fa506001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 1 1) (STATICCALL 250000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -100,14 +68,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecall_10_2.json b/GeneralStateTests/stStaticCall/static_callcodecall_10_2.json index f53a3d820..4579941db 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecall_10_2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecall_10_2.json @@ -2,95 +2,63 @@ "static_callcodecall_10_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xcaef428f02c7bb1fe166c3e7f57f72798642c2ab14933054431c6f9752463961", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d06ad" + } } } - ], - "EIP158" : [ - { - "hash" : "0xcaef428f02c7bb1fe166c3e7f57f72798642c2ab14933054431c6f9752463961", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xe46db475f4a34f99a95707007e4f41388e506493bf8fc0636dc5505dde2278cb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xe46db475f4a34f99a95707007e4f41388e506493bf8fc0636dc5505dde2278cb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xf00df8758426e896e6c0ce7481eef0f1fb78ccb694d41b8098c4454a7bafcf80", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000600173100000000000000000000000000000000000000162055730f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 1 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060007310000000000000000000000000000000000000026203d090fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (STATICCALL 250000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -100,14 +68,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecall_10_OOGE.json b/GeneralStateTests/stStaticCall/static_callcodecall_10_OOGE.json index a4cb200d2..6d00b056a 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecall_10_OOGE.json +++ b/GeneralStateTests/stStaticCall/static_callcodecall_10_OOGE.json @@ -2,142 +2,70 @@ "static_callcodecall_10_OOGE" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_OOGEFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x7c71255332e7a4e5f2242fab0159d493c3b35e3583b987b1ce91f3be3617ca80", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x7c71255332e7a4e5f2242fab0159d493c3b35e3583b987b1ce91f3be3617ca80", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x7c71255332e7a4e5f2242fab0159d493c3b35e3583b987b1ce91f3be3617ca80", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x7c71255332e7a4e5f2242fab0159d493c3b35e3583b987b1ce91f3be3617ca80", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x7c71255332e7a4e5f2242fab0159d493c3b35e3583b987b1ce91f3be3617ca80", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x7c71255332e7a4e5f2242fab0159d493c3b35e3583b987b1ce91f3be3617ca80", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x7c71255332e7a4e5f2242fab0159d493c3b35e3583b987b1ce91f3be3617ca80", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x7c71255332e7a4e5f2242fab0159d493c3b35e3583b987b1ce91f3be3617ca80", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x19b6480506e75ce4c686d0383c6cb2b4adfb756ef953fdf3df311f49805ad649", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x19b6480506e75ce4c686d0383c6cb2b4adfb756ef953fdf3df311f49805ad649", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01aac8" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000600035614e34fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 20020 (CALLDATALOAD 0) 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6001600255", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (SSTORE 2 1)}", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -148,14 +76,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecall_10_OOGE_2.json b/GeneralStateTests/stStaticCall/static_callcodecall_10_OOGE_2.json index 4d8fc43ea..365d0ebb1 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecall_10_OOGE_2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecall_10_OOGE_2.json @@ -2,142 +2,83 @@ "static_callcodecall_10_OOGE_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_OOGE_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xb197c4442d69a868c8659a3d50654c4a629537a047bdab998c2745bad40ba33b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xb197c4442d69a868c8659a3d50654c4a629537a047bdab998c2745bad40ba33b", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xb197c4442d69a868c8659a3d50654c4a629537a047bdab998c2745bad40ba33b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xb197c4442d69a868c8659a3d50654c4a629537a047bdab998c2745bad40ba33b", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xb197c4442d69a868c8659a3d50654c4a629537a047bdab998c2745bad40ba33b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xb197c4442d69a868c8659a3d50654c4a629537a047bdab998c2745bad40ba33b", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xb197c4442d69a868c8659a3d50654c4a629537a047bdab998c2745bad40ba33b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xb197c4442d69a868c8659a3d50654c4a629537a047bdab998c2745bad40ba33b", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x0af7e238f853cb81bc29728025f5c999e953b36d8a5f132a0c4c66818c9154b4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x0af7e238f853cb81bc29728025f5c999e953b36d8a5f132a0c4c66818c9154b4", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01aab1", + "0x02" : "0x00" + } + }, + "1000000000000000000000000000000000000001" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } + }, + "1000000000000000000000000000000000000002" : { + "storage" : { + "0x01" : "0x00", + "0x02" : "0x00" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60003560005260406000604060006000731000000000000000000000000000000000000001620249f0f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016002526040600060406000600035614e34fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 2 1) (STATICCALL 20020 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6001600255", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (SSTORE 2 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -148,14 +89,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecall_10_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcodecall_10_SuicideEnd.json index f2f44405d..85f5b9061 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecall_10_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcodecall_10_SuicideEnd.json @@ -2,142 +2,67 @@ "static_callcodecall_10_SuicideEnd" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xffb10331a4b64cc4bcd130b9d14d20044bd9dc060aa9b90208352cdd798cb42e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xffb10331a4b64cc4bcd130b9d14d20044bd9dc060aa9b90208352cdd798cb42e", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xffb10331a4b64cc4bcd130b9d14d20044bd9dc060aa9b90208352cdd798cb42e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xffb10331a4b64cc4bcd130b9d14d20044bd9dc060aa9b90208352cdd798cb42e", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xa5c92ddc578bac4041bcf00e6f5f8c8797630a18c8cfeb61e8ce492bb2537a98", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa5c92ddc578bac4041bcf00e6f5f8c8797630a18c8cfeb61e8ce492bb2537a98", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x5fab1652410c514f5ab0d93fe429e3ef683009e262b5c7b04f16049833ac252b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5fab1652410c514f5ab0d93fe429e3ef683009e262b5c7b04f16049833ac252b", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x455b47cabeed4cb5fc4cb50474c3382679f4b66e1f300824548db5e8e74f932b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x54f6798e80aa6993988d14777e80074576047b55c89c420324cc580868d9669d", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "shouldnotexist" : "1" } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x604060006040600060003561c350fa50731000000000000000000000000000000000000000ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (STATICCALL 50000 (CALLDATALOAD 0) 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000000) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x6001600252", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 2 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x6001600255", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (SSTORE 2 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -148,14 +73,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecall_10_SuicideEnd2.json b/GeneralStateTests/stStaticCall/static_callcodecall_10_SuicideEnd2.json index 70936ecd5..dd395cdae 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecall_10_SuicideEnd2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecall_10_SuicideEnd2.json @@ -2,135 +2,60 @@ "static_callcodecall_10_SuicideEnd2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_SuicideEnd2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xb1f79d64a427855e6542a8b149d2101512f2982a0e6bddc413d0a1c150368f6a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xfb1724ceb6b4d1963ad896eb0bfefa54f538b85d04bdba49b0ec97f9a6cd5081", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "EIP158" : [ - { - "hash" : "0xb1f79d64a427855e6542a8b149d2101512f2982a0e6bddc413d0a1c150368f6a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xfb1724ceb6b4d1963ad896eb0bfefa54f538b85d04bdba49b0ec97f9a6cd5081", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Frontier" : [ - { - "hash" : "0xcb2611e4431a6cf6a749b0bb81cc79d7adde161488fec22721e05e19e4c6d3af", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x3c0af4fd0d68067a34b91c574453e7900e3330d63be4d13b7bf7a728bdaf355b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Homestead" : [ - { - "hash" : "0xcb2611e4431a6cf6a749b0bb81cc79d7adde161488fec22721e05e19e4c6d3af", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x3c0af4fd0d68067a34b91c574453e7900e3330d63be4d13b7bf7a728bdaf355b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x757164264cd4323998e716d132550c10cf0cc623815257199c218b1b473b7555", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xf85d747b2fdbbeea4366755fd4a835b694effbebfe28189d941d3ca429fa1034", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "shouldnotexist" : "1" } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x604060006040600073100000000000000000000000000000000000000261c350fa50731000000000000000000000000000000000000000ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (STATICCALL 50000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000000) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x6001600252", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 2 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -140,15 +65,15 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x01" + "0", + "1" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100.json index 113b60046..d30543ce3 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100.json @@ -2,102 +2,70 @@ "static_callcodecallcall_100" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x4126e8a9ffab70c125d27eda12cc08b4b42117bb5eef34e7025af771ebe5863c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d1dfe" + } } } - ], - "EIP158" : [ - { - "hash" : "0x4126e8a9ffab70c125d27eda12cc08b4b42117bb5eef34e7025af771ebe5863c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x10ae69062b7397b67941366bb23a6653632c94faafdcbab9fc51c8e81dc1362e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xba19c18ac02fc6cef9dddcf13ec4678f302aa87e5283ea9e8a251fdcaa3cd398", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xc62c52a9e623752e2ea8831e92e3bc361534fe50423463a5bb2cf961cea54996", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000162055730f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620493e0fa5033600552", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (STATICCALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 5 (CALLER))}", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060007310000000000000000000000000000000000000036203d090fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "1000000000000000000", + "code" : "{ (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 1 1)}", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_2.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_2.json index 005bf3347..913299d62 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_2.json @@ -2,142 +2,92 @@ "static_callcodecallcall_100_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x7d27ae5179addae420f8848bf939d89218cf768eece86e0d7b914027e02e4ffe", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xb6a4fe6026a17a81c53d8f2d3ed8ee914cbaa78f282631f5b76b7d3be26adc38", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "EIP158" : [ - { - "hash" : "0x7d27ae5179addae420f8848bf939d89218cf768eece86e0d7b914027e02e4ffe", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xb6a4fe6026a17a81c53d8f2d3ed8ee914cbaa78f282631f5b76b7d3be26adc38", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Frontier" : [ - { - "hash" : "0x78d9ec15bf63501294f6754e1c9165bf7c2dcad9415b23d74d1d2900f3cdedf7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : [ + 0 + ] }, - { - "hash" : "0xcf204b2d5d6c368c2d727515a8838ae3ed4fb407d8a87d92ef6208fa48915aea", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d1e06" + } } } - ], - "Homestead" : [ - { - "hash" : "0x78d9ec15bf63501294f6754e1c9165bf7c2dcad9415b23d74d1d2900f3cdedf7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xcf204b2d5d6c368c2d727515a8838ae3ed4fb407d8a87d92ef6208fa48915aea", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xbd13070b0612e42bd01a5e31294f621ab8658413d58dba4e5bed87b40b2aa179", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : [ + 1 + ] }, - { - "hash" : "0x1b9fd1a49cdf2ee3e9f27bf2c112ec869734f94f216bc0cb2088fb9ed693de73", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d03da" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060003473100000000000000000000000000000000000000162055730f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620493e0fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (STATICCALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060007310000000000000000000000000000000000000036203d090fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "1000000000000000000", + "code" : "{ (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -147,15 +97,15 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x01" + "0", + "1" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGE.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGE.json index f89039d24..a58121b3c 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGE.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGE.json @@ -2,149 +2,77 @@ "static_callcodecallcall_100_OOGE" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGEFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xb3dab5bdbf866f226d9af71b1d937c9935df118637701183c5621ac66889444c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xb3dab5bdbf866f226d9af71b1d937c9935df118637701183c5621ac66889444c", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xb3dab5bdbf866f226d9af71b1d937c9935df118637701183c5621ac66889444c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xb3dab5bdbf866f226d9af71b1d937c9935df118637701183c5621ac66889444c", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xb3dab5bdbf866f226d9af71b1d937c9935df118637701183c5621ac66889444c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xb3dab5bdbf866f226d9af71b1d937c9935df118637701183c5621ac66889444c", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xb3dab5bdbf866f226d9af71b1d937c9935df118637701183c5621ac66889444c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xb3dab5bdbf866f226d9af71b1d937c9935df118637701183c5621ac66889444c", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x715ef654deaac774408495d6645be7258c20881c38e2d35b8d3c4b240d05395d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x715ef654deaac774408495d6645be7258c20881c38e2d35b8d3c4b240d05395d", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01a7d2" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6000356020526040600060406000731000000000000000000000000000000000000002620186a0fa506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 32 (CALLDATALOAD 0)) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6040600060406000602035614e34fa506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (STATICCALL 20020 (CALLDATALOAD 32) 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600355", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (SSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "2000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +83,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000003" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGE2.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGE2.json index a15c36cbd..b06a69c35 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGE2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGE2.json @@ -2,149 +2,77 @@ "static_callcodecallcall_100_OOGE2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGE2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x433effffa866f63e0e2d70539bffa3db837d99206170c69be3adaaf1c6be9c54", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x433effffa866f63e0e2d70539bffa3db837d99206170c69be3adaaf1c6be9c54", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x433effffa866f63e0e2d70539bffa3db837d99206170c69be3adaaf1c6be9c54", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x433effffa866f63e0e2d70539bffa3db837d99206170c69be3adaaf1c6be9c54", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x433effffa866f63e0e2d70539bffa3db837d99206170c69be3adaaf1c6be9c54", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x433effffa866f63e0e2d70539bffa3db837d99206170c69be3adaaf1c6be9c54", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x433effffa866f63e0e2d70539bffa3db837d99206170c69be3adaaf1c6be9c54", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x433effffa866f63e0e2d70539bffa3db837d99206170c69be3adaaf1c6be9c54", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xe99222321b714f8aebe46a42a115aa0eddc49470280f3ab69083192d8672faf8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xe99222321b714f8aebe46a42a115aa0eddc49470280f3ab69083192d8672faf8", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01a7e6" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600035600052604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000002620186a0fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6040600060406000600035614e34fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (STATICCALL 20020 (CALLDATALOAD 0) 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600355", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (SSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "2000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +83,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000003" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter.json index 144ac42b7..ff1aa5d5b 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter.json @@ -2,102 +2,70 @@ "static_callcodecallcall_100_OOGMAfter" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfterFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x7ed6fb7fbf8ba61fbf761ec28fc435b190d602acb59c1f43043df1d345558d4b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014c81" + } } } - ], - "EIP158" : [ - { - "hash" : "0x7ed6fb7fbf8ba61fbf761ec28fc435b190d602acb59c1f43043df1d345558d4b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x630945025221b7f2924f3e7ab5dc5d929c1dd0e6d6f153ae126b0cf50a91ea1e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x2f1d473019a782dcf23e816269991191f90e96bd302ae4952965fa86b216cd3d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x7ed6fb7fbf8ba61fbf761ec28fc435b190d602acb59c1f43043df1d345558d4b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000161eaf6f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c90fa505b61c3506080511015603f576001608051016080526027565b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000003614e34fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter2.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter2.json index ec901f053..09346fe23 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter2.json @@ -2,142 +2,92 @@ "static_callcodecallcall_100_OOGMAfter2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfter2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x361bc34a5d6c0b721abe43a859dc2993ee14ff7c8768845d2286a2949962f489", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xbd9b3a8fb7bf910f918fa5ee72b73e54f1e0a38f7e07910d57cf8e29c7bd7002", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "EIP158" : [ - { - "hash" : "0x361bc34a5d6c0b721abe43a859dc2993ee14ff7c8768845d2286a2949962f489", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xbd9b3a8fb7bf910f918fa5ee72b73e54f1e0a38f7e07910d57cf8e29c7bd7002", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Frontier" : [ - { - "hash" : "0xecd4b2775f4a1a42e5d93a13cd13090d3473fb795b072ecc92bbfb3cc69a279c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : [ + 0 + ] }, - { - "hash" : "0x0de76bcd2f4505d9e8d256178cfbd8240f855fac9536ef612a64f4ac93b5c7ed", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014b7c" + } } } - ], - "Homestead" : [ - { - "hash" : "0xecd4b2775f4a1a42e5d93a13cd13090d3473fb795b072ecc92bbfb3cc69a279c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x0de76bcd2f4505d9e8d256178cfbd8240f855fac9536ef612a64f4ac93b5c7ed", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x361bc34a5d6c0b721abe43a859dc2993ee14ff7c8768845d2286a2949962f489", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : [ + 1 + ] }, - { - "hash" : "0xbd9b3a8fb7bf910f918fa5ee72b73e54f1e0a38f7e07910d57cf8e29c7bd7002", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x012854" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060003460003561eaf6f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 60150 (CALLDATALOAD 0) (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90fa505b61c3506080511015603a576001608051016080526022565b", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -147,15 +97,15 @@ "0x0000000000000000000000001000000000000000000000000000000000000001" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x01" + "0", + "1" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter_2.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter_2.json index 26fedbed9..8e2980f5d 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter_2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter_2.json @@ -2,102 +2,70 @@ "static_callcodecallcall_100_OOGMAfter_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfter_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x91932b8773a7a1b19b0a3dbd48bd59fb81903e403659f143776042ed44e1b8ba", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014c81" + } } } - ], - "EIP158" : [ - { - "hash" : "0x91932b8773a7a1b19b0a3dbd48bd59fb81903e403659f143776042ed44e1b8ba", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xa9f68926d2ac9312b29fb8cc877b30030a903fbb5b0529c6280d5b0e7e0c73df", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xb7f9c6b66d22428eae876dacfd2801a5d9f35059d4e8c3fa28497d5f72b6bf21", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x91932b8773a7a1b19b0a3dbd48bd59fb81903e403659f143776042ed44e1b8ba", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000161eaf6f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c90fa505b61c3506080511015603f576001608051016080526027565b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000003614e34fa506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter_3.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter_3.json index 7cd7bb031..ff0988181 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter_3.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMAfter_3.json @@ -2,142 +2,92 @@ "static_callcodecallcall_100_OOGMAfter_3" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfter_3Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x5c64d4cbc7a50462807c8179150c79764c9754f5f43ea435c5ccb6627682ad8a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xbbb7e4d41448f83a20526be7fa5afb6e88543644bb4d9e4d1f0457028710f9f2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "EIP158" : [ - { - "hash" : "0x5c64d4cbc7a50462807c8179150c79764c9754f5f43ea435c5ccb6627682ad8a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xbbb7e4d41448f83a20526be7fa5afb6e88543644bb4d9e4d1f0457028710f9f2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Frontier" : [ - { - "hash" : "0x2e6da8e4e77bb0814e1db36c518793bdab38ecead044f0f04bc82502b23238ae", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : [ + 0 + ] }, - { - "hash" : "0xd0af5616c05f500643f04841f4a29494885f0743ba37e4eaff752e8f31ab84b7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014c7f" + } } } - ], - "Homestead" : [ - { - "hash" : "0x2e6da8e4e77bb0814e1db36c518793bdab38ecead044f0f04bc82502b23238ae", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xd0af5616c05f500643f04841f4a29494885f0743ba37e4eaff752e8f31ab84b7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x5c64d4cbc7a50462807c8179150c79764c9754f5f43ea435c5ccb6627682ad8a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : [ + 1 + ] }, - { - "hash" : "0xbbb7e4d41448f83a20526be7fa5afb6e88543644bb4d9e4d1f0457028710f9f2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x012957" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060003473100000000000000000000000000000000000000161eaf6f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 60150 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c90fa505b61c3506080511015603f576001608051016080526027565b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000003614e34fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -147,15 +97,15 @@ "" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x01" + "0", + "1" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMBefore.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMBefore.json index 879140982..e0cf4f704 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMBefore.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMBefore.json @@ -2,149 +2,77 @@ "static_callcodecallcall_100_OOGMBefore" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMBeforeFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x4c5b595198073a5b8e5cbb82d5f28dc9055dd22f91de3d977cc3dd5d294dd7bd", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4c5b595198073a5b8e5cbb82d5f28dc9055dd22f91de3d977cc3dd5d294dd7bd", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x4c5b595198073a5b8e5cbb82d5f28dc9055dd22f91de3d977cc3dd5d294dd7bd", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4c5b595198073a5b8e5cbb82d5f28dc9055dd22f91de3d977cc3dd5d294dd7bd", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x4c5b595198073a5b8e5cbb82d5f28dc9055dd22f91de3d977cc3dd5d294dd7bd", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4c5b595198073a5b8e5cbb82d5f28dc9055dd22f91de3d977cc3dd5d294dd7bd", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x4c5b595198073a5b8e5cbb82d5f28dc9055dd22f91de3d977cc3dd5d294dd7bd", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4c5b595198073a5b8e5cbb82d5f28dc9055dd22f91de3d977cc3dd5d294dd7bd", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xfbf86edcc876a51f3dd424eeac7749736ca4c8d23762881f623479686b98003b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xfbf86edcc876a51f3dd424eeac7749736ca4c8d23762881f623479686b98003b", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x015c61" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000600035619c90fa506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 40080 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b6040600060406000731000000000000000000000000000000000000003614e34fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60016003556040600060406000731000000000000000000000000000000000000003614e34fa506001600352", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (SSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +83,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMBefore2.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMBefore2.json index e14381470..7cb58d273 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMBefore2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_OOGMBefore2.json @@ -2,229 +2,95 @@ "static_callcodecallcall_100_OOGMBefore2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMBefore2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - } - ], - "EIP158" : [ - { - "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - } - ], - "Frontier" : [ - { - "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : 0 }, - { - "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - } - ], - "Homestead" : [ - { - "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x85fdb3c4a8e99e4454d4eb74500cc97638129f9500349bd67db3ec220d8d5cc2", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x015c61" + } } } - ], - "Metropolis" : [ - { - "hash" : "0x1f1621e269baeac7c15594563deae26289bb3b6d50cb41c75b746844e06bb99e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x1662ed027e5f2f84723de20723a9f0c82c5863c771fcf56515e354d1253d7933", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x1f1621e269baeac7c15594563deae26289bb3b6d50cb41c75b746844e06bb99e", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : 1 }, - { - "hash" : "0x1662ed027e5f2f84723de20723a9f0c82c5863c771fcf56515e354d1253d7933", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x014235" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600035600052604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000600035619c90fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (STATICCALL 40080 (CALLDATALOAD 0) 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b6040600060406000731000000000000000000000000000000000000003614e34fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60016003556040600060406000731000000000000000000000000000000000000003614e34fa", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (SSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -235,15 +101,15 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x01" + "0", + "1" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideEnd.json index 6138f2c27..645392ddd 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideEnd.json @@ -2,102 +2,70 @@ "static_callcodecallcall_100_SuicideEnd" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x381a11d6a13b7c402d5d243385918f2ace199b526d2159e9983ec60c353911dd", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a37" + } } } - ], - "EIP158" : [ - { - "hash" : "0x381a11d6a13b7c402d5d243385918f2ace199b526d2159e9983ec60c353911dd", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x85521a09b79fc6e3760d4613985c647c76bfb39bc87c9268d88e8067ad030fa0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x463741f4265524b715ce6f7acb54b73695e53ea3e14e9f7ad20d2a482f1a83a4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xa96ac5df61af15013c4bb7b8e0e282665e3d9cad37e1d240e371cd40bc0e78de", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x6001600352604060006040600073100000000000000000000000000000000000000361c350fa50731000000000000000000000000000000000000001ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideEnd2.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideEnd2.json index 6ea1196b1..1814f54dc 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideEnd2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideEnd2.json @@ -2,102 +2,70 @@ "static_callcodecallcall_100_SuicideEnd2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_SuicideEnd2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x471bc64538a4c74b21171995bf3703400b180c599c5945413528fd7777a306d1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a34" + } } } - ], - "EIP158" : [ - { - "hash" : "0x471bc64538a4c74b21171995bf3703400b180c599c5945413528fd7777a306d1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xb093583b2aa91178b0c01c3680a0dd3d3293bf841f1114a1d2971e72a6a8a223", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xb093583b2aa91178b0c01c3680a0dd3d3293bf841f1114a1d2971e72a6a8a223", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xf385336e7b0b36c330b7408c759061fbb889e19331fbc5ab6dec499ed6ad1be2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060006000731000000000000000000000000000000000000001620249f0f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x6001600352604060006040600073100000000000000000000000000000000000000361c350fa50731000000000000000000000000000000000000001ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideMiddle.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideMiddle.json index 1a23a8335..f18d49569 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideMiddle.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideMiddle.json @@ -2,102 +2,70 @@ "static_callcodecallcall_100_SuicideMiddle" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_SuicideMiddleFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x40165974086de2646f2d11027dd5f3bbcb914f71af136316fc9a71611679a8b2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a37" + } } } - ], - "EIP158" : [ - { - "hash" : "0x40165974086de2646f2d11027dd5f3bbcb914f71af136316fc9a71611679a8b2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x927477316bf74d67e7ef3c7ec3052c4859b577244dc38fe99cbf806f7e6e4cb7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xe576612682d495ae873a36b85ead4b5f06a429b634444af1b62176d9c5064c70", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x353b93f5c6b28c35a58a4eeb67bc8b070cabf3c6cfc975b298151f5c66968d69", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1)}", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x731000000000000000000000000000000000000000ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideMiddle2.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideMiddle2.json index ce5edf48f..db418f287 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideMiddle2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_100_SuicideMiddle2.json @@ -2,142 +2,70 @@ "static_callcodecallcall_100_SuicideMiddle2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_SuicideMiddle2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x4e013f56210747102d856d53704231ab6912d2c7a5bd2f19fd3cdab34ee72432", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x92b8752204b66885c46b3d896ddc6585ab9e16b911028e8b6fb2e50792279a5b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "EIP158" : [ - { - "hash" : "0x4e013f56210747102d856d53704231ab6912d2c7a5bd2f19fd3cdab34ee72432", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x92b8752204b66885c46b3d896ddc6585ab9e16b911028e8b6fb2e50792279a5b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Frontier" : [ - { - "hash" : "0x6dc5c230add1362038a52ce7178a56c255dee37ee217ebdb1184d5fbb9894f47", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2564491adae12e8989f2ce88e9a4bfcab47523cd4bb860738fcb168371370739", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Homestead" : [ - { - "hash" : "0x6dc5c230add1362038a52ce7178a56c255dee37ee217ebdb1184d5fbb9894f47", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2564491adae12e8989f2ce88e9a4bfcab47523cd4bb860738fcb168371370739", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x36e301fa26348213d8fa7f671f6dac92cebcf1ea069d26ca907ef9f127ddefe4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : 0 }, - { - "hash" : "0x870ec88644936106ee61100bc2780a4496a5f7caab76d6846904fcf586781384", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a49" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x731000000000000000000000000000000000000000ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -147,15 +75,15 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x01" + "0", + "1" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE.json index ac2b787b4..44944855b 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE.json @@ -2,95 +2,63 @@ "static_callcodecallcall_ABCB_RECURSIVE" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_ABCB_RECURSIVEFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0xb2d05e00", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "3000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x36da9b0b5f7f1feb4192490cfff4d4c334931669611775218046032daa8460ff", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01c75d11" + } } } - ], - "EIP158" : [ - { - "hash" : "0x36da9b0b5f7f1feb4192490cfff4d4c334931669611775218046032daa8460ff", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x7628f8b7e05eb3979ecc8cc9f3701aeedc280fbea14ed67f26a288f01a32c327", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x99da5ab6960b519b76a046d5190940d58cf386021b88f604d2b2e9c0acb01554", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x3145fce9c07fa9dbfd6d4a45ecb9d1f48797a8658e30f51c38d2f8796d407805", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000163017d7840f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620f4240fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x60406000604060007310000000000000000000000000000000000000016207a120fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -100,14 +68,14 @@ "" ], "gasLimit" : [ - "0x01c9c380" + "30000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE2.json b/GeneralStateTests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE2.json index 8099665f0..e0199216c 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE2.json @@ -2,135 +2,81 @@ "static_callcodecallcall_ABCB_RECURSIVE2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0xb2d05e00", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "3000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xdaec2429abc968a1a0a02b6de21a2e280a98fef33079e4ca66f3fea06451edd1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x555dce538c2924e38b5d3f36ae9097918d30e263b00220ae2dee9bc86bab8d99", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "EIP158" : [ - { - "hash" : "0xdaec2429abc968a1a0a02b6de21a2e280a98fef33079e4ca66f3fea06451edd1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x555dce538c2924e38b5d3f36ae9097918d30e263b00220ae2dee9bc86bab8d99", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Frontier" : [ - { - "hash" : "0x9a39915490356f421a4939f8eaa62d87e9ce7aff77693daa5fc13bb7bd154e3e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : 0 }, - { - "hash" : "0x1d8a35f73e0f289797967898a662f6c2567c12f30818fbcebeae4cd212bc9bce", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01c75d0f" + } } } - ], - "Homestead" : [ - { - "hash" : "0x9a39915490356f421a4939f8eaa62d87e9ce7aff77693daa5fc13bb7bd154e3e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x1d8a35f73e0f289797967898a662f6c2567c12f30818fbcebeae4cd212bc9bce", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x39328772b3aad90d51ddde3bf1d5875ed2f7c9be9f617bfc4fd057e138d2da0e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : 1 }, - { - "hash" : "0x9849178ca639e5dba82b6277068bb65704153ccd4fb2b4746873549cec2a66ea", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01c742e3" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060003473100000000000000000000000000000000000000163017d7840f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 25000000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620f4240fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x60406000604060007310000000000000000000000000000000000000016207a120fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -140,15 +86,15 @@ "" ], "gasLimit" : [ - "0x01c9c380" + "30000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x01" + "0", + "1" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101.json index 4446b8795..d3c81827b 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101.json @@ -2,102 +2,70 @@ "static_callcodecallcallcode_101" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x4fe036b2ec739a881dbe797c3e93226050a9633f40c591c7ca2172db0aebfcfd", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d1de0" + } } } - ], - "EIP158" : [ - { - "hash" : "0x4fe036b2ec739a881dbe797c3e93226050a9633f40c591c7ca2172db0aebfcfd", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xeed9ad27700e54426a22b3bd8f5c619bc65970ee20bc9a818601961af8d76933", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x5d073e2221bc2918bff24f8557dd5c40a20b6e0b587699d1717eefe312211d41", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x4228a616fcacea1f3a8729197fdbcb94835446fb0ef48d2c8b82d1abb87ca0b1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000162055730f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60016001526040600060406000731000000000000000000000000000000000000002620493e0fa506001601f52", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 1 1) (STATICCALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 31 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600160015260406000604060007310000000000000000000000000000000000000036203d090f4506001601f52", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 1 1) (DELEGATECALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 31 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_2.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_2.json index aa029cfa0..57578ba2c 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_2.json @@ -2,149 +2,95 @@ "static_callcodecallcallcode_101_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xb89fd15286651c620aa01984637e9f605a459703e04fd0c7383f32755b47d7c6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xb89fd15286651c620aa01984637e9f605a459703e04fd0c7383f32755b47d7c6", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xb89fd15286651c620aa01984637e9f605a459703e04fd0c7383f32755b47d7c6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xb89fd15286651c620aa01984637e9f605a459703e04fd0c7383f32755b47d7c6", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xccadb2929842f0f5f70d5469f94b0b540f68be9bab6a0b708b88d33c1d5965bb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xccadb2929842f0f5f70d5469f94b0b540f68be9bab6a0b708b88d33c1d5965bb", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d1cf4" + } } } - ], - "Homestead" : [ - { - "hash" : "0xccadb2929842f0f5f70d5469f94b0b540f68be9bab6a0b708b88d33c1d5965bb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xccadb2929842f0f5f70d5469f94b0b540f68be9bab6a0b708b88d33c1d5965bb", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x963fd9ac89d3ecf5896ef7b3d37b66f8c0b9a50ef3ca58df694ca3254ba42afa", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xc1d625b450e52fa94fcc028c427eb8fbcb715034ce0e28d152f4e79332bbcc24", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d02c8" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60003560005260406000604060003473100000000000000000000000000000000000000162055730f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000600035620493e0fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (STATICCALL 300000 (CALLDATALOAD 0) 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600060007310000000000000000000000000000000000000036203d090f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "1000000000000000000", + "code" : "{ (CALLCODE 250000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600060017310000000000000000000000000000000000000036203d090f2", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "1000000000000000000", + "code" : "{ (CALLCODE 250000 0x1000000000000000000000000000000000000003 1 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -155,14 +101,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGE.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGE.json index d70841853..27369ac26 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGE.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGE.json @@ -2,102 +2,70 @@ "static_callcodecallcallcode_101_OOGE" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGEFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x212a9dd305411a02287873d41c49633d733df355c93c0e2ec8e991c74618dddf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01a903" + } } } - ], - "EIP158" : [ - { - "hash" : "0x212a9dd305411a02287873d41c49633d733df355c93c0e2ec8e991c74618dddf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x212a9dd305411a02287873d41c49633d733df355c93c0e2ec8e991c74618dddf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x212a9dd305411a02287873d41c49633d733df355c93c0e2ec8e991c74618dddf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x13a7983bd5d7a459b5c1796b1d8768ba174b99ebfdaa4a68aa04c0a568acac2d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGE_2.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGE_2.json index 4816fd5eb..044f0bb35 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGE_2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGE_2.json @@ -2,102 +2,70 @@ "static_callcodecallcallcode_101_OOGE_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGE_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xc8a50e0d4fd6627da1b11b03bbc148881e71e31f7c1ffadcf35f828014295503", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01a8fd" + } } } - ], - "EIP158" : [ - { - "hash" : "0xc8a50e0d4fd6627da1b11b03bbc148881e71e31f7c1ffadcf35f828014295503", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xc8a50e0d4fd6627da1b11b03bbc148881e71e31f7c1ffadcf35f828014295503", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xc8a50e0d4fd6627da1b11b03bbc148881e71e31f7c1ffadcf35f828014295503", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x63f7feb7c4151032a348fe5d91e5a69a03329526e527328b596ade4cd8551f13", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060006000731000000000000000000000000000000000000001620249f0f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60406000604060006000731000000000000000000000000000000000000003614e34f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter.json index bf1b2d6a0..7c513e2a2 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter.json @@ -2,102 +2,70 @@ "static_callcodecallcallcode_101_OOGMAfter" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfterFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xa5c69798df4021336e48ef840dc463de8938476a97ba097add384d889bcdb467", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014c81" + } } } - ], - "EIP158" : [ - { - "hash" : "0xa5c69798df4021336e48ef840dc463de8938476a97ba097add384d889bcdb467", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x9d39b7a4eedf674f1ec536720219a0e5b81813a4e8b478b18162f9bc688801ae", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x9faa51ed49fd07f2bcd6e2a0fb71ff23aa6e3f65d9ce115a8f09ca0d9958812d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xa5c69798df4021336e48ef840dc463de8938476a97ba097add384d889bcdb467", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000161eaf6f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c90fa505b61c3506080511015603f576001608051016080526027565b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000003614e34f4506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter2.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter2.json index 2b43e3c45..ab6c65a73 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter2.json @@ -2,142 +2,70 @@ "static_callcodecallcallcode_101_OOGMAfter2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfter2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x675efbcbe539dc59e7614a0dc4b71190760508501fbfeed34f8d34a5b74ec4b0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xeea01e9e3d0f52f07c4c25587b35a44e3aa6ed33ab4be67adab1ba0f7095b0b6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "EIP158" : [ - { - "hash" : "0x675efbcbe539dc59e7614a0dc4b71190760508501fbfeed34f8d34a5b74ec4b0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xeea01e9e3d0f52f07c4c25587b35a44e3aa6ed33ab4be67adab1ba0f7095b0b6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Frontier" : [ - { - "hash" : "0x89f3250aa1e2cdfb5c3ca650f299bfab9087b5ce0ce4d3ef7c45c2fa929380df", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xfd6c8f5a8449ba1f797193c2e58476f8092366956808f8528be449e390a2d558", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Homestead" : [ - { - "hash" : "0x89f3250aa1e2cdfb5c3ca650f299bfab9087b5ce0ce4d3ef7c45c2fa929380df", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xfd6c8f5a8449ba1f797193c2e58476f8092366956808f8528be449e390a2d558", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x675efbcbe539dc59e7614a0dc4b71190760508501fbfeed34f8d34a5b74ec4b0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : 0 }, - { - "hash" : "0xeea01e9e3d0f52f07c4c25587b35a44e3aa6ed33ab4be67adab1ba0f7095b0b6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014c7f" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060003473100000000000000000000000000000000000000161eaf6f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 60150 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c90fa505b61c3506080511015603f576001608051016080526027565b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x600160035260406000604060006000731000000000000000000000000000000000000003614e34f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -147,15 +75,15 @@ "" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x01" + "0", + "1" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_1.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_1.json index 6386ae77f..3d1a46c0c 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_1.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_1.json @@ -2,177 +2,123 @@ "static_callcodecallcallcode_101_OOGMAfter_1" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_1Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x77804caf96f8f25a8790a3d5b4d84fffb6640fd3404355049842709fc07169e9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x77804caf96f8f25a8790a3d5b4d84fffb6640fd3404355049842709fc07169e9", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x77804caf96f8f25a8790a3d5b4d84fffb6640fd3404355049842709fc07169e9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x77804caf96f8f25a8790a3d5b4d84fffb6640fd3404355049842709fc07169e9", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x068eaa534d454e864eaac3367b7f65d6159de21ca9a3ef636b017af014c6f832", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x068eaa534d454e864eaac3367b7f65d6159de21ca9a3ef636b017af014c6f832", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x010e48" + } } } - ], - "Homestead" : [ - { - "hash" : "0x068eaa534d454e864eaac3367b7f65d6159de21ca9a3ef636b017af014c6f832", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x068eaa534d454e864eaac3367b7f65d6159de21ca9a3ef636b017af014c6f832", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x77804caf96f8f25a8790a3d5b4d84fffb6640fd3404355049842709fc07169e9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xa9658b697f24344632b4352c9ad6476d582d53d5242fe7e1225da9f14474c14f", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01a549" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000600073100000000000000000000000000000000000000161eaf6f2506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (CALLCODE 60150 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90fa505b61c3506080511015603a576001608051016080526022565b", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60406000604060006000731000000000000000000000000000000000000003614e34f2506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000600073200000000000000000000000000000000000000161eaf6f2506001600352", - "nonce" : "0x00", + "2000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (CALLCODE 60150 0x2000000000000000000000000000000000000001 0 0 64 0 64 ) (MSTORE 3 1)}", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000732000000000000000000000000000000000000002619c90fa506001600352", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 40080 0x2000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60406000604060006000732000000000000000000000000000000000000003614e34f2506001600352", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (CALLCODE 20020 0x2000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600355", - "nonce" : "0x00", + "2000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (SSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600060006000600060006000355af26000555a600155", - "nonce" : "0x00", + "a000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -183,14 +129,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xa000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "a000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_3.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_3.json index cca00bc8e..4677d137f 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_3.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_3.json @@ -2,177 +2,123 @@ "static_callcodecallcallcode_101_OOGMAfter_3" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_3Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x261eeca84466f4c560675a7a2c0eb311ff09056a691ba4608cb922195b8f014e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x261eeca84466f4c560675a7a2c0eb311ff09056a691ba4608cb922195b8f014e", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x261eeca84466f4c560675a7a2c0eb311ff09056a691ba4608cb922195b8f014e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x261eeca84466f4c560675a7a2c0eb311ff09056a691ba4608cb922195b8f014e", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x1b603397fb9f7428bfda3a155a6653c974a1e96a66b5e2fbbb179c1e87297ad7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x1b603397fb9f7428bfda3a155a6653c974a1e96a66b5e2fbbb179c1e87297ad7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0xaca6" + } } } - ], - "Homestead" : [ - { - "hash" : "0x1b603397fb9f7428bfda3a155a6653c974a1e96a66b5e2fbbb179c1e87297ad7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x1b603397fb9f7428bfda3a155a6653c974a1e96a66b5e2fbbb179c1e87297ad7", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x261eeca84466f4c560675a7a2c0eb311ff09056a691ba4608cb922195b8f014e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x06482e19c72ad90aa4b3c4728610308a1aa638bbba44b9ccbe2827c172a2d587", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "a000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x0143b5" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000161eaf6f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90fa505b61c3506080511015603a576001608051016080526022565b", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34f4506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073200000000000000000000000000000000000000161eaf6f46000555a600155", - "nonce" : "0x00", + "2000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x2000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000732000000000000000000000000000000000000002619c90fa", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (STATICCALL 40080 0x2000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6040600060406000732000000000000000000000000000000000000003614e34f4506001600352", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (DELEGATECALL 20020 0x2000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600355", - "nonce" : "0x00", + "2000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (SSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600060006000600060006000355af26000555a600155", - "nonce" : "0x00", + "a000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -183,14 +129,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000000" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0xa000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "a000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore.json index 7eb14d00b..2c9008b79 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore.json @@ -2,102 +2,70 @@ "static_callcodecallcallcode_101_OOGMBefore" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMBeforeFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x95042ead2bb4807c26938c07b66bf80895ea394363ed384695c5d00996f887d4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x015d67" + } } } - ], - "EIP158" : [ - { - "hash" : "0x95042ead2bb4807c26938c07b66bf80895ea394363ed384695c5d00996f887d4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x95042ead2bb4807c26938c07b66bf80895ea394363ed384695c5d00996f887d4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x95042ead2bb4807c26938c07b66bf80895ea394363ed384695c5d00996f887d4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x48416aa45b428931da1d538ac1e47a0560413c632ba68d6d249a9291e27967a0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c90fa506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b6040600060406000731000000000000000000000000000000000000003614e34f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore2.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore2.json index 0d8520bea..1a6463efe 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_OOGMBefore2.json @@ -2,142 +2,70 @@ "static_callcodecallcallcode_101_OOGMBefore2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMBefore2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x8c9985682350161981e444821666c854a924858f38e62878ad64e0a00efa2290", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c9985682350161981e444821666c854a924858f38e62878ad64e0a00efa2290", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "EIP158" : [ - { - "hash" : "0x8c9985682350161981e444821666c854a924858f38e62878ad64e0a00efa2290", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c9985682350161981e444821666c854a924858f38e62878ad64e0a00efa2290", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Frontier" : [ - { - "hash" : "0x8c9985682350161981e444821666c854a924858f38e62878ad64e0a00efa2290", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c9985682350161981e444821666c854a924858f38e62878ad64e0a00efa2290", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Homestead" : [ - { - "hash" : "0x8c9985682350161981e444821666c854a924858f38e62878ad64e0a00efa2290", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8c9985682350161981e444821666c854a924858f38e62878ad64e0a00efa2290", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x6d50f16107b07efde4cc7da66add1168736be103bab5d91d22ab7fbbc8a23646", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : 0 }, - { - "hash" : "0x4f55dca016059f6cb98bfb8f68bc1c43aec19f266725a809c5dbda3a24ee0949", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x015d65" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002619c90fa506001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b60406000604060006000731000000000000000000000000000000000000003614e34f2", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -147,15 +75,15 @@ "" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x01" + "0", + "1" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd.json index b24721191..bec1cc60a 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd.json @@ -2,102 +2,70 @@ "static_callcodecallcallcode_101_SuicideEnd" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x1f3e41433c93878e16396aed9bf49706ecd2517de0a4650fd5811bd323b21861", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a37" + } } } - ], - "EIP158" : [ - { - "hash" : "0x1f3e41433c93878e16396aed9bf49706ecd2517de0a4650fd5811bd323b21861", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x24f4499f3c132840de3796088b172d40b1ff6fd5d76a2e2d06af52e18132766e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x3ea409895f85c5a40dc1a48c700882be1b521e6d11a6e6638f8e37b573bbb1a0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x96b7eafd6e23d0438dc7dce93fe01fc368afc3d503fce3b7a8b9b806578b75a5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x604060006040600073100000000000000000000000000000000000000361c350f450731000000000000000000000000000000000000001ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd2.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd2.json index cb77e1c03..5a304e176 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideEnd2.json @@ -2,142 +2,70 @@ "static_callcodecallcallcode_101_SuicideEnd2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideEnd2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xd8da48810faa7e7d578b700ee43419edaf2f54e10dde4fb39151da88d9b66890", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe89d6b1f2a3a5293b098abbd4b7a9ab3f0b8f78d7c53765c3c99389480b20383", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "EIP158" : [ - { - "hash" : "0xd8da48810faa7e7d578b700ee43419edaf2f54e10dde4fb39151da88d9b66890", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe89d6b1f2a3a5293b098abbd4b7a9ab3f0b8f78d7c53765c3c99389480b20383", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Frontier" : [ - { - "hash" : "0xb0b3302aa34901ebfc88b87b5ded70d577f2f73d00056b02a3bfd1066766d219", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x020cc9001c5f925cae84ebf8b307680cc8bf329be17ee0689c8ad0a0d07905e8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Homestead" : [ - { - "hash" : "0xb0b3302aa34901ebfc88b87b5ded70d577f2f73d00056b02a3bfd1066766d219", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x020cc9001c5f925cae84ebf8b307680cc8bf329be17ee0689c8ad0a0d07905e8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x56dd84c7fe252b3b8787b9a3650ad49120a57b3bea5b269b6139882b838524ce", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : 0 }, - { - "hash" : "0x1598afc5253209f51e9f003b9b74ed56536c3370bf5ab01755fa952058cb6151", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a35" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000600073100000000000000000000000000000000000000361c350f250731000000000000000000000000000000000000001ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -147,15 +75,15 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x01" + "0", + "1" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle.json index 141900b3d..36ee28059 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle.json @@ -2,102 +2,70 @@ "static_callcodecallcallcode_101_SuicideMiddle" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideMiddleFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x40165974086de2646f2d11027dd5f3bbcb914f71af136316fc9a71611679a8b2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a37" + } } } - ], - "EIP158" : [ - { - "hash" : "0x40165974086de2646f2d11027dd5f3bbcb914f71af136316fc9a71611679a8b2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x927477316bf74d67e7ef3c7ec3052c4859b577244dc38fe99cbf806f7e6e4cb7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xe576612682d495ae873a36b85ead4b5f06a429b634444af1b62176d9c5064c70", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x353b93f5c6b28c35a58a4eeb67bc8b070cabf3c6cfc975b298151f5c66968d69", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x731000000000000000000000000000000000000000ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle2.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle2.json index 2f92a3fc5..6fe1fcd0b 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle2.json @@ -2,142 +2,70 @@ "static_callcodecallcallcode_101_SuicideMiddle2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x791de48cd2ec0c9703c05817eb2ed1d8f9d7de135062f7bd3ded6e9e904cd86c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x52b20597eea82f8043337db4a0bda10dd4e0ef0a684d2298c945e1c0b531dd58", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "EIP158" : [ - { - "hash" : "0x791de48cd2ec0c9703c05817eb2ed1d8f9d7de135062f7bd3ded6e9e904cd86c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x52b20597eea82f8043337db4a0bda10dd4e0ef0a684d2298c945e1c0b531dd58", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Frontier" : [ - { - "hash" : "0x2dfb011f92244dcf8d5485848017db96b9ad4eb27cc894bf5651f0e9a5febaed", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x746a90839c5cfeb7d514cbf0cd94bd8251519879371fc54e43c7fd9bdb8133dd", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Homestead" : [ - { - "hash" : "0x2dfb011f92244dcf8d5485848017db96b9ad4eb27cc894bf5651f0e9a5febaed", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x746a90839c5cfeb7d514cbf0cd94bd8251519879371fc54e43c7fd9bdb8133dd", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x058af314a5cbd9729cb9e359d041140e5555209031d1b5315a0f225f513fc304", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : 0 }, - { - "hash" : "0xf28c68e490548f346fbf5d83d7aa5643fdea3f93735a4cbb879253bb7667c0b2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a35" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x60016003526040600060406000731000000000000000000000000000000000000002620186a0fa506001602052", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x731000000000000000000000000000000000000000ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -147,15 +75,15 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x01" + "0", + "1" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE.json index 7e5672f53..e6d6c03bd 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE.json @@ -2,95 +2,63 @@ "static_callcodecallcallcode_ABCB_RECURSIVE" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVEFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0xb2d05e00", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "3000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x2f82a1984d76b3650e5432e6ec29336da1aa99cb24add11da410a7ec02f2686c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01c75d11" + } } } - ], - "EIP158" : [ - { - "hash" : "0x2f82a1984d76b3650e5432e6ec29336da1aa99cb24add11da410a7ec02f2686c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x66cdd0513e16a6a8f85fba06e9e08a1858057bc30a110d01543241d76d4bc926", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x377f9e9f46fd2bbefb66d74eec6e7fc6404a4a8c0cf225db021d792a0a90fdc4", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x8d1d06ff3be327386643583d001fcd59d28d565a23fa5af188c12811c860c3a0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000163017d7840f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620f4240fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x60406000604060007310000000000000000000000000000000000000016207a120f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (DELEGATECALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -100,14 +68,14 @@ "" ], "gasLimit" : [ - "0x01c9c380" + "30000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE2.json b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE2.json index 3aaf5c40f..c58cfdfe9 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE2.json @@ -2,229 +2,95 @@ "static_callcodecallcallcode_ABCB_RECURSIVE2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0xb2d05e00", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "3000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x91122178083d2d74f21f5afe97027a9c7b9b0f47502c6dff880fea64e0b6b404", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xcc438424f1f3d4ae7bee4bd07c6323337e166b56362185be054c3886c388e212", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x91122178083d2d74f21f5afe97027a9c7b9b0f47502c6dff880fea64e0b6b404", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xcc438424f1f3d4ae7bee4bd07c6323337e166b56362185be054c3886c388e212", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - } - ], - "EIP158" : [ - { - "hash" : "0x91122178083d2d74f21f5afe97027a9c7b9b0f47502c6dff880fea64e0b6b404", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xcc438424f1f3d4ae7bee4bd07c6323337e166b56362185be054c3886c388e212", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x91122178083d2d74f21f5afe97027a9c7b9b0f47502c6dff880fea64e0b6b404", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xcc438424f1f3d4ae7bee4bd07c6323337e166b56362185be054c3886c388e212", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - } - ], - "Frontier" : [ - { - "hash" : "0xfe5b3e9c38034a4af6c171b5706ec085a7bb2180525c7df7dd0f81de1cea8dac", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x04066f0116348d5efec1692daa1a62da33c7cd99ad1e50b6bcdb1c371f3ada6d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : 0 }, - { - "hash" : "0xfe5b3e9c38034a4af6c171b5706ec085a7bb2180525c7df7dd0f81de1cea8dac", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x04066f0116348d5efec1692daa1a62da33c7cd99ad1e50b6bcdb1c371f3ada6d", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 - } - } - ], - "Homestead" : [ - { - "hash" : "0xfe5b3e9c38034a4af6c171b5706ec085a7bb2180525c7df7dd0f81de1cea8dac", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x04066f0116348d5efec1692daa1a62da33c7cd99ad1e50b6bcdb1c371f3ada6d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xfe5b3e9c38034a4af6c171b5706ec085a7bb2180525c7df7dd0f81de1cea8dac", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x04066f0116348d5efec1692daa1a62da33c7cd99ad1e50b6bcdb1c371f3ada6d", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01c75b73" + } } } - ], - "Metropolis" : [ - { - "hash" : "0x97c32532084faae6bb76c15f0bef40a5427af42cd4dcf041335697bc99fd3162", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe29c0ded5a4f56f300fe8ac556dcf48f3080c1cb6002a2d616837d0c953087e6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xeb2b2adf68aa9db10cf73597f8690ee420d6bb8516ad4ba2281008ea42ca81c4", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : 0 }, - { - "hash" : "0x7bd9f9b8d5b66f4c1deccb61c5e090624c5627c08066c8df7caaf99d20df0bd4", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01c4b93f" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060003460003563017d7840f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 25000000 (CALLDATALOAD 0) (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620f4240fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x604060006040600060007310000000000000000000000000000000000000016207a120f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (CALLCODE 500000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000732000000000000000000000000000000000000002620f4240fa", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (STATICCALL 1000000 0x2000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x604060006040600060017320000000000000000000000000000000000000016207a120f2", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (CALLCODE 500000 0x2000000000000000000000000000000000000001 1 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -235,15 +101,15 @@ "0x0000000000000000000000002000000000000000000000000000000000000001" ], "gasLimit" : [ - "0x01c9c380" + "30000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x01" + "0", + "1" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110.json index 08f0ac16e..6ab70f56d 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110.json @@ -2,102 +2,70 @@ "static_callcodecallcodecall_110" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xbe9827be92006c9abefd9aeb4945c56798be47969dcac10df6a881b4ff22f485", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d1de0" + } } } - ], - "EIP158" : [ - { - "hash" : "0xbe9827be92006c9abefd9aeb4945c56798be47969dcac10df6a881b4ff22f485", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x0fff5fd8d1e1efc51e4c524c79334e61c5d692b0dacb94eb75c2e0723efb1863", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xf3559fc5e140ee630b883db45ed11550c7eaee49f4bcabd842e54c1be7bb0c65", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xe24f6ebcdc5d1fe4a712163d38df6fdb61289c3ca1dbb3522fb405e5f1ae2f2f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000162055730f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60016001526040600060406000731000000000000000000000000000000000000002620493e0f4506001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 1 1) (DELEGATECALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600160015260406000604060007310000000000000000000000000000000000000036203d090fa506001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 1 1) (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 1 1)}", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_1102.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_1102.json index d56420dbe..79c06352b 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_1102.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_1102.json @@ -2,182 +2,70 @@ "static_callcodecallcodecall_1102" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_1102Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x1142886feff0a10bbf20a1a0e75440aa81b556c33c90b6a945f9f5de54a8745f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4a192a81ce68ab3d019acc917ee6b0f220e9f77b641ec4e735d005af8ab2a508", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xdfc2816ab964229c0194cf8f87d9acdf4893a936193ac29ede1bd3ce6860d048", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 - } - } - ], - "EIP158" : [ - { - "hash" : "0x1142886feff0a10bbf20a1a0e75440aa81b556c33c90b6a945f9f5de54a8745f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4a192a81ce68ab3d019acc917ee6b0f220e9f77b641ec4e735d005af8ab2a508", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xdfc2816ab964229c0194cf8f87d9acdf4893a936193ac29ede1bd3ce6860d048", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 - } - } - ], - "Frontier" : [ - { - "hash" : "0x3764ca53935fa38ab699289d72cd07e3f10406d7730fb3bc84ee59c15b914008", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8a2169207191f6f72252ccdd3aba931972dcc7540cb40a934d5ff1a56f522735", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : 0 }, - { - "hash" : "0x3ecfc2d68ba05e861733c2faf0641c71cb96919bbf276d63b6eb795b343b2ec8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d06b5" + } } } - ], - "Homestead" : [ - { - "hash" : "0x3764ca53935fa38ab699289d72cd07e3f10406d7730fb3bc84ee59c15b914008", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x8a2169207191f6f72252ccdd3aba931972dcc7540cb40a934d5ff1a56f522735", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x3ecfc2d68ba05e861733c2faf0641c71cb96919bbf276d63b6eb795b343b2ec8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x1142886feff0a10bbf20a1a0e75440aa81b556c33c90b6a945f9f5de54a8745f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x35918d46d5e94fb0a0c62354b52b3a1b2857f1521379e536af21a26bcdfa85b2", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x2339b7f274e79860b605d7f26675b85e8ed75f94d3d4d46a898e8677683aed0d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060003473100000000000000000000000000000000000000162055730f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600060013403731000000000000000000000000000000000000002620493e0f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (CALLCODE 300000 0x1000000000000000000000000000000000000002 (- (CALLVALUE) 1) 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060007310000000000000000000000000000000000000036203d090fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "1000000000000000000", + "code" : "{ (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -187,16 +75,16 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x01", - "0x02" + "0", + "1", + "2" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_2.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_2.json index 322ce9b7a..639391a3f 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_2.json @@ -2,182 +2,106 @@ "static_callcodecallcodecall_110_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x5326815cdcdef4b1abdd14c29d16ae4aeeec663d59887c801d5b4fa36bcf3675", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xfb0b902ebb76fa391208632f43303d92ca5188c75085e02fa84b0d0518eb2e9a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x909ff59a3fd650f3926cfba8fefc52ac1b5983dcc1436df30b3c1827e34de6d8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 - } - } - ], - "EIP158" : [ - { - "hash" : "0x5326815cdcdef4b1abdd14c29d16ae4aeeec663d59887c801d5b4fa36bcf3675", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xfb0b902ebb76fa391208632f43303d92ca5188c75085e02fa84b0d0518eb2e9a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x909ff59a3fd650f3926cfba8fefc52ac1b5983dcc1436df30b3c1827e34de6d8", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 - } - } - ], - "Frontier" : [ - { - "hash" : "0x5403204b06ff0eca5ccf43d109b61df4939c0593521b3352d76b30b77c0b174f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : 0 }, - { - "hash" : "0x7fb514979212ee78728186db19e54a0f369282d3d4e93ab33e2e9c548e2976c1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x4bc9fd46a70450fb1ecd0fe518a3cd7489f2ebdcd9f29501502f4fee9c133a76", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d06a1" + } } } - ], - "Homestead" : [ - { - "hash" : "0x5403204b06ff0eca5ccf43d109b61df4939c0593521b3352d76b30b77c0b174f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x7fb514979212ee78728186db19e54a0f369282d3d4e93ab33e2e9c548e2976c1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } + }, + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : 1 }, - { - "hash" : "0x4bc9fd46a70450fb1ecd0fe518a3cd7489f2ebdcd9f29501502f4fee9c133a76", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d03aa" + } } } - ], - "Metropolis" : [ - { - "hash" : "0x5326815cdcdef4b1abdd14c29d16ae4aeeec663d59887c801d5b4fa36bcf3675", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5dddfe506c6816272c589f08222ece4bfe063c3a04d87cfdda828423387f726b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } + }, + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : 2 }, - { - "hash" : "0xa89a6d73a704a70aaa7d761ad976c768ce25243be0d4f5285d02585e55d49f09", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2ce97e" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060003473100000000000000000000000000000000000000162055730f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6001600152604060006040600060013403731000000000000000000000000000000000000002620493e0f2506001601f52", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 1 1) (CALLCODE 300000 0x1000000000000000000000000000000000000002 ( - (CALLVALUE) 1) 0 64 0 64 ) (MSTORE 31 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600160015260406000604060007310000000000000000000000000000000000000036203d090fa506001601f52", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 1 1) (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 31 1) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -187,16 +111,16 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x01", - "0x02" + "0", + "1", + "2" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGE.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGE.json index 56f85f206..f8413ff74 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGE.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGE.json @@ -2,102 +2,70 @@ "static_callcodecallcodecall_110_OOGE" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGEFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xe9545deb7f1262086d64fd26d11db31cece5836773a41b9944f2a981dc41c11e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01a903" + } } } - ], - "EIP158" : [ - { - "hash" : "0xe9545deb7f1262086d64fd26d11db31cece5836773a41b9944f2a981dc41c11e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x7ed82c0b75dd683568af708a34f5c9b5faf0f7da38054c664274d0ee148f6834", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xbf7671c9d56403dafeb06c0c9c55776aa15886c70651507de178bb129cc6dfca", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x83aac1b7e18289e3edac8c1129b7b6bff819c9c63ce719065234cc9fab3266af", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGE2.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGE2.json index ba328de26..f329eca67 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGE2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGE2.json @@ -2,182 +2,70 @@ "static_callcodecallcodecall_110_OOGE2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGE2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x129fcac62a3a14da788cc95bd6b31881b7c007f1f3359fe74d3375f0264f972c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xc8d05b7ec4093023acd5f9e41463ac7b209920771f7f1c7b2e769d724a8fd3e9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xad3d81a2af7b438496a8c3e4190785d87d4706dd924b4327b8c705a5b85da0c9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 - } - } - ], - "EIP158" : [ - { - "hash" : "0x129fcac62a3a14da788cc95bd6b31881b7c007f1f3359fe74d3375f0264f972c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xc8d05b7ec4093023acd5f9e41463ac7b209920771f7f1c7b2e769d724a8fd3e9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xad3d81a2af7b438496a8c3e4190785d87d4706dd924b4327b8c705a5b85da0c9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 - } - } - ], - "Frontier" : [ - { - "hash" : "0x01461c4f7c2f4a874d84b115d3aafd2a1384658669d0fee67e5dc7b316bdd265", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xad3d81a2af7b438496a8c3e4190785d87d4706dd924b4327b8c705a5b85da0c9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : 0 }, - { - "hash" : "0xad3d81a2af7b438496a8c3e4190785d87d4706dd924b4327b8c705a5b85da0c9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01dfd5" + } } } - ], - "Homestead" : [ - { - "hash" : "0x01461c4f7c2f4a874d84b115d3aafd2a1384658669d0fee67e5dc7b316bdd265", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xad3d81a2af7b438496a8c3e4190785d87d4706dd924b4327b8c705a5b85da0c9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xad3d81a2af7b438496a8c3e4190785d87d4706dd924b4327b8c705a5b85da0c9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x129fcac62a3a14da788cc95bd6b31881b7c007f1f3359fe74d3375f0264f972c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x82c953ddb30c1f2509e95e09c9d36ef9dbf8e51cdf4184ce57a8e3b33420c256", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x827351548d0f6b0fb079968c256a7f02dd6bd10a29f89f6a3834dcddcb968cbf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x604060006040600060013403731000000000000000000000000000000000000002620186a0f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (CALLCODE 100000 0x1000000000000000000000000000000000000002 (- (CALLVALUE) 1) 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -187,16 +75,16 @@ "" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x01", - "0x02" + "0", + "1", + "2" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter.json index f194404d7..846dae20e 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter.json @@ -2,102 +2,70 @@ "static_callcodecallcodecall_110_OOGMAfter" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfterFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x7fabecc5d5316e1cf649ff86c051855a1ad1912cf86eaa69d63df1eb286fd05e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014c81" + } } } - ], - "EIP158" : [ - { - "hash" : "0x7fabecc5d5316e1cf649ff86c051855a1ad1912cf86eaa69d63df1eb286fd05e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xfc0d01a29029ad68f6fd82940192224a99824507ec7015a316c793631088e315", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x50969bc8949f698299526bb1063fa10d84c4d70bddeff39c9641ec0c441c8c39", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x7fabecc5d5316e1cf649ff86c051855a1ad1912cf86eaa69d63df1eb286fd05e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000161eaf6f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90f4505b61c3506080511015603a576001608051016080526022565b", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter2.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter2.json index 52fbf8e60..29dc288e5 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter2.json @@ -2,182 +2,91 @@ "static_callcodecallcodecall_110_OOGMAfter2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfter2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xb148e0cdaa90341f1cbaf0a2459b7c28ae65349a5ad46369317a2a2c45b5ca6f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xbd561c70c58b9ad7c537e35048d55b5929024a177a9c394ccd0a1202d615d0f9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x428b51700c05d01812a0b0b49d002ca402fd3c5eceef51e65f24c06a27f69ebc", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 - } - } - ], - "EIP158" : [ - { - "hash" : "0xb148e0cdaa90341f1cbaf0a2459b7c28ae65349a5ad46369317a2a2c45b5ca6f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xbd561c70c58b9ad7c537e35048d55b5929024a177a9c394ccd0a1202d615d0f9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x428b51700c05d01812a0b0b49d002ca402fd3c5eceef51e65f24c06a27f69ebc", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 - } - } - ], - "Frontier" : [ - { - "hash" : "0x8704738bfa5277536fef6409a73fe329ff03a9150ce6f51257b936c8f677ce64", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xc97bc6e6f008d7c922338d28cc68b75ed0ec3528d5c7892750d22c469b4447ba", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x390487b8e191b002bd0077018dad6ef7c0dd8db478f1f8481880094385b7aa77", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 - } - } - ], - "Homestead" : [ - { - "hash" : "0x8704738bfa5277536fef6409a73fe329ff03a9150ce6f51257b936c8f677ce64", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xc97bc6e6f008d7c922338d28cc68b75ed0ec3528d5c7892750d22c469b4447ba", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : 0 }, - { - "hash" : "0x390487b8e191b002bd0077018dad6ef7c0dd8db478f1f8481880094385b7aa77", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014c7f" + } } } - ], - "Metropolis" : [ - { - "hash" : "0xb148e0cdaa90341f1cbaf0a2459b7c28ae65349a5ad46369317a2a2c45b5ca6f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xbd561c70c58b9ad7c537e35048d55b5929024a177a9c394ccd0a1202d615d0f9", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } + }, + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : [ + 1, + 2 + ] }, - { - "hash" : "0x428b51700c05d01812a0b0b49d002ca402fd3c5eceef51e65f24c06a27f69ebc", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x012957" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060003473100000000000000000000000000000000000000161eaf6f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 60150 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x604060006040600060013403731000000000000000000000000000000000000002619c90f2505b61c3506080511015603e576001608051016080526026565b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -187,16 +96,16 @@ "" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x01", - "0x02" + "0", + "1", + "2" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_2.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_2.json index ca92e6460..c4d7f988f 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_2.json @@ -2,102 +2,70 @@ "static_callcodecallcodecall_110_OOGMAfter_2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x7fabecc5d5316e1cf649ff86c051855a1ad1912cf86eaa69d63df1eb286fd05e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014c81" + } } } - ], - "EIP158" : [ - { - "hash" : "0x7fabecc5d5316e1cf649ff86c051855a1ad1912cf86eaa69d63df1eb286fd05e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xfc0d01a29029ad68f6fd82940192224a99824507ec7015a316c793631088e315", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x50969bc8949f698299526bb1063fa10d84c4d70bddeff39c9641ec0c441c8c39", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x7fabecc5d5316e1cf649ff86c051855a1ad1912cf86eaa69d63df1eb286fd05e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000161eaf6f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90f4505b61c3506080511015603a576001608051016080526022565b", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_3.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_3.json index 3c0b1fa47..24b877b00 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_3.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_3.json @@ -2,102 +2,70 @@ "static_callcodecallcodecall_110_OOGMAfter_3" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_3Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xb148e0cdaa90341f1cbaf0a2459b7c28ae65349a5ad46369317a2a2c45b5ca6f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x014c7f" + } } } - ], - "EIP158" : [ - { - "hash" : "0xb148e0cdaa90341f1cbaf0a2459b7c28ae65349a5ad46369317a2a2c45b5ca6f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x8704738bfa5277536fef6409a73fe329ff03a9150ce6f51257b936c8f677ce64", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x8704738bfa5277536fef6409a73fe329ff03a9150ce6f51257b936c8f677ce64", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xb148e0cdaa90341f1cbaf0a2459b7c28ae65349a5ad46369317a2a2c45b5ca6f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060003473100000000000000000000000000000000000000161eaf6f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 60150 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x604060006040600060013403731000000000000000000000000000000000000002619c90f2505b61c3506080511015603e576001608051016080526026565b", - "nonce" : "0x00", + "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", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000003614e34fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore.json index 58c85068e..398473b68 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore.json @@ -2,102 +2,70 @@ "static_callcodecallcodecall_110_OOGMBefore" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMBeforeFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x236cb2785fc1e2ca2ac212e6639d01dc88f0e04621ab7e0c55144cf262a9020a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x015d7b" + } } } - ], - "EIP158" : [ - { - "hash" : "0x236cb2785fc1e2ca2ac212e6639d01dc88f0e04621ab7e0c55144cf262a9020a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x165ebc9c4f104ef9db18f746c919f08e20b66437ad2a04049f40604682f7d6e5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xfa8ff8ac6b336b6c490fcbddde611fbd498a1f72c83b722466cd0dbb95be22ae", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x236cb2785fc1e2ca2ac212e6639d01dc88f0e04621ab7e0c55144cf262a9020a", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000731000000000000000000000000000000000000002619c90f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b6040600060406000731000000000000000000000000000000000000003614e34fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore2.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore2.json index f04723872..47820fe3c 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_OOGMBefore2.json @@ -2,182 +2,70 @@ "static_callcodecallcodecall_110_OOGMBefore2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMBefore2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xf096c437267232e4430179bd6c642b5bfdefb7d2312c8e65b268fd979d9dda8f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x54f54369e90569e42728a290261a0eec630a37f30482abc67c2bc917421370a6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xec2bf3574f78ae9aaa87138de1515405be6516594104a7963b658feb67c21829", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 - } - } - ], - "EIP158" : [ - { - "hash" : "0xf096c437267232e4430179bd6c642b5bfdefb7d2312c8e65b268fd979d9dda8f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x54f54369e90569e42728a290261a0eec630a37f30482abc67c2bc917421370a6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xec2bf3574f78ae9aaa87138de1515405be6516594104a7963b658feb67c21829", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 - } - } - ], - "Frontier" : [ - { - "hash" : "0xfad1a7cdf23050c48fe11a2df98bb355f7f8b320e2b3a60e5ede1fe22f8c8f35", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x0d930889a5fd0bafd5f22d1b956bc78c5704f28efd4d2d24202ceb3bb7f1767c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : 0 }, - { - "hash" : "0x0d930889a5fd0bafd5f22d1b956bc78c5704f28efd4d2d24202ceb3bb7f1767c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01dfd5" + } } } - ], - "Homestead" : [ - { - "hash" : "0xfad1a7cdf23050c48fe11a2df98bb355f7f8b320e2b3a60e5ede1fe22f8c8f35", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x0d930889a5fd0bafd5f22d1b956bc78c5704f28efd4d2d24202ceb3bb7f1767c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0x0d930889a5fd0bafd5f22d1b956bc78c5704f28efd4d2d24202ceb3bb7f1767c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xf096c437267232e4430179bd6c642b5bfdefb7d2312c8e65b268fd979d9dda8f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x54f54369e90569e42728a290261a0eec630a37f30482abc67c2bc917421370a6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - }, - { - "hash" : "0xec2bf3574f78ae9aaa87138de1515405be6516594104a7963b658feb67c21829", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 2 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x604060006040600060013403731000000000000000000000000000000000000002619c90f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 (- (CALLVALUE) 1) 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b6040600060406000731000000000000000000000000000000000000003614e34fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x00", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "0", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -187,16 +75,16 @@ "" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x01", - "0x02" + "0", + "1", + "2" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd.json index 91cedf8c7..d0956c726 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd.json @@ -2,142 +2,67 @@ "static_callcodecallcodecall_110_SuicideEnd" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x8753ab1ba6682457423f097f6a06d57e6b656cff7fa2fd707f1d2f7ddb16a6ea", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x0b8702a3626c65ab31cda7293ca9586eda81e19bf57b60728db4cbd2229f5039", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "EIP158" : [ - { - "hash" : "0x8753ab1ba6682457423f097f6a06d57e6b656cff7fa2fd707f1d2f7ddb16a6ea", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x0b8702a3626c65ab31cda7293ca9586eda81e19bf57b60728db4cbd2229f5039", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Frontier" : [ - { - "hash" : "0xa6b1577620599d4c3ffe56b00a67d202eed6efad96e1107911bdc4fbb1cd0cad", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa6b1577620599d4c3ffe56b00a67d202eed6efad96e1107911bdc4fbb1cd0cad", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Homestead" : [ - { - "hash" : "0x98d510c1603535d98072449aa12d5f17a3c8d5ef4fbb873ba710d45e109a3cec", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x4ca16674f4ef77fb5d830f10c048b87acfc71e54e47725415fb26a0389b207ce", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x92fb71043d9b7b509bf1bdcebdde3dca273c85b054a6d7f5a402ab7adaa1673b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x2f26ffcc4fec7b849abad3ece36535ae6519073bd3a3d1b4b5447d85ef62117c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "shouldnotexist" : "1" } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x604060006040600073100000000000000000000000000000000000000361c350fa50731000000000000000000000000000000000000001ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -147,15 +72,15 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x01" + "0", + "1" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd2.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd2.json index 7df092f58..58ba34346 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideEnd2.json @@ -2,142 +2,67 @@ "static_callcodecallcodecall_110_SuicideEnd2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_SuicideEnd2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x3c05529efb0bdb7c995e3fb99f04cbb3f5a7a87de69d4c1e00ebb8785f34f86d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa6c22628095e9e013c2b4290692b6550674e0704cdb4174e817e4e775f224c36", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "EIP158" : [ - { - "hash" : "0x3c05529efb0bdb7c995e3fb99f04cbb3f5a7a87de69d4c1e00ebb8785f34f86d", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa6c22628095e9e013c2b4290692b6550674e0704cdb4174e817e4e775f224c36", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Frontier" : [ - { - "hash" : "0xa8f74c69852c591d7560057871ad5ed4c73cbadf6ffd2c1885ea63332587b5c1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x420987557b85268adb954329fc72ea11ad6333f5418959b6c5e953fa7c0fa44c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Homestead" : [ - { - "hash" : "0xa8f74c69852c591d7560057871ad5ed4c73cbadf6ffd2c1885ea63332587b5c1", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x420987557b85268adb954329fc72ea11ad6333f5418959b6c5e953fa7c0fa44c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x53650fed8f432df6260dcdc9e3ee394639b376047a2a2384600b39672ef7dd7c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xe21aaa19eea67e15d57f23f013f8c35592fd0d91d3ce32a4566fdeb78702e417", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "shouldnotexist" : "1" } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x604060006040600034731000000000000000000000000000000000000002620186a0f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (CALLCODE 100000 0x1000000000000000000000000000000000000002 (CALLVALUE) 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x604060006040600073100000000000000000000000000000000000000361c350fa50731000000000000000000000000000000000000001ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -147,15 +72,15 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x01" + "0", + "1" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle.json index 8ec8ca20a..aa57b1568 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle.json @@ -2,102 +2,67 @@ "static_callcodecallcodecall_110_SuicideMiddle" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_SuicideMiddleFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x5f11626bd64771397f4a4ff295eef648b1f16791dd7e0ced9bc03ddd54b923bf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "shouldnotexist" : "1" } } - ], - "EIP158" : [ - { - "hash" : "0x5f11626bd64771397f4a4ff295eef648b1f16791dd7e0ced9bc03ddd54b923bf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xd595ff43858d7d6188fd2c3045ed77aac935b1e51b6f0af8f82bb8fa3c241302", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x29bdca429b1f5189fb25aa3ce06f4b03739e7b75f0f28e11fb47a4efc11344ff", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x5f11626bd64771397f4a4ff295eef648b1f16791dd7e0ced9bc03ddd54b923bf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f4600055", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x731000000000000000000000000000000000000000ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +72,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle2.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle2.json index f6bbd048e..a5a5d2f28 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle2.json @@ -2,102 +2,67 @@ "static_callcodecallcodecall_110_SuicideMiddle2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x3b024973af9cf79994e68278f22020737c765df2b82c82a17607351a8d8eda84", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "shouldnotexist" : "1" } } - ], - "EIP158" : [ - { - "hash" : "0x3b024973af9cf79994e68278f22020737c765df2b82c82a17607351a8d8eda84", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x5a8f9b6bd95bad8bce0095201e86ddb7b8378aa01c2f3cd44b7a55bdfe49fb77", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x5a8f9b6bd95bad8bce0095201e86ddb7b8378aa01c2f3cd44b7a55bdfe49fb77", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x3b024973af9cf79994e68278f22020737c765df2b82c82a17607351a8d8eda84", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600034731000000000000000000000000000000000000001620249f0f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x604060006040600034731000000000000000000000000000000000000002620186a0f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (CALLCODE 100000 0x1000000000000000000000000000000000000002 (CALLVALUE) 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x731000000000000000000000000000000000000000ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +72,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE.json index b74493ecc..e7cf64885 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE.json @@ -2,95 +2,63 @@ "static_callcodecallcodecall_ABCB_RECURSIVE" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVEFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0xb2d05e00", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "3000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xe39a02833743de8be0d57a58dee6c1ba154a5320b28f2107b04781320f009ccf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01c75d11" + } } } - ], - "EIP158" : [ - { - "hash" : "0xe39a02833743de8be0d57a58dee6c1ba154a5320b28f2107b04781320f009ccf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x79f08808882d39dfe8447328aa841fed1aed440c1bdb51a7178c057b2f225f47", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xffce4590bbfee1c8c9ee5bc6e17109274b43b97f4db3827fed17fb9afeb274ac", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xff72c585ba2e5e701e521476e3000ee6a9f2ddd9487de82e1f85690678aeb0f6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000163017d7840f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620f4240f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (DELEGATECALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x60406000604060007310000000000000000000000000000000000000016207a120fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -100,14 +68,14 @@ "" ], "gasLimit" : [ - "0x01c9c380" + "30000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE2.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE2.json index e6a8eb814..36b3dfbb0 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE2.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE2.json @@ -2,135 +2,63 @@ "static_callcodecallcodecall_ABCB_RECURSIVE2" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE2Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0xb2d05e00", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "3000000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xcfee1a78aa9820d58f756be4320c90462b7bfca2606e65748dd88080c4148c53", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe96fec0d281152a5c729b002bd56bdbe239c17494d6f439503383f183456a34e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "EIP158" : [ - { - "hash" : "0xcfee1a78aa9820d58f756be4320c90462b7bfca2606e65748dd88080c4148c53", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xe96fec0d281152a5c729b002bd56bdbe239c17494d6f439503383f183456a34e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Frontier" : [ - { - "hash" : "0x0f04fac16895ff7d0aba69bc49106636873bad1039a890561021b1118020ea35", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x6a076e401e517a060eea5b60cc39a8f9eb4ea662e1364097724ab94a87ef773b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Homestead" : [ - { - "hash" : "0x0f04fac16895ff7d0aba69bc49106636873bad1039a890561021b1118020ea35", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x6a076e401e517a060eea5b60cc39a8f9eb4ea662e1364097724ab94a87ef773b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xed7893e4ecad7da987fbd3cafbe1ff441061ca6d0f10222d0a11e0b4633e3c4f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : 0 }, - { - "hash" : "0x04e4ed946e642ab0b121ac824016aba6e5f8ce8d0191c2501603d9ffd67d91e6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 1 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01c75c76" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60406000604060003473100000000000000000000000000000000000000163017d7840f26000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (CALLCODE 25000000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x60406000604060006000731000000000000000000000000000000000000002620f4240f2", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (CALLCODE 1000000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x60406000604060007310000000000000000000000000000000000000016207a120fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -140,15 +68,15 @@ "" ], "gasLimit" : [ - "0x01c9c380" + "30000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00", - "0x01" + "0", + "1" ] } } diff --git a/GeneralStateTests/stStaticCall/static_callcodecallcodecallcode_111_SuicideEnd.json b/GeneralStateTests/stStaticCall/static_callcodecallcodecallcode_111_SuicideEnd.json index 69ad485df..4e079b430 100644 --- a/GeneralStateTests/stStaticCall/static_callcodecallcodecallcode_111_SuicideEnd.json +++ b/GeneralStateTests/stStaticCall/static_callcodecallcodecallcode_111_SuicideEnd.json @@ -2,102 +2,70 @@ "static_callcodecallcodecallcode_111_SuicideEnd" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecallcode_111_SuicideEndFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xa1d32570da5c5427018ec60f665452d210d09691905e90f304df3e8cc91ab933", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2b9a4b" + } } } - ], - "EIP158" : [ - { - "hash" : "0xa1d32570da5c5427018ec60f665452d210d09691905e90f304df3e8cc91ab933", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xf4c111d7ac862af978bc1d0201dff333e523a15b6bbe4b32bf106949eb3c6fbc", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x220381636f7a5aa929bfba5a7c191a36cacafd2847fe90f77ec87f5dcabb4f76", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x7ae8909ec9755868dcb9e0faf1650668d5feb8ebc71c173f438c99e9d1fb1b1c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6040600060406000731000000000000000000000000000000000000001620249f0f46000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000731000000000000000000000000000000000000002620186a0fa", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "10000000000", + "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x02540be400", - "code" : "0x6040600060406000600073100000000000000000000000000000000000000361c350f250731000000000000000000000000000000000000001ff", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "10000000000", + "code" : "{ (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000003" : { - "balance" : "0x02540be400", - "code" : "0x6001600352", - "nonce" : "0x00", + "1000000000000000000000000000000000000003" : { + "balance" : "10000000000", + "code" : "{ (MSTORE 3 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -107,14 +75,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_calldelcode_01.json b/GeneralStateTests/stStaticCall/static_calldelcode_01.json index 411b9288a..1663e181d 100644 --- a/GeneralStateTests/stStaticCall/static_calldelcode_01.json +++ b/GeneralStateTests/stStaticCall/static_calldelcode_01.json @@ -2,95 +2,63 @@ "static_calldelcode_01" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_calldelcode_01Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x2dee2de86fb5e304e4b70a7805b3b411cbf28b98223b1085e42caba70731c1bf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x2d20dc" + } } } - ], - "EIP158" : [ - { - "hash" : "0x2dee2de86fb5e304e4b70a7805b3b411cbf28b98223b1085e42caba70731c1bf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x2dee2de86fb5e304e4b70a7805b3b411cbf28b98223b1085e42caba70731c1bf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x2dee2de86fb5e304e4b70a7805b3b411cbf28b98223b1085e42caba70731c1bf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x8b446ca3e923e1d0c7c388feb2697a12fc9c2cb3e8c3aafb93e6ad516b488243", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x604060006040600073100000000000000000000000000000000000000162055730fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x60406000604060007310000000000000000000000000000000000000026203d090f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (DELEGATECALL 250000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x6311223344600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (MSTORE 1 0x11223344) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -100,14 +68,14 @@ "" ], "gasLimit" : [ - "0x2dc6c0" + "3000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_calldelcode_01_OOGE.json b/GeneralStateTests/stStaticCall/static_calldelcode_01_OOGE.json index 642008dbf..e1df09f72 100644 --- a/GeneralStateTests/stStaticCall/static_calldelcode_01_OOGE.json +++ b/GeneralStateTests/stStaticCall/static_calldelcode_01_OOGE.json @@ -2,142 +2,70 @@ "static_calldelcode_01_OOGE" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_calldelcode_01_OOGEFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x01c9c380", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "30000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xd454969b336633f19e5df4375a25f66fb1239b2fceacb246eaa29e42cf8b9a05", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xd454969b336633f19e5df4375a25f66fb1239b2fceacb246eaa29e42cf8b9a05", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xd454969b336633f19e5df4375a25f66fb1239b2fceacb246eaa29e42cf8b9a05", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xd454969b336633f19e5df4375a25f66fb1239b2fceacb246eaa29e42cf8b9a05", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xd454969b336633f19e5df4375a25f66fb1239b2fceacb246eaa29e42cf8b9a05", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xd454969b336633f19e5df4375a25f66fb1239b2fceacb246eaa29e42cf8b9a05", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xd454969b336633f19e5df4375a25f66fb1239b2fceacb246eaa29e42cf8b9a05", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xd454969b336633f19e5df4375a25f66fb1239b2fceacb246eaa29e42cf8b9a05", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x174aa6e932e58328efdac867f6371693251d5999bf3463471dcd11ea9df92add", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x174aa6e932e58328efdac867f6371693251d5999bf3463471dcd11ea9df92add", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "1000000000000000000000000000000000000000" : { + "storage" : { + "0x00" : "0x01", + "0x01" : "0x01aac8" + } } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000356000526040600060406000731000000000000000000000000000000000000001620249f0fa6000555a600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6040600060406000600035614e34f4", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (DELEGATECALL 20020 (CALLDATALOAD 0) 0 64 0 64 ) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x60016002556001600252", - "nonce" : "0x00", + "1000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (SSTORE 2 1) (MSTORE 2 1)}", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000002" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "2000000000000000000000000000000000000002" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -148,14 +76,14 @@ "0x0000000000000000000000002000000000000000000000000000000000000002" ], "gasLimit" : [ - "0x029fe0" + "172000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x1000000000000000000000000000000000000000", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "1000000000000000000000000000000000000000", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_contractCreationMakeCallThatAskMoreGasThenTransactionProvided.json b/GeneralStateTests/stStaticCall/static_contractCreationMakeCallThatAskMoreGasThenTransactionProvided.json index c9409faf1..ed740d5f7 100644 --- a/GeneralStateTests/stStaticCall/static_contractCreationMakeCallThatAskMoreGasThenTransactionProvided.json +++ b/GeneralStateTests/stStaticCall/static_contractCreationMakeCallThatAskMoreGasThenTransactionProvided.json @@ -2,243 +2,133 @@ "static_contractCreationMakeCallThatAskMoreGasThenTransactionProvided" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_contractCreationMakeCallThatAskMoreGasThenTransactionProvidedFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 0, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { + "nonce" : "1" } } - ], - "EIP158" : [ - { - "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { + "nonce" : "1" } } - ], - "Homestead" : [ - { - "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 2, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x233c1da90828a53adde2c86d53859e611abfc3d7807828f528a42ecc849fdef6", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { + "nonce" : "1" } } - ], - "Metropolis" : [ - { - "hash" : "0x510b6a93c8820120b2a8e8bdf3ae473c41900cf4f722e6f6125d1c6674cd4413", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xdf8d9c168f81a12818f05f337061ae5b03a17c996d3b6b251f118c7cb8e18d3f", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x510b6a93c8820120b2a8e8bdf3ae473c41900cf4f722e6f6125d1c6674cd4413", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } + }, + { + "indexes" : { + "data" : 3, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xaa09c6f8acf05b087bf49197368fb2edd90377dc93b608bfde9f4407bca116d4", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { + "nonce" : "1" } } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x0186a0", - "code" : "0x6001600155", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "100000", + "code" : "{(SSTORE 1 1)}", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x0186a0", - "code" : "0x6001600152", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "100000", + "code" : "{(MSTORE 1 1)}", + "nonce" : "0", "storage" : { } }, - "0x3000000000000000000000000000000000000001" : { - "balance" : "0x0186a0", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "3000000000000000000000000000000000000001" : { + "balance" : "100000", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0x4000000000000000000000000000000000000001" : { - "balance" : "0x0186a0", - "code" : "0x600060006000600060007340000000000000000000000000000000000000046103e8f2", - "nonce" : "0x00", + "4000000000000000000000000000000000000001" : { + "balance" : "100000", + "code" : "{ (CALLCODE 1000 0x4000000000000000000000000000000000000004 0 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x4000000000000000000000000000000000000004" : { - "balance" : "0x0186a0", - "code" : "0x6001600152", - "nonce" : "0x00", + "4000000000000000000000000000000000000004" : { + "balance" : "100000", + "code" : "{ (MSTORE 1 1) }", + "nonce" : "0", "storage" : { } }, - "0x5000000000000000000000000000000000000001" : { - "balance" : "0x0186a0", - "code" : "0x60006000600060006000734000000000000000000000000000000000000004620f4240f2", - "nonce" : "0x00", + "5000000000000000000000000000000000000001" : { + "balance" : "100000", + "code" : "{ (CALLCODE 1000000 0x4000000000000000000000000000000000000004 0 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x10c8e0", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1100000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0186a0", - "code" : "0x604060006040600073100000000000000000000000000000000000000161c350fa", - "nonce" : "0x00", + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "100000", + "code" : "{(STATICCALL 50000 0x1000000000000000000000000000000000000001 0 64 0 64)}", + "nonce" : "0", "storage" : { } } @@ -251,14 +141,14 @@ "0x604060006040600073400000000000000000000000000000000000000161c350fa" ], "gasLimit" : [ - "0x017700" + "96000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", "to" : "", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_contractCreationOOGdontLeaveEmptyContractViaTransaction.json b/GeneralStateTests/stStaticCall/static_contractCreationOOGdontLeaveEmptyContractViaTransaction.json index b900862aa..7316ac30a 100644 --- a/GeneralStateTests/stStaticCall/static_contractCreationOOGdontLeaveEmptyContractViaTransaction.json +++ b/GeneralStateTests/stStaticCall/static_contractCreationOOGdontLeaveEmptyContractViaTransaction.json @@ -2,95 +2,60 @@ "static_contractCreationOOGdontLeaveEmptyContractViaTransaction" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_contractCreationOOGdontLeaveEmptyContractViaTransactionFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x020000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x7ff458b327f4b9dfa06ad60f4b0536abe049b3752ae9336e138c63853be7f0af", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { + "nonce" : "1" } } - ], - "EIP158" : [ - { - "hash" : "0x7ff458b327f4b9dfa06ad60f4b0536abe049b3752ae9336e138c63853be7f0af", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x7ff458b327f4b9dfa06ad60f4b0536abe049b3752ae9336e138c63853be7f0af", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x7ff458b327f4b9dfa06ad60f4b0536abe049b3752ae9336e138c63853be7f0af", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x540e7a4767620ecc87c8117b06a9a73584a643aa065df3ccf7838d579efe1028", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x1000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x6001600152", - "nonce" : "0x00", + "1000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{(MSTORE 1 1)}", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000001" : { - "balance" : "0x00", - "code" : "0x5b61c35060805110156018576001608051016080526000565b", - "nonce" : "0x00", + "2000000000000000000000000000000000000001" : { + "balance" : "0", + "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x10c8e0", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1100000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0186a0", - "code" : "0x604060006040600073100000000000000000000000000000000000000161c350fa", - "nonce" : "0x00", + "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "100000", + "code" : "{(STATICCALL 50000 0x1000000000000000000000000000000000000001 0 64 0 64)}", + "nonce" : "0", "storage" : { } } @@ -100,14 +65,14 @@ "0x604060006040600073200000000000000000000000000000000000000161c350fa" ], "gasLimit" : [ - "0x017700" + "96000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", "to" : "", "value" : [ - "0x00" + "0" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log0_emptyMem.json b/GeneralStateTests/stStaticCall/static_log0_emptyMem.json index a4d97a360..dbb0324e4 100644 --- a/GeneralStateTests/stStaticCall/static_log0_emptyMem.json +++ b/GeneralStateTests/stStaticCall/static_log0_emptyMem.json @@ -2,88 +2,56 @@ "static_log0_emptyMem" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log0_emptyMemFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x5d629228ea5b19550718a7bc4b882911d8c4363edc14767ca5b224ee7f5c0210", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x00" : "0x00", + "0x01" : "0x02c805" + } } } - ], - "EIP158" : [ - { - "hash" : "0x5d629228ea5b19550718a7bc4b882911d8c4363edc14767ca5b224ee7f5c0210", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x5d629228ea5b19550718a7bc4b882911d8c4363edc14767ca5b224ee7f5c0210", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x5d629228ea5b19550718a7bc4b882911d8c4363edc14767ca5b224ee7f5c0210", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x8282abb2c67086701b7d5ca88e7bd14a9cd65f7d45e3bf8ee24e4ce7d3799339", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa6000555a600155", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) [[ 1 ]] (GAS) }", + "nonce" : "0", "storage" : { } }, - "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60006000a0", - "nonce" : "0x00", + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "1000000000000000000", + "code" : "{ (LOG0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +61,14 @@ "" ], "gasLimit" : [ - "0x033450" + "210000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log0_logMemStartTooHigh.json b/GeneralStateTests/stStaticCall/static_log0_logMemStartTooHigh.json index f32cff3bd..a6ebb16f8 100644 --- a/GeneralStateTests/stStaticCall/static_log0_logMemStartTooHigh.json +++ b/GeneralStateTests/stStaticCall/static_log0_logMemStartTooHigh.json @@ -2,88 +2,54 @@ "static_log0_logMemStartTooHigh" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log0_logMemStartTooHighFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x7819f6c287abab73927203d6e8d84f632966842a6ca4ce74cd9d9bc9d351bc33", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + } } } - ], - "EIP158" : [ - { - "hash" : "0x7819f6c287abab73927203d6e8d84f632966842a6ca4ce74cd9d9bc9d351bc33", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x7819f6c287abab73927203d6e8d84f632966842a6ca4ce74cd9d9bc9d351bc33", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x7819f6c287abab73927203d6e8d84f632966842a6ca4ce74cd9d9bc9d351bc33", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x9886e0a6a357203e9e51df1ae0d7cecea462370acd721e0edded3d90ee11f104", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7faabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd60005260017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0", - "nonce" : "0x00", + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +59,14 @@ "" ], "gasLimit" : [ - "0x033450" + "210000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log0_logMemsizeTooHigh.json b/GeneralStateTests/stStaticCall/static_log0_logMemsizeTooHigh.json index 771aa6cbe..26f4c3bc5 100644 --- a/GeneralStateTests/stStaticCall/static_log0_logMemsizeTooHigh.json +++ b/GeneralStateTests/stStaticCall/static_log0_logMemsizeTooHigh.json @@ -2,88 +2,54 @@ "static_log0_logMemsizeTooHigh" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log0_logMemsizeTooHighFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x3f72c685696ae003f64cba694cdd8f62c1e99ebd6339932a5cf569bf075f8d17", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + } } } - ], - "EIP158" : [ - { - "hash" : "0x3f72c685696ae003f64cba694cdd8f62c1e99ebd6339932a5cf569bf075f8d17", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x3f72c685696ae003f64cba694cdd8f62c1e99ebd6339932a5cf569bf075f8d17", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x3f72c685696ae003f64cba694cdd8f62c1e99ebd6339932a5cf569bf075f8d17", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x76615dd94d7e2334c0445fd6d694282e05f577e280dc9edbae806b503636abbb", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7faabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd6000527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001a0", - "nonce" : "0x00", + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +59,14 @@ "" ], "gasLimit" : [ - "0x033450" + "210000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log0_logMemsizeZero.json b/GeneralStateTests/stStaticCall/static_log0_logMemsizeZero.json index 2a996501e..6bb4dbf23 100644 --- a/GeneralStateTests/stStaticCall/static_log0_logMemsizeZero.json +++ b/GeneralStateTests/stStaticCall/static_log0_logMemsizeZero.json @@ -2,88 +2,55 @@ "static_log0_logMemsizeZero" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log0_logMemsizeZeroFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xd208df8d66fc2311562c2736f1d4807e342037190c608a0c0b385d0efc6f0948", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0xd208df8d66fc2311562c2736f1d4807e342037190c608a0c0b385d0efc6f0948", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xd208df8d66fc2311562c2736f1d4807e342037190c608a0c0b385d0efc6f0948", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xd208df8d66fc2311562c2736f1d4807e342037190c608a0c0b385d0efc6f0948", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x6fdb1b9ade5f511d240223d5d451d84a36e6413cb90d7c65e452446d5f967bd7", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7faabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd60005260006001a0", - "nonce" : "0x00", + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 1 0) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +60,14 @@ "" ], "gasLimit" : [ - "0x033450" + "210000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem.json b/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem.json index 2c7910c97..c848cc727 100644 --- a/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem.json +++ b/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem.json @@ -2,88 +2,55 @@ "static_log0_nonEmptyMem" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log0_nonEmptyMemFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xda676d78fe5ec6b2b394d9b8ee35411fd84139a8e84f3f3f1daed064ecaeadd5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0xda676d78fe5ec6b2b394d9b8ee35411fd84139a8e84f3f3f1daed064ecaeadd5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xda676d78fe5ec6b2b394d9b8ee35411fd84139a8e84f3f3f1daed064ecaeadd5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xda676d78fe5ec6b2b394d9b8ee35411fd84139a8e84f3f3f1daed064ecaeadd5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x59be6ad9042c1537064e207cdbfcedea635b2814395c9450de1fe2fb1e184cb0", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005260206000a0", - "nonce" : "0x00", + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG0 0 32) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +60,14 @@ "" ], "gasLimit" : [ - "0x033450" + "210000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem_logMemSize1.json b/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem_logMemSize1.json index b31e940d5..ba87ba305 100644 --- a/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem_logMemSize1.json +++ b/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem_logMemSize1.json @@ -2,88 +2,55 @@ "static_log0_nonEmptyMem_logMemSize1" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log0_nonEmptyMem_logMemSize1Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xc883e3c934fe5b8389cd7a3ba3580cb0f17f752c16fcbe5395140c848e1624c6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0xc883e3c934fe5b8389cd7a3ba3580cb0f17f752c16fcbe5395140c848e1624c6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xc883e3c934fe5b8389cd7a3ba3580cb0f17f752c16fcbe5395140c848e1624c6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xc883e3c934fe5b8389cd7a3ba3580cb0f17f752c16fcbe5395140c848e1624c6", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x22d84ffe44d06344657153c606b1bd85b975f28e2c476d40684f8415cf88e173", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7faabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd60005260016000a0", - "nonce" : "0x00", + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 0 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +60,14 @@ "" ], "gasLimit" : [ - "0x033450" + "210000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x200b20" + "2100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem_logMemSize1_logMemStart31.json b/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem_logMemSize1_logMemStart31.json index 194bf7c3d..7d3458982 100644 --- a/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem_logMemSize1_logMemStart31.json +++ b/GeneralStateTests/stStaticCall/static_log0_nonEmptyMem_logMemSize1_logMemStart31.json @@ -2,88 +2,55 @@ "static_log0_nonEmptyMem_logMemSize1_logMemStart31" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log0_nonEmptyMem_logMemSize1_logMemStart31Filler.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x55fc3dce8bf8fa68a6b7a1db1c5891c486f28982a7b70717c1cccd1b6662d739", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0x55fc3dce8bf8fa68a6b7a1db1c5891c486f28982a7b70717c1cccd1b6662d739", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x55fc3dce8bf8fa68a6b7a1db1c5891c486f28982a7b70717c1cccd1b6662d739", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x55fc3dce8bf8fa68a6b7a1db1c5891c486f28982a7b70717c1cccd1b6662d739", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x12c1fe9729f3788864b51b540d3d655ffecc7ea15e8bffcbf026cf74422d9ec5", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7faabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd6000526001601fa0", - "nonce" : "0x00", + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG0 31 1) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +60,14 @@ "" ], "gasLimit" : [ - "0x033450" + "210000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log1_MaxTopic.json b/GeneralStateTests/stStaticCall/static_log1_MaxTopic.json index a66aa7cc5..aff82b973 100644 --- a/GeneralStateTests/stStaticCall/static_log1_MaxTopic.json +++ b/GeneralStateTests/stStaticCall/static_log1_MaxTopic.json @@ -2,88 +2,55 @@ "static_log1_MaxTopic" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log1_MaxTopicFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xd23d458d565e00b952c7c42db8a3661f59822ccdc3d344045ab66b8827ca1320", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0xd23d458d565e00b952c7c42db8a3661f59822ccdc3d344045ab66b8827ca1320", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xd23d458d565e00b952c7c42db8a3661f59822ccdc3d344045ab66b8827ca1320", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xd23d458d565e00b952c7c42db8a3661f59822ccdc3d344045ab66b8827ca1320", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x50f35b5b17cb5578a7e5d9da53b312a1db3a91d1e4bec7a3213bbbe9ad7ba518", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7faabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd6000527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60206000a1", - "nonce" : "0x00", + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 0 32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +60,14 @@ "" ], "gasLimit" : [ - "0x033450" + "210000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log1_emptyMem.json b/GeneralStateTests/stStaticCall/static_log1_emptyMem.json index 1b4bbcad0..8e27192d2 100644 --- a/GeneralStateTests/stStaticCall/static_log1_emptyMem.json +++ b/GeneralStateTests/stStaticCall/static_log1_emptyMem.json @@ -2,88 +2,55 @@ "static_log1_emptyMem" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log1_emptyMemFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xd34acaebeabc4312075ea0390d73bb03c22daaf9123c1d4c91a53572b6d10253", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0xd34acaebeabc4312075ea0390d73bb03c22daaf9123c1d4c91a53572b6d10253", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xd34acaebeabc4312075ea0390d73bb03c22daaf9123c1d4c91a53572b6d10253", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xd34acaebeabc4312075ea0390d73bb03c22daaf9123c1d4c91a53572b6d10253", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xef5f9c3620c5eab02f8c5ee6723b72c5340deeb08df0772488cfdd3eba0cb258", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600060006000a1", - "nonce" : "0x00", + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "1000000000000000000", + "code" : "{ (LOG1 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +60,14 @@ "" ], "gasLimit" : [ - "0x033450" + "210000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log1_logMemStartTooHigh.json b/GeneralStateTests/stStaticCall/static_log1_logMemStartTooHigh.json index 8c6b92ac1..0cc6d7d2c 100644 --- a/GeneralStateTests/stStaticCall/static_log1_logMemStartTooHigh.json +++ b/GeneralStateTests/stStaticCall/static_log1_logMemStartTooHigh.json @@ -2,88 +2,54 @@ "static_log1_logMemStartTooHigh" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log1_logMemStartTooHighFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xe15eed8655a44b31d12dabab0b5c9bbfc8fe0a27a8581d218587a6847843c092", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + } } } - ], - "EIP158" : [ - { - "hash" : "0xe15eed8655a44b31d12dabab0b5c9bbfc8fe0a27a8581d218587a6847843c092", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xe15eed8655a44b31d12dabab0b5c9bbfc8fe0a27a8581d218587a6847843c092", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xe15eed8655a44b31d12dabab0b5c9bbfc8fe0a27a8581d218587a6847843c092", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xfc709d8e1845b24a5f6e54a36bf6b879067f8954be5fa81b1abae3a57693225f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7faabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd600052600060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1", - "nonce" : "0x00", + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1 0) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +59,14 @@ "" ], "gasLimit" : [ - "0x033450" + "210000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log1_logMemsizeTooHigh.json b/GeneralStateTests/stStaticCall/static_log1_logMemsizeTooHigh.json index 3549118b5..14c3e041d 100644 --- a/GeneralStateTests/stStaticCall/static_log1_logMemsizeTooHigh.json +++ b/GeneralStateTests/stStaticCall/static_log1_logMemsizeTooHigh.json @@ -2,88 +2,54 @@ "static_log1_logMemsizeTooHigh" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log1_logMemsizeTooHighFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x503d654b857fd9d12e73b5b0d13c1ea7c7137f4012bf05f88f966460c29d357b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + } } } - ], - "EIP158" : [ - { - "hash" : "0x503d654b857fd9d12e73b5b0d13c1ea7c7137f4012bf05f88f966460c29d357b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x503d654b857fd9d12e73b5b0d13c1ea7c7137f4012bf05f88f966460c29d357b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x503d654b857fd9d12e73b5b0d13c1ea7c7137f4012bf05f88f966460c29d357b", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x8e75710025e2569afc56df11bf4439ee55fd2b36d0ca1f644fac701175080174", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7faabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd60005260007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001a1", - "nonce" : "0x00", + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +59,14 @@ "" ], "gasLimit" : [ - "0x033450" + "210000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log1_logMemsizeZero.json b/GeneralStateTests/stStaticCall/static_log1_logMemsizeZero.json index b267ece62..b08e69d01 100644 --- a/GeneralStateTests/stStaticCall/static_log1_logMemsizeZero.json +++ b/GeneralStateTests/stStaticCall/static_log1_logMemsizeZero.json @@ -2,88 +2,55 @@ "static_log1_logMemsizeZero" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log1_logMemsizeZeroFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xdc49be1fb0e3e0ce44efa31b4889452694a4749e5d648937efb011ce527a7fec", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x00" + } } } - ], - "EIP158" : [ - { - "hash" : "0xdc49be1fb0e3e0ce44efa31b4889452694a4749e5d648937efb011ce527a7fec", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xdc49be1fb0e3e0ce44efa31b4889452694a4749e5d648937efb011ce527a7fec", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xdc49be1fb0e3e0ce44efa31b4889452694a4749e5d648937efb011ce527a7fec", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xc9e309927462af7fd3c992cfd63df799f75922c963480e8a1e5e9c4ee6ef937e", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600060006000730f572e5295c57f15886f9b263e2f6d2d6c7b5ec66103e8fa600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7faabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd600052600060006001a1", - "nonce" : "0x00", + "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 1 0 0) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +60,14 @@ "" ], "gasLimit" : [ - "0x033450" + "210000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_log_Caller.json b/GeneralStateTests/stStaticCall/static_log_Caller.json index 155ca37f2..acc5247cc 100644 --- a/GeneralStateTests/stStaticCall/static_log_Caller.json +++ b/GeneralStateTests/stStaticCall/static_log_Caller.json @@ -2,276 +2,83 @@ "static_log_Caller" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_log_CallerFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "storage" : { + "0x" : "0x00" + } } } - ], - "Frontier" : [ - { - "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0xa1ab304e4b94ee2cc5fb911d9653f57142ecac55d0f776baf9eb92959d379290", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x2e70e4e1469ab268f03415c6af5004435325052080a4084bbe5ebd8a3e353abf", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2e70e4e1469ab268f03415c6af5004435325052080a4084bbe5ebd8a3e353abf", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2e70e4e1469ab268f03415c6af5004435325052080a4084bbe5ebd8a3e353abf", - "indexes" : { - "data" : 2, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2e70e4e1469ab268f03415c6af5004435325052080a4084bbe5ebd8a3e353abf", - "indexes" : { - "data" : 3, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x2e70e4e1469ab268f03415c6af5004435325052080a4084bbe5ebd8a3e353abf", - "indexes" : { - "data" : 4, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600060006000600060003561c350fa600055", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 50000 (CALLDATALOAD 0) 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0x1000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60ff6000533360206000a1", - "nonce" : "0x00", + "1000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE8 0 0xff) (LOG1 0 32 (CALLER) ) }", + "nonce" : "0", "storage" : { } }, - "0x2000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60ff60005333600060206000a2", - "nonce" : "0x00", + "2000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE8 0 0xff) (LOG2 0 32 0 (CALLER) ) }", + "nonce" : "0", "storage" : { } }, - "0x3000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60ff600053336000600060206000a3", - "nonce" : "0x00", + "3000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE8 0 0xff) (LOG3 0 32 0 0 (CALLER) ) }", + "nonce" : "0", "storage" : { } }, - "0x4000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60ff6000533360006000600060206000a4", - "nonce" : "0x00", + "4000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE8 0 0xff) (LOG4 0 32 0 0 0 (CALLER) )}", + "nonce" : "0", "storage" : { } }, - "0xa000000000000000000000000000000000000000" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x60ff60005360206000a0", - "nonce" : "0x00", + "a000000000000000000000000000000000000000" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE8 0 0xff) (LOG0 0 32 ) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -285,14 +92,14 @@ "0x0000000000000000000000004000000000000000000000000000000000000000" ], "gasLimit" : [ - "0x033450" + "210000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0186a0" + "100000" ] } } diff --git a/GeneralStateTests/stStaticCall/static_makeMoney.json b/GeneralStateTests/stStaticCall/static_makeMoney.json index 2015db47b..86ccae6e7 100644 --- a/GeneralStateTests/stStaticCall/static_makeMoney.json +++ b/GeneralStateTests/stStaticCall/static_makeMoney.json @@ -2,88 +2,59 @@ "static_makeMoney" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_makeMoneyFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x2a5401ad5c844bf5c361add2693e2b721443b4124450fe1d23231fcf608337ab", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000010" + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "774720" + }, + "aaaaaaaaace5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000" } } - ], - "EIP158" : [ - { - "hash" : "0x2a5401ad5c844bf5c361add2693e2b721443b4124450fe1d23231fcf608337ab", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x2a5401ad5c844bf5c361add2693e2b721443b4124450fe1d23231fcf608337ab", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x2a5401ad5c844bf5c361add2693e2b721443b4124450fe1d23231fcf608337ab", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x9c0b5611d03b78a355a16a6e5e654a2137f539fb7c666e0f16cc2ae9ddfcd56c", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x7b601080600c6000396000f20060003554156009570060203560003555600052600060006000600073aaaaaaaaace5edbc8e2a8697c15331677e6ebf0b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecfa", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ (MSTORE 0 0x601080600c6000396000f20060003554156009570060203560003555) (STATICCALL 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec 0xaaaaaaaaace5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }", + "nonce" : "0", "storage" : { } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0f4240", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xaaaaaaaaace5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x0de0b6b3a7640000", + "aaaaaaaaace5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "1000000000000000000", "code" : "0x600160015532600255", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } } @@ -93,14 +64,14 @@ "" ], "gasLimit" : [ - "0x037c94" + "228500" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_refund_CallA.json b/GeneralStateTests/stStaticCall/static_refund_CallA.json index 39b5d9e8c..e5d8b17ff 100644 --- a/GeneralStateTests/stStaticCall/static_refund_CallA.json +++ b/GeneralStateTests/stStaticCall/static_refund_CallA.json @@ -2,89 +2,63 @@ "static_refund_CallA" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_refund_CallAFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x0f4240", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "1000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0xf7eb56ad5688c51787bc5992fc36692cbf593645252ca2d81d3bfdeafaeb6967", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000010", + "storage" : { + "0x00" : "0x00", + "0x01" : "0x01" + } + }, + "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : { + "storage" : { + "0x01" : "0x01" + } } } - ], - "EIP158" : [ - { - "hash" : "0xf7eb56ad5688c51787bc5992fc36692cbf593645252ca2d81d3bfdeafaeb6967", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0xf7eb56ad5688c51787bc5992fc36692cbf593645252ca2d81d3bfdeafaeb6967", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0xf7eb56ad5688c51787bc5992fc36692cbf593645252ca2d81d3bfdeafaeb6967", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xb31b77cabaf08d083b906be61e95c9ca0d7dab5d08d705266a97cf509007699f", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600060006000600073aaae7baea6a6c7c4c2dfeb977efac326af552aaa61157cfa6000556001600155", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL 5500 0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa 0 0 0 0 ) [[ 1 ]] 1}", + "nonce" : "0", "storage" : { "0x01" : "0x01" } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x1e8480", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "2000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x6000600155", - "nonce" : "0x00", + "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 1 ]] 0 }", + "nonce" : "0", "storage" : { "0x01" : "0x01" } @@ -95,14 +69,14 @@ "" ], "gasLimit" : [ - "0x030d40" + "200000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_refund_CallToSuicideNoStorage.json b/GeneralStateTests/stStaticCall/static_refund_CallToSuicideNoStorage.json index d5cda4e31..eb4650c0f 100644 --- a/GeneralStateTests/stStaticCall/static_refund_CallToSuicideNoStorage.json +++ b/GeneralStateTests/stStaticCall/static_refund_CallToSuicideNoStorage.json @@ -2,129 +2,59 @@ "static_refund_CallToSuicideNoStorage" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_refund_CallToSuicideNoStorageFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x1e695b564ebba34885f0ca2f3de23ed71e601dfe0ed367eee6cea6e759493129", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x1e695b564ebba34885f0ca2f3de23ed71e601dfe0ed367eee6cea6e759493129", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x1e695b564ebba34885f0ca2f3de23ed71e601dfe0ed367eee6cea6e759493129", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x1e695b564ebba34885f0ca2f3de23ed71e601dfe0ed367eee6cea6e759493129", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x1e695b564ebba34885f0ca2f3de23ed71e601dfe0ed367eee6cea6e759493129", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x1e695b564ebba34885f0ca2f3de23ed71e601dfe0ed367eee6cea6e759493129", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x1e695b564ebba34885f0ca2f3de23ed71e601dfe0ed367eee6cea6e759493129", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x1e695b564ebba34885f0ca2f3de23ed71e601dfe0ed367eee6cea6e759493129", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0xbc8e9ee6171837d726f2effd73c74f3dea5aec4f69b70f81f744bdc95c6aa065", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0xf3b02d5bfb693f186dae77bb3a60d776df515ef588181bdbcd5c42a644869fdc", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000010", + "storage" : { + "0x00" : "0x00", + "0x01" : "0x01", + "0x02" : "0x01" + } } } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600060006000600073aaae7baea6a6c7c4c2dfeb977efac326af552aaa600035fa6000556001600255", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL (CALLDATALOAD 0) 0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa 0 0 0 0 ) [[ 2 ]] 1 }", + "nonce" : "0", "storage" : { "0x01" : "0x01" } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x05f5e100", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "100000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x73095e7baea6a6c7c4c2dfeb977efac326af552d87ff", - "nonce" : "0x00", + "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : { + "balance" : "1000000000000000000", + "code" : "{ (SELFDESTRUCT 0x095e7baea6a6c7c4c2dfeb977efac326af552d87) }", + "nonce" : "0", "storage" : { } } @@ -135,14 +65,14 @@ "0x0000000000000000000000000000000000000000000000000000000000010000" ], "gasLimit" : [ - "0x989680" + "10000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0a" + "10" ] } } diff --git a/GeneralStateTests/stStaticCall/static_refund_CallToSuicideTwice.json b/GeneralStateTests/stStaticCall/static_refund_CallToSuicideTwice.json index 84e0d48bc..33aea6e7b 100644 --- a/GeneralStateTests/stStaticCall/static_refund_CallToSuicideTwice.json +++ b/GeneralStateTests/stStaticCall/static_refund_CallToSuicideTwice.json @@ -2,129 +2,61 @@ "static_refund_CallToSuicideTwice" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.57f8eb2b.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.16292201.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stStaticCall/static_refund_CallToSuicideTwiceFiller.json" }, "env" : { - "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", "currentDifficulty" : "0x20000", - "currentGasLimit" : "0x989680", - "currentNumber" : "0x01", - "currentTimestamp" : "0x03e8", - "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + "currentGasLimit" : "10000000", + "currentNumber" : "1", + "currentTimestamp" : "1000", + "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "post" : { - "EIP150" : [ - { - "hash" : "0x5df0db2096f81e196a33243c5b778766af2297237a886b1c00da84c1048a3d89", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5df0db2096f81e196a33243c5b778766af2297237a886b1c00da84c1048a3d89", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "EIP158" : [ - { - "hash" : "0x5df0db2096f81e196a33243c5b778766af2297237a886b1c00da84c1048a3d89", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5df0db2096f81e196a33243c5b778766af2297237a886b1c00da84c1048a3d89", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Frontier" : [ - { - "hash" : "0x5df0db2096f81e196a33243c5b778766af2297237a886b1c00da84c1048a3d89", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5df0db2096f81e196a33243c5b778766af2297237a886b1c00da84c1048a3d89", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Homestead" : [ - { - "hash" : "0x5df0db2096f81e196a33243c5b778766af2297237a886b1c00da84c1048a3d89", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } - }, - { - "hash" : "0x5df0db2096f81e196a33243c5b778766af2297237a886b1c00da84c1048a3d89", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 - } - } - ], - "Metropolis" : [ - { - "hash" : "0x3d1cc001691484f74e26805d753c0df43a26558badf0ca23678fb28c7db79f02", - "indexes" : { - "data" : 0, - "gas" : 0, - "value" : 0 - } + "expect" : [ + { + "indexes" : { + "data" : 1, + "gas" : -1, + "value" : -1 }, - { - "hash" : "0x43cb99ef5e869a13879731ebb5d8a4a6bc16b1ce35ba2cb9712f155f1e813265", - "indexes" : { - "data" : 1, - "gas" : 0, - "value" : 0 + "network" : [ + "Metropolis" + ], + "result" : { + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "2000000000000000010", + "storage" : { + "0x00" : "0x00", + "0x01" : "0x01" + } + }, + "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : { + "shouldnotexist" : "1" } } - ] - }, + } + ], "pre" : { - "0x095e7baea6a6c7c4c2dfeb977efac326af552d87" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x600060006000600073aaae7baea6a6c7c4c2dfeb977efac326af552aaa600035fa6000556000600060006000600073aaae7baea6a6c7c4c2dfeb977efac326af552aaa600035f1", - "nonce" : "0x00", + "095e7baea6a6c7c4c2dfeb977efac326af552d87" : { + "balance" : "1000000000000000000", + "code" : "{ [[ 0 ]] (STATICCALL (CALLDATALOAD 0) 0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa 0 0 0 0 ) (CALL (CALLDATALOAD 0) 0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa 0 0 0 0 0 )}", + "nonce" : "0", "storage" : { "0x01" : "0x01" } }, - "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x05f5e100", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "100000000", "code" : "", - "nonce" : "0x00", + "nonce" : "0", "storage" : { } }, - "0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa" : { - "balance" : "0x0de0b6b3a7640000", - "code" : "0x73095e7baea6a6c7c4c2dfeb977efac326af552d87ff", - "nonce" : "0x00", + "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : { + "balance" : "1000000000000000000", + "code" : "{ (SELFDESTRUCT 0x095e7baea6a6c7c4c2dfeb977efac326af552d87) }", + "nonce" : "0", "storage" : { "0x01" : "0x01" } @@ -136,14 +68,14 @@ "0x0000000000000000000000000000000000000000000000000000000000010000" ], "gasLimit" : [ - "0x989680" + "10000000" ], - "gasPrice" : "0x01", - "nonce" : "0x00", - "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", - "to" : "0x095e7baea6a6c7c4c2dfeb977efac326af552d87", + "gasPrice" : "1", + "nonce" : "0", + "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87", "value" : [ - "0x0a" + "10" ] } } |