{"id":"a4dceaa8f7fa0d0562f21d5db9a89e99","_format":"hh-sol-build-info-1","solcVersion":"0.7.6","solcLongVersion":"0.7.6+commit.7338295f","input":{"language":"Solidity","sources":{"contracts/multicall/AstraInterfaceMulticall.sol":{"content":"pragma solidity >=0.5.0;\npragma experimental ABIEncoderV2;\n\n/// @title Multicall2 - Aggregate results from multiple read-only function calls\n/// @author Michael Elliot <mike@makerdao.com>\n/// @author Joshua Levine <joshua@makerdao.com>\n/// @author Nick Johnson <arachnid@notdot.net>\n\ncontract AstraInterfaceMulticall {\n    struct Call {\n        address target;\n        bytes callData;\n    }\n    struct Result {\n        bool success;\n        bytes returnData;\n    }\n\n    function aggregate(Call[] memory calls) public returns (uint256 blockNumber, bytes[] memory returnData) {\n        blockNumber = block.number;\n        returnData = new bytes[](calls.length);\n        for(uint256 i = 0; i < calls.length; i++) {\n            (bool success, bytes memory ret) = calls[i].target.call(calls[i].callData);\n            require(success, \"Multicall aggregate: call failed\");\n            returnData[i] = ret;\n        }\n    }\n    function blockAndAggregate(Call[] memory calls) public returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData) {\n        (blockNumber, blockHash, returnData) = tryBlockAndAggregate(true, calls);\n    }\n    function getBlockHash(uint256 blockNumber) public view returns (bytes32 blockHash) {\n        blockHash = blockhash(blockNumber);\n    }\n    function getBlockNumber() public view returns (uint256 blockNumber) {\n        blockNumber = block.number;\n    }\n    function getCurrentBlockCoinbase() public view returns (address coinbase) {\n        coinbase = block.coinbase;\n    }\n    function getCurrentBlockDifficulty() public view returns (uint256 difficulty) {\n        difficulty = block.difficulty;\n    }\n    function getCurrentBlockGasLimit() public view returns (uint256 gaslimit) {\n        gaslimit = block.gaslimit;\n    }\n    function getCurrentBlockTimestamp() public view returns (uint256 timestamp) {\n        timestamp = block.timestamp;\n    }\n    function getAMBBalance(address addr) public view returns (uint256 balance) {\n        balance = addr.balance;\n    }\n    function getLastBlockHash() public view returns (bytes32 blockHash) {\n        blockHash = blockhash(block.number - 1);\n    }\n    function tryAggregate(bool requireSuccess, Call[] memory calls) public returns (Result[] memory returnData) {\n        returnData = new Result[](calls.length);\n        for(uint256 i = 0; i < calls.length; i++) {\n            (bool success, bytes memory ret) = calls[i].target.call(calls[i].callData);\n\n            if (requireSuccess) {\n                require(success, \"Multicall2 aggregate: call failed\");\n            }\n\n            returnData[i] = Result(success, ret);\n        }\n    }\n    function tryBlockAndAggregate(bool requireSuccess, Call[] memory calls) public returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData) {\n        blockNumber = block.number;\n        blockHash = blockhash(block.number);\n        returnData = tryAggregate(requireSuccess, calls);\n    }\n}\n"}},"settings":{"optimizer":{"enabled":true,"runs":200},"evmVersion":"petersburg","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"errors":[{"component":"general","errorCode":"1878","formattedMessage":"contracts/multicall/AstraInterfaceMulticall.sol: Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.\n","message":"SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing \"SPDX-License-Identifier: <SPDX-License>\" to each source file. Use \"SPDX-License-Identifier: UNLICENSED\" for non-open-source code. Please see https://spdx.org for more information.","severity":"warning","sourceLocation":{"end":-1,"file":"contracts/multicall/AstraInterfaceMulticall.sol","start":-1},"type":"Warning"}],"sources":{"contracts/multicall/AstraInterfaceMulticall.sol":{"ast":{"absolutePath":"contracts/multicall/AstraInterfaceMulticall.sol","exportedSymbols":{"AstraInterfaceMulticall":[301]},"id":302,"nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity",">=","0.5",".0"],"nodeType":"PragmaDirective","src":"0:24:0"},{"id":2,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"25:33:0"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":{"id":3,"nodeType":"StructuredDocumentation","src":"60:223:0","text":"@title Multicall2 - Aggregate results from multiple read-only function calls\n @author Michael Elliot <mike@makerdao.com>\n @author Joshua Levine <joshua@makerdao.com>\n @author Nick Johnson <arachnid@notdot.net>"},"fullyImplemented":true,"id":301,"linearizedBaseContracts":[301],"name":"AstraInterfaceMulticall","nodeType":"ContractDefinition","nodes":[{"canonicalName":"AstraInterfaceMulticall.Call","id":8,"members":[{"constant":false,"id":5,"mutability":"mutable","name":"target","nodeType":"VariableDeclaration","scope":8,"src":"345:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4,"name":"address","nodeType":"ElementaryTypeName","src":"345:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7,"mutability":"mutable","name":"callData","nodeType":"VariableDeclaration","scope":8,"src":"369:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":6,"name":"bytes","nodeType":"ElementaryTypeName","src":"369:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call","nodeType":"StructDefinition","scope":301,"src":"323:67:0","visibility":"public"},{"canonicalName":"AstraInterfaceMulticall.Result","id":13,"members":[{"constant":false,"id":10,"mutability":"mutable","name":"success","nodeType":"VariableDeclaration","scope":13,"src":"419:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9,"name":"bool","nodeType":"ElementaryTypeName","src":"419:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12,"mutability":"mutable","name":"returnData","nodeType":"VariableDeclaration","scope":13,"src":"441:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":11,"name":"bytes","nodeType":"ElementaryTypeName","src":"441:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Result","nodeType":"StructDefinition","scope":301,"src":"395:69:0","visibility":"public"},{"body":{"id":77,"nodeType":"Block","src":"574:340:0","statements":[{"expression":{"id":27,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":24,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19,"src":"584:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":25,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"598:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":26,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"598:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"584:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28,"nodeType":"ExpressionStatement","src":"584:26:0"},{"expression":{"id":36,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22,"src":"620:10:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":33,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16,"src":"645:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Call memory[] memory"}},"id":34,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"645:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"633:11:0","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory[] memory)"},"typeName":{"baseType":{"id":30,"name":"bytes","nodeType":"ElementaryTypeName","src":"637:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":31,"nodeType":"ArrayTypeName","src":"637:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}}},"id":35,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"633:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"src":"620:38:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":37,"nodeType":"ExpressionStatement","src":"620:38:0"},{"body":{"id":75,"nodeType":"Block","src":"710:198:0","statements":[{"assignments":[50,52],"declarations":[{"constant":false,"id":50,"mutability":"mutable","name":"success","nodeType":"VariableDeclaration","scope":75,"src":"725:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49,"name":"bool","nodeType":"ElementaryTypeName","src":"725:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52,"mutability":"mutable","name":"ret","nodeType":"VariableDeclaration","scope":75,"src":"739:16:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51,"name":"bytes","nodeType":"ElementaryTypeName","src":"739:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63,"initialValue":{"arguments":[{"expression":{"baseExpression":{"id":58,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16,"src":"780:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Call memory[] memory"}},"id":60,"indexExpression":{"id":59,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39,"src":"786:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"780:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$8_memory_ptr","typeString":"struct AstraInterfaceMulticall.Call memory"}},"id":61,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"callData","nodeType":"MemberAccess","referencedDeclaration":7,"src":"780:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"expression":{"baseExpression":{"id":53,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16,"src":"759:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Call memory[] memory"}},"id":55,"indexExpression":{"id":54,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39,"src":"765:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"759:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$8_memory_ptr","typeString":"struct AstraInterfaceMulticall.Call memory"}},"id":56,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":5,"src":"759:15:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"759:20:0","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":62,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"759:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"724:74:0"},{"expression":{"arguments":[{"id":65,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50,"src":"820:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d756c746963616c6c206167677265676174653a2063616c6c206661696c6564","id":66,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"829:34:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f00f29c42686fd9baf65b5bd8fa63c642ded98b2f947cb8aeb6a004fb9f654ec","typeString":"literal_string \"Multicall aggregate: call failed\""},"value":"Multicall aggregate: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f00f29c42686fd9baf65b5bd8fa63c642ded98b2f947cb8aeb6a004fb9f654ec","typeString":"literal_string \"Multicall aggregate: call failed\""}],"id":64,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"812:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":67,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"812:52:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":68,"nodeType":"ExpressionStatement","src":"812:52:0"},{"expression":{"id":73,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":69,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22,"src":"878:10:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":71,"indexExpression":{"id":70,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39,"src":"889:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"878:13:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":72,"name":"ret","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52,"src":"894:3:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"878:19:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":74,"nodeType":"ExpressionStatement","src":"878:19:0"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":45,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":42,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39,"src":"687:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":43,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16,"src":"691:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Call memory[] memory"}},"id":44,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"691:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"687:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76,"initializationExpression":{"assignments":[39],"declarations":[{"constant":false,"id":39,"mutability":"mutable","name":"i","nodeType":"VariableDeclaration","scope":76,"src":"672:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38,"name":"uint256","nodeType":"ElementaryTypeName","src":"672:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":41,"initialValue":{"hexValue":"30","id":40,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"684:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"672:13:0"},"loopExpression":{"expression":{"id":47,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"705:3:0","subExpression":{"id":46,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39,"src":"705:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":48,"nodeType":"ExpressionStatement","src":"705:3:0"},"nodeType":"ForStatement","src":"668:240:0"}]},"functionSelector":"252dba42","id":78,"implemented":true,"kind":"function","modifiers":[],"name":"aggregate","nodeType":"FunctionDefinition","parameters":{"id":17,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16,"mutability":"mutable","name":"calls","nodeType":"VariableDeclaration","scope":78,"src":"489:19:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Call[]"},"typeName":{"baseType":{"id":14,"name":"Call","nodeType":"UserDefinedTypeName","referencedDeclaration":8,"src":"489:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$8_storage_ptr","typeString":"struct AstraInterfaceMulticall.Call"}},"id":15,"nodeType":"ArrayTypeName","src":"489:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$8_storage_$dyn_storage_ptr","typeString":"struct AstraInterfaceMulticall.Call[]"}},"visibility":"internal"}],"src":"488:21:0"},"returnParameters":{"id":23,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19,"mutability":"mutable","name":"blockNumber","nodeType":"VariableDeclaration","scope":78,"src":"526:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18,"name":"uint256","nodeType":"ElementaryTypeName","src":"526:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22,"mutability":"mutable","name":"returnData","nodeType":"VariableDeclaration","scope":78,"src":"547:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":20,"name":"bytes","nodeType":"ElementaryTypeName","src":"547:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":21,"nodeType":"ArrayTypeName","src":"547:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"525:48:0"},"scope":301,"src":"470:444:0","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":101,"nodeType":"Block","src":"1051:89:0","statements":[{"expression":{"id":99,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":91,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84,"src":"1062:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":92,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86,"src":"1075:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":93,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89,"src":"1086:10:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Result memory[] memory"}}],"id":94,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"1061:36:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct AstraInterfaceMulticall.Result memory[] memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"74727565","id":96,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1121:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":97,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81,"src":"1127:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Call memory[] memory"}],"id":95,"name":"tryBlockAndAggregate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"1100:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct AstraInterfaceMulticall.Call memory[] memory) returns (uint256,bytes32,struct AstraInterfaceMulticall.Result memory[] memory)"}},"id":98,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1100:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct AstraInterfaceMulticall.Result memory[] memory)"}},"src":"1061:72:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100,"nodeType":"ExpressionStatement","src":"1061:72:0"}]},"functionSelector":"c3077fa9","id":102,"implemented":true,"kind":"function","modifiers":[],"name":"blockAndAggregate","nodeType":"FunctionDefinition","parameters":{"id":82,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81,"mutability":"mutable","name":"calls","nodeType":"VariableDeclaration","scope":102,"src":"946:19:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Call[]"},"typeName":{"baseType":{"id":79,"name":"Call","nodeType":"UserDefinedTypeName","referencedDeclaration":8,"src":"946:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$8_storage_ptr","typeString":"struct AstraInterfaceMulticall.Call"}},"id":80,"nodeType":"ArrayTypeName","src":"946:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$8_storage_$dyn_storage_ptr","typeString":"struct AstraInterfaceMulticall.Call[]"}},"visibility":"internal"}],"src":"945:21:0"},"returnParameters":{"id":90,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84,"mutability":"mutable","name":"blockNumber","nodeType":"VariableDeclaration","scope":102,"src":"983:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83,"name":"uint256","nodeType":"ElementaryTypeName","src":"983:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86,"mutability":"mutable","name":"blockHash","nodeType":"VariableDeclaration","scope":102,"src":"1004:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":85,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1004:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":89,"mutability":"mutable","name":"returnData","nodeType":"VariableDeclaration","scope":102,"src":"1023:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Result[]"},"typeName":{"baseType":{"id":87,"name":"Result","nodeType":"UserDefinedTypeName","referencedDeclaration":13,"src":"1023:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$13_storage_ptr","typeString":"struct AstraInterfaceMulticall.Result"}},"id":88,"nodeType":"ArrayTypeName","src":"1023:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$13_storage_$dyn_storage_ptr","typeString":"struct AstraInterfaceMulticall.Result[]"}},"visibility":"internal"}],"src":"982:68:0"},"scope":301,"src":"919:221:0","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":115,"nodeType":"Block","src":"1228:51:0","statements":[{"expression":{"id":113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":109,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107,"src":"1238:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":111,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104,"src":"1260:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":110,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"1250:9:0","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1250:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1238:34:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":114,"nodeType":"ExpressionStatement","src":"1238:34:0"}]},"functionSelector":"ee82ac5e","id":116,"implemented":true,"kind":"function","modifiers":[],"name":"getBlockHash","nodeType":"FunctionDefinition","parameters":{"id":105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":104,"mutability":"mutable","name":"blockNumber","nodeType":"VariableDeclaration","scope":116,"src":"1167:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":103,"name":"uint256","nodeType":"ElementaryTypeName","src":"1167:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1166:21:0"},"returnParameters":{"id":108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":107,"mutability":"mutable","name":"blockHash","nodeType":"VariableDeclaration","scope":116,"src":"1209:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":106,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1209:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1208:19:0"},"scope":301,"src":"1145:134:0","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":126,"nodeType":"Block","src":"1352:43:0","statements":[{"expression":{"id":124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":121,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119,"src":"1362:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":122,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1376:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1376:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1362:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":125,"nodeType":"ExpressionStatement","src":"1362:26:0"}]},"functionSelector":"42cbb15c","id":127,"implemented":true,"kind":"function","modifiers":[],"name":"getBlockNumber","nodeType":"FunctionDefinition","parameters":{"id":117,"nodeType":"ParameterList","parameters":[],"src":"1307:2:0"},"returnParameters":{"id":120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":119,"mutability":"mutable","name":"blockNumber","nodeType":"VariableDeclaration","scope":127,"src":"1331:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":118,"name":"uint256","nodeType":"ElementaryTypeName","src":"1331:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1330:21:0"},"scope":301,"src":"1284:111:0","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":137,"nodeType":"Block","src":"1474:42:0","statements":[{"expression":{"id":135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":132,"name":"coinbase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":130,"src":"1484:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":133,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1495:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"coinbase","nodeType":"MemberAccess","src":"1495:14:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"1484:25:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":136,"nodeType":"ExpressionStatement","src":"1484:25:0"}]},"functionSelector":"a8b0574e","id":138,"implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockCoinbase","nodeType":"FunctionDefinition","parameters":{"id":128,"nodeType":"ParameterList","parameters":[],"src":"1432:2:0"},"returnParameters":{"id":131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":130,"mutability":"mutable","name":"coinbase","nodeType":"VariableDeclaration","scope":138,"src":"1456:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":129,"name":"address","nodeType":"ElementaryTypeName","src":"1456:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1455:18:0"},"scope":301,"src":"1400:116:0","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":148,"nodeType":"Block","src":"1599:46:0","statements":[{"expression":{"id":146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":143,"name":"difficulty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":141,"src":"1609:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":144,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1622:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"difficulty","nodeType":"MemberAccess","src":"1622:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1609:29:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":147,"nodeType":"ExpressionStatement","src":"1609:29:0"}]},"functionSelector":"72425d9d","id":149,"implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockDifficulty","nodeType":"FunctionDefinition","parameters":{"id":139,"nodeType":"ParameterList","parameters":[],"src":"1555:2:0"},"returnParameters":{"id":142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":141,"mutability":"mutable","name":"difficulty","nodeType":"VariableDeclaration","scope":149,"src":"1579:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":140,"name":"uint256","nodeType":"ElementaryTypeName","src":"1579:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1578:20:0"},"scope":301,"src":"1521:124:0","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":159,"nodeType":"Block","src":"1724:42:0","statements":[{"expression":{"id":157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":154,"name":"gaslimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":152,"src":"1734:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":155,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1745:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"gaslimit","nodeType":"MemberAccess","src":"1745:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1734:25:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":158,"nodeType":"ExpressionStatement","src":"1734:25:0"}]},"functionSelector":"86d516e8","id":160,"implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockGasLimit","nodeType":"FunctionDefinition","parameters":{"id":150,"nodeType":"ParameterList","parameters":[],"src":"1682:2:0"},"returnParameters":{"id":153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":152,"mutability":"mutable","name":"gaslimit","nodeType":"VariableDeclaration","scope":160,"src":"1706:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":151,"name":"uint256","nodeType":"ElementaryTypeName","src":"1706:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1705:18:0"},"scope":301,"src":"1650:116:0","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":170,"nodeType":"Block","src":"1847:44:0","statements":[{"expression":{"id":168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":165,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":163,"src":"1857:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":166,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1869:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"1869:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1857:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":169,"nodeType":"ExpressionStatement","src":"1857:27:0"}]},"functionSelector":"0f28c97d","id":171,"implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockTimestamp","nodeType":"FunctionDefinition","parameters":{"id":161,"nodeType":"ParameterList","parameters":[],"src":"1804:2:0"},"returnParameters":{"id":164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":163,"mutability":"mutable","name":"timestamp","nodeType":"VariableDeclaration","scope":171,"src":"1828:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":162,"name":"uint256","nodeType":"ElementaryTypeName","src":"1828:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1827:19:0"},"scope":301,"src":"1771:120:0","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":183,"nodeType":"Block","src":"1971:39:0","statements":[{"expression":{"id":181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":178,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176,"src":"1981:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":179,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"1991:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","src":"1991:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1981:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":182,"nodeType":"ExpressionStatement","src":"1981:22:0"}]},"functionSelector":"cc4c6e19","id":184,"implemented":true,"kind":"function","modifiers":[],"name":"getAMBBalance","nodeType":"FunctionDefinition","parameters":{"id":174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":173,"mutability":"mutable","name":"addr","nodeType":"VariableDeclaration","scope":184,"src":"1919:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":172,"name":"address","nodeType":"ElementaryTypeName","src":"1919:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1918:14:0"},"returnParameters":{"id":177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176,"mutability":"mutable","name":"balance","nodeType":"VariableDeclaration","scope":184,"src":"1954:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":175,"name":"uint256","nodeType":"ElementaryTypeName","src":"1954:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1953:17:0"},"scope":301,"src":"1896:114:0","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":198,"nodeType":"Block","src":"2083:56:0","statements":[{"expression":{"id":196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":189,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":187,"src":"2093:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":191,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2115:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2115:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2130:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2115:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":190,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"2105:9:0","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2105:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2093:39:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":197,"nodeType":"ExpressionStatement","src":"2093:39:0"}]},"functionSelector":"27e86d6e","id":199,"implemented":true,"kind":"function","modifiers":[],"name":"getLastBlockHash","nodeType":"FunctionDefinition","parameters":{"id":185,"nodeType":"ParameterList","parameters":[],"src":"2040:2:0"},"returnParameters":{"id":188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":187,"mutability":"mutable","name":"blockHash","nodeType":"VariableDeclaration","scope":199,"src":"2064:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":186,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2064:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2063:19:0"},"scope":301,"src":"2015:124:0","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":264,"nodeType":"Block","src":"2252:377:0","statements":[{"expression":{"id":217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":210,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":208,"src":"2262:10:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Result memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":214,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":204,"src":"2288:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Call memory[] memory"}},"id":215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2288:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":213,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2275:12:0","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct AstraInterfaceMulticall.Result memory[] memory)"},"typeName":{"baseType":{"id":211,"name":"Result","nodeType":"UserDefinedTypeName","referencedDeclaration":13,"src":"2279:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$13_storage_ptr","typeString":"struct AstraInterfaceMulticall.Result"}},"id":212,"nodeType":"ArrayTypeName","src":"2279:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$13_storage_$dyn_storage_ptr","typeString":"struct AstraInterfaceMulticall.Result[]"}}},"id":216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2275:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Result memory[] memory"}},"src":"2262:39:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Result memory[] memory"}},"id":218,"nodeType":"ExpressionStatement","src":"2262:39:0"},{"body":{"id":262,"nodeType":"Block","src":"2353:270:0","statements":[{"assignments":[231,233],"declarations":[{"constant":false,"id":231,"mutability":"mutable","name":"success","nodeType":"VariableDeclaration","scope":262,"src":"2368:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":230,"name":"bool","nodeType":"ElementaryTypeName","src":"2368:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":233,"mutability":"mutable","name":"ret","nodeType":"VariableDeclaration","scope":262,"src":"2382:16:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":232,"name":"bytes","nodeType":"ElementaryTypeName","src":"2382:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":244,"initialValue":{"arguments":[{"expression":{"baseExpression":{"id":239,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":204,"src":"2423:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Call memory[] memory"}},"id":241,"indexExpression":{"id":240,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":220,"src":"2429:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2423:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$8_memory_ptr","typeString":"struct AstraInterfaceMulticall.Call memory"}},"id":242,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"callData","nodeType":"MemberAccess","referencedDeclaration":7,"src":"2423:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"expression":{"baseExpression":{"id":234,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":204,"src":"2402:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Call memory[] memory"}},"id":236,"indexExpression":{"id":235,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":220,"src":"2408:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2402:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$8_memory_ptr","typeString":"struct AstraInterfaceMulticall.Call memory"}},"id":237,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":5,"src":"2402:15:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"2402:20:0","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2402:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"2367:74:0"},{"condition":{"id":245,"name":"requireSuccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":201,"src":"2460:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":252,"nodeType":"IfStatement","src":"2456:106:0","trueBody":{"id":251,"nodeType":"Block","src":"2476:86:0","statements":[{"expression":{"arguments":[{"id":247,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":231,"src":"2502:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6564","id":248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2511:35:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_bd97bfad63caef51f3372eed9dcabcf122404ebbb470c4fd9b09fcde78ebd3cf","typeString":"literal_string \"Multicall2 aggregate: call failed\""},"value":"Multicall2 aggregate: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_bd97bfad63caef51f3372eed9dcabcf122404ebbb470c4fd9b09fcde78ebd3cf","typeString":"literal_string \"Multicall2 aggregate: call failed\""}],"id":246,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2494:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2494:53:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":250,"nodeType":"ExpressionStatement","src":"2494:53:0"}]}},{"expression":{"id":260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":253,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":208,"src":"2576:10:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Result memory[] memory"}},"id":255,"indexExpression":{"id":254,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":220,"src":"2587:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2576:13:0","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$13_memory_ptr","typeString":"struct AstraInterfaceMulticall.Result memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":257,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":231,"src":"2599:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":258,"name":"ret","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":233,"src":"2608:3:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":256,"name":"Result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13,"src":"2592:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Result_$13_storage_ptr_$","typeString":"type(struct AstraInterfaceMulticall.Result storage pointer)"}},"id":259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2592:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Result_$13_memory_ptr","typeString":"struct AstraInterfaceMulticall.Result memory"}},"src":"2576:36:0","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$13_memory_ptr","typeString":"struct AstraInterfaceMulticall.Result memory"}},"id":261,"nodeType":"ExpressionStatement","src":"2576:36:0"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":223,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":220,"src":"2330:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":224,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":204,"src":"2334:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Call memory[] memory"}},"id":225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2334:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2330:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":263,"initializationExpression":{"assignments":[220],"declarations":[{"constant":false,"id":220,"mutability":"mutable","name":"i","nodeType":"VariableDeclaration","scope":263,"src":"2315:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":219,"name":"uint256","nodeType":"ElementaryTypeName","src":"2315:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":222,"initialValue":{"hexValue":"30","id":221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2327:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2315:13:0"},"loopExpression":{"expression":{"id":228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2348:3:0","subExpression":{"id":227,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":220,"src":"2348:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":229,"nodeType":"ExpressionStatement","src":"2348:3:0"},"nodeType":"ForStatement","src":"2311:312:0"}]},"functionSelector":"bce38bd7","id":265,"implemented":true,"kind":"function","modifiers":[],"name":"tryAggregate","nodeType":"FunctionDefinition","parameters":{"id":205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":201,"mutability":"mutable","name":"requireSuccess","nodeType":"VariableDeclaration","scope":265,"src":"2166:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":200,"name":"bool","nodeType":"ElementaryTypeName","src":"2166:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":204,"mutability":"mutable","name":"calls","nodeType":"VariableDeclaration","scope":265,"src":"2187:19:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Call[]"},"typeName":{"baseType":{"id":202,"name":"Call","nodeType":"UserDefinedTypeName","referencedDeclaration":8,"src":"2187:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$8_storage_ptr","typeString":"struct AstraInterfaceMulticall.Call"}},"id":203,"nodeType":"ArrayTypeName","src":"2187:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$8_storage_$dyn_storage_ptr","typeString":"struct AstraInterfaceMulticall.Call[]"}},"visibility":"internal"}],"src":"2165:42:0"},"returnParameters":{"id":209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":208,"mutability":"mutable","name":"returnData","nodeType":"VariableDeclaration","scope":265,"src":"2224:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Result[]"},"typeName":{"baseType":{"id":206,"name":"Result","nodeType":"UserDefinedTypeName","referencedDeclaration":13,"src":"2224:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$13_storage_ptr","typeString":"struct AstraInterfaceMulticall.Result"}},"id":207,"nodeType":"ArrayTypeName","src":"2224:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$13_storage_$dyn_storage_ptr","typeString":"struct AstraInterfaceMulticall.Result[]"}},"visibility":"internal"}],"src":"2223:28:0"},"scope":301,"src":"2144:485:0","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":299,"nodeType":"Block","src":"2790:146:0","statements":[{"expression":{"id":283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":280,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":273,"src":"2800:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":281,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2814:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2814:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2800:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":284,"nodeType":"ExpressionStatement","src":"2800:26:0"},{"expression":{"id":290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":285,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":275,"src":"2836:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":287,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2858:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2858:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":286,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"2848:9:0","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2848:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2836:35:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":291,"nodeType":"ExpressionStatement","src":"2836:35:0"},{"expression":{"id":297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":292,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"2881:10:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Result memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":294,"name":"requireSuccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":267,"src":"2907:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":295,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":270,"src":"2923:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Call memory[] memory"}],"id":293,"name":"tryAggregate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":265,"src":"2894:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct AstraInterfaceMulticall.Call memory[] memory) returns (struct AstraInterfaceMulticall.Result memory[] memory)"}},"id":296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2894:35:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Result memory[] memory"}},"src":"2881:48:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Result memory[] memory"}},"id":298,"nodeType":"ExpressionStatement","src":"2881:48:0"}]},"functionSelector":"399542e9","id":300,"implemented":true,"kind":"function","modifiers":[],"name":"tryBlockAndAggregate","nodeType":"FunctionDefinition","parameters":{"id":271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":267,"mutability":"mutable","name":"requireSuccess","nodeType":"VariableDeclaration","scope":300,"src":"2664:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":266,"name":"bool","nodeType":"ElementaryTypeName","src":"2664:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":270,"mutability":"mutable","name":"calls","nodeType":"VariableDeclaration","scope":300,"src":"2685:19:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Call[]"},"typeName":{"baseType":{"id":268,"name":"Call","nodeType":"UserDefinedTypeName","referencedDeclaration":8,"src":"2685:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$8_storage_ptr","typeString":"struct AstraInterfaceMulticall.Call"}},"id":269,"nodeType":"ArrayTypeName","src":"2685:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$8_storage_$dyn_storage_ptr","typeString":"struct AstraInterfaceMulticall.Call[]"}},"visibility":"internal"}],"src":"2663:42:0"},"returnParameters":{"id":279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":273,"mutability":"mutable","name":"blockNumber","nodeType":"VariableDeclaration","scope":300,"src":"2722:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":272,"name":"uint256","nodeType":"ElementaryTypeName","src":"2722:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":275,"mutability":"mutable","name":"blockHash","nodeType":"VariableDeclaration","scope":300,"src":"2743:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":274,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2743:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":278,"mutability":"mutable","name":"returnData","nodeType":"VariableDeclaration","scope":300,"src":"2762:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr","typeString":"struct AstraInterfaceMulticall.Result[]"},"typeName":{"baseType":{"id":276,"name":"Result","nodeType":"UserDefinedTypeName","referencedDeclaration":13,"src":"2762:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$13_storage_ptr","typeString":"struct AstraInterfaceMulticall.Result"}},"id":277,"nodeType":"ArrayTypeName","src":"2762:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$13_storage_$dyn_storage_ptr","typeString":"struct AstraInterfaceMulticall.Result[]"}},"visibility":"internal"}],"src":"2721:68:0"},"scope":301,"src":"2634:302:0","stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"scope":302,"src":"284:2654:0"}],"src":"0:2939:0"},"id":0}},"contracts":{"contracts/multicall/AstraInterfaceMulticall.sol":{"AstraInterfaceMulticall":{"abi":[{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct AstraInterfaceMulticall.Call[]","name":"calls","type":"tuple[]"}],"name":"aggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes[]","name":"returnData","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct AstraInterfaceMulticall.Call[]","name":"calls","type":"tuple[]"}],"name":"blockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct AstraInterfaceMulticall.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getAMBBalance","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBlockNumber","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockCoinbase","outputs":[{"internalType":"address","name":"coinbase","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockDifficulty","outputs":[{"internalType":"uint256","name":"difficulty","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockGasLimit","outputs":[{"internalType":"uint256","name":"gaslimit","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLastBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct AstraInterfaceMulticall.Call[]","name":"calls","type":"tuple[]"}],"name":"tryAggregate","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct AstraInterfaceMulticall.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct AstraInterfaceMulticall.Call[]","name":"calls","type":"tuple[]"}],"name":"tryBlockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct AstraInterfaceMulticall.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b5061091e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806386d516e81161007157806386d516e814610132578063a8b0574e1461013a578063bce38bd71461014f578063c3077fa91461016f578063cc4c6e1914610182578063ee82ac5e14610195576100b4565b80630f28c97d146100b9578063252dba42146100d757806327e86d6e146100f8578063399542e91461010057806342cbb15c1461012257806372425d9d1461012a575b600080fd5b6100c16101a8565b6040516100ce9190610785565b60405180910390f35b6100ea6100e5366004610605565b6101ac565b6040516100ce929190610804565b6100c16102ea565b61011361010e366004610640565b6102f3565b6040516100ce9392919061086c565b6100c161030b565b6100c161030f565b6100c1610313565b610142610317565b6040516100ce919061075e565b61016261015d366004610640565b61031b565b6040516100ce9190610772565b61011361017d366004610605565b610470565b6100c16101903660046105e4565b61048d565b6100c16101a3366004610692565b61049a565b4290565b8051439060609067ffffffffffffffff811180156101c957600080fd5b506040519080825280602002602001820160405280156101fd57816020015b60608152602001906001900390816101e85790505b50905060005b83518110156102e45760008085838151811061021b57fe5b6020026020010151600001516001600160a01b031686848151811061023c57fe5b6020026020010151602001516040516102559190610742565b6000604051808303816000865af19150503d8060008114610292576040519150601f19603f3d011682016040523d82523d6000602084013e610297565b606091505b5091509150816102c25760405162461bcd60e51b81526004016102b9906107cf565b60405180910390fd5b808484815181106102cf57fe5b60209081029190910101525050600101610203565b50915091565b60001943014090565b4380406060610302858561031b565b90509250925092565b4390565b4490565b4590565b4190565b6060815167ffffffffffffffff8111801561033557600080fd5b5060405190808252806020026020018201604052801561036f57816020015b61035c61049e565b8152602001906001900390816103545790505b50905060005b82518110156104695760008084838151811061038d57fe5b6020026020010151600001516001600160a01b03168584815181106103ae57fe5b6020026020010151602001516040516103c79190610742565b6000604051808303816000865af19150503d8060008114610404576040519150601f19603f3d011682016040523d82523d6000602084013e610409565b606091505b5091509150851561043157816104315760405162461bcd60e51b81526004016102b99061078e565b604051806040016040528083151581526020018281525084848151811061045457fe5b60209081029190910101525050600101610375565b5092915050565b60008060606104806001856102f3565b9196909550909350915050565b6001600160a01b03163190565b4090565b60408051808201909152600081526060602082015290565b80356001600160a01b03811681146104cd57600080fd5b919050565b600082601f8301126104e2578081fd5b8135602067ffffffffffffffff808311156104f957fe5b6105068283850201610894565b83815282810190868401865b868110156105d657813589016040601f198181848f03011215610533578a8bfd5b81518281018181108a8211171561054657fe5b8352610553848b016104b6565b81528284013589811115610565578c8dfd5b8085019450508d603f850112610579578b8cfd5b898401358981111561058757fe5b6105978b84601f84011601610894565b92508083528e848287010111156105ac578c8dfd5b808486018c85013782018a018c9052808a0191909152865250509285019290850190600101610512565b509098975050505050505050565b6000602082840312156105f5578081fd5b6105fe826104b6565b9392505050565b600060208284031215610616578081fd5b813567ffffffffffffffff81111561062c578182fd5b610638848285016104d2565b949350505050565b60008060408385031215610652578081fd5b82358015158114610661578182fd5b9150602083013567ffffffffffffffff81111561067c578182fd5b610688858286016104d2565b9150509250929050565b6000602082840312156106a3578081fd5b5035919050565b60008282518085526020808601955080818302840101818601855b8481101561070957858303601f19018952815180511515845284015160408585018190526106f581860183610716565b9a86019a94505050908301906001016106c5565b5090979650505050505050565b6000815180845261072e8160208601602086016108b8565b601f01601f19169290920160200192915050565b600082516107548184602087016108b8565b9190910192915050565b6001600160a01b0391909116815260200190565b6000602082526105fe60208301846106aa565b90815260200190565b60208082526021908201527f4d756c746963616c6c32206167677265676174653a2063616c6c206661696c656040820152601960fa1b606082015260800190565b6020808252818101527f4d756c746963616c6c206167677265676174653a2063616c6c206661696c6564604082015260600190565b600060408201848352602060408185015281855180845260608601915060608382028701019350828701855b8281101561085e57605f1988870301845261084c868351610716565b95509284019290840190600101610830565b509398975050505050505050565b60008482528360208301526060604083015261088b60608301846106aa565b95945050505050565b60405181810167ffffffffffffffff811182821017156108b057fe5b604052919050565b60005b838110156108d35781810151838201526020016108bb565b838111156108e2576000848401525b5050505056fea2646970667358221220c7166feb0b164dcfef87aef9f4ec637e7b1d39c00417ab444a5d98800ce1179f64736f6c63430007060033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x91E DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xB4 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x86D516E8 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x86D516E8 EQ PUSH2 0x132 JUMPI DUP1 PUSH4 0xA8B0574E EQ PUSH2 0x13A JUMPI DUP1 PUSH4 0xBCE38BD7 EQ PUSH2 0x14F JUMPI DUP1 PUSH4 0xC3077FA9 EQ PUSH2 0x16F JUMPI DUP1 PUSH4 0xCC4C6E19 EQ PUSH2 0x182 JUMPI DUP1 PUSH4 0xEE82AC5E EQ PUSH2 0x195 JUMPI PUSH2 0xB4 JUMP JUMPDEST DUP1 PUSH4 0xF28C97D EQ PUSH2 0xB9 JUMPI DUP1 PUSH4 0x252DBA42 EQ PUSH2 0xD7 JUMPI DUP1 PUSH4 0x27E86D6E EQ PUSH2 0xF8 JUMPI DUP1 PUSH4 0x399542E9 EQ PUSH2 0x100 JUMPI DUP1 PUSH4 0x42CBB15C EQ PUSH2 0x122 JUMPI DUP1 PUSH4 0x72425D9D EQ PUSH2 0x12A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC1 PUSH2 0x1A8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP2 SWAP1 PUSH2 0x785 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEA PUSH2 0xE5 CALLDATASIZE PUSH1 0x4 PUSH2 0x605 JUMP JUMPDEST PUSH2 0x1AC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP3 SWAP2 SWAP1 PUSH2 0x804 JUMP JUMPDEST PUSH2 0xC1 PUSH2 0x2EA JUMP JUMPDEST PUSH2 0x113 PUSH2 0x10E CALLDATASIZE PUSH1 0x4 PUSH2 0x640 JUMP JUMPDEST PUSH2 0x2F3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x86C JUMP JUMPDEST PUSH2 0xC1 PUSH2 0x30B JUMP JUMPDEST PUSH2 0xC1 PUSH2 0x30F JUMP JUMPDEST PUSH2 0xC1 PUSH2 0x313 JUMP JUMPDEST PUSH2 0x142 PUSH2 0x317 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP2 SWAP1 PUSH2 0x75E JUMP JUMPDEST PUSH2 0x162 PUSH2 0x15D CALLDATASIZE PUSH1 0x4 PUSH2 0x640 JUMP JUMPDEST PUSH2 0x31B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP2 SWAP1 PUSH2 0x772 JUMP JUMPDEST PUSH2 0x113 PUSH2 0x17D CALLDATASIZE PUSH1 0x4 PUSH2 0x605 JUMP JUMPDEST PUSH2 0x470 JUMP JUMPDEST PUSH2 0xC1 PUSH2 0x190 CALLDATASIZE PUSH1 0x4 PUSH2 0x5E4 JUMP JUMPDEST PUSH2 0x48D JUMP JUMPDEST PUSH2 0xC1 PUSH2 0x1A3 CALLDATASIZE PUSH1 0x4 PUSH2 0x692 JUMP JUMPDEST PUSH2 0x49A JUMP JUMPDEST TIMESTAMP SWAP1 JUMP JUMPDEST DUP1 MLOAD NUMBER SWAP1 PUSH1 0x60 SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP1 ISZERO PUSH2 0x1C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1FD JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x1E8 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x2E4 JUMPI PUSH1 0x0 DUP1 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x21B JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x23C JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x20 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x255 SWAP2 SWAP1 PUSH2 0x742 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x292 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x297 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x2C2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2B9 SWAP1 PUSH2 0x7CF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x2CF JUMPI INVALID JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE POP POP PUSH1 0x1 ADD PUSH2 0x203 JUMP JUMPDEST POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x0 NOT NUMBER ADD BLOCKHASH SWAP1 JUMP JUMPDEST NUMBER DUP1 BLOCKHASH PUSH1 0x60 PUSH2 0x302 DUP6 DUP6 PUSH2 0x31B JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST NUMBER SWAP1 JUMP JUMPDEST DIFFICULTY SWAP1 JUMP JUMPDEST GASLIMIT SWAP1 JUMP JUMPDEST COINBASE SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP1 ISZERO PUSH2 0x335 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x36F JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0x35C PUSH2 0x49E JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x354 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x469 JUMPI PUSH1 0x0 DUP1 DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x38D JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x3AE JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x20 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x3C7 SWAP2 SWAP1 PUSH2 0x742 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x404 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x409 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP6 ISZERO PUSH2 0x431 JUMPI DUP2 PUSH2 0x431 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2B9 SWAP1 PUSH2 0x78E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x454 JUMPI INVALID JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE POP POP PUSH1 0x1 ADD PUSH2 0x375 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x60 PUSH2 0x480 PUSH1 0x1 DUP6 PUSH2 0x2F3 JUMP JUMPDEST SWAP2 SWAP7 SWAP1 SWAP6 POP SWAP1 SWAP4 POP SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND BALANCE SWAP1 JUMP JUMPDEST BLOCKHASH SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE PUSH1 0x60 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x4CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4E2 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP4 GT ISZERO PUSH2 0x4F9 JUMPI INVALID JUMPDEST PUSH2 0x506 DUP3 DUP4 DUP6 MUL ADD PUSH2 0x894 JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 DUP2 ADD SWAP1 DUP7 DUP5 ADD DUP7 JUMPDEST DUP7 DUP2 LT ISZERO PUSH2 0x5D6 JUMPI DUP2 CALLDATALOAD DUP10 ADD PUSH1 0x40 PUSH1 0x1F NOT DUP2 DUP2 DUP5 DUP16 SUB ADD SLT ISZERO PUSH2 0x533 JUMPI DUP11 DUP12 REVERT JUMPDEST DUP2 MLOAD DUP3 DUP2 ADD DUP2 DUP2 LT DUP11 DUP3 GT OR ISZERO PUSH2 0x546 JUMPI INVALID JUMPDEST DUP4 MSTORE PUSH2 0x553 DUP5 DUP12 ADD PUSH2 0x4B6 JUMP JUMPDEST DUP2 MSTORE DUP3 DUP5 ADD CALLDATALOAD DUP10 DUP2 GT ISZERO PUSH2 0x565 JUMPI DUP13 DUP14 REVERT JUMPDEST DUP1 DUP6 ADD SWAP5 POP POP DUP14 PUSH1 0x3F DUP6 ADD SLT PUSH2 0x579 JUMPI DUP12 DUP13 REVERT JUMPDEST DUP10 DUP5 ADD CALLDATALOAD DUP10 DUP2 GT ISZERO PUSH2 0x587 JUMPI INVALID JUMPDEST PUSH2 0x597 DUP12 DUP5 PUSH1 0x1F DUP5 ADD AND ADD PUSH2 0x894 JUMP JUMPDEST SWAP3 POP DUP1 DUP4 MSTORE DUP15 DUP5 DUP3 DUP8 ADD ADD GT ISZERO PUSH2 0x5AC JUMPI DUP13 DUP14 REVERT JUMPDEST DUP1 DUP5 DUP7 ADD DUP13 DUP6 ADD CALLDATACOPY DUP3 ADD DUP11 ADD DUP13 SWAP1 MSTORE DUP1 DUP11 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP7 MSTORE POP POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x512 JUMP JUMPDEST POP SWAP1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5F5 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x5FE DUP3 PUSH2 0x4B6 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x616 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x62C JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x638 DUP5 DUP3 DUP6 ADD PUSH2 0x4D2 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x652 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP3 CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x661 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x67C JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x688 DUP6 DUP3 DUP7 ADD PUSH2 0x4D2 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6A3 JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MLOAD DUP1 DUP6 MSTORE PUSH1 0x20 DUP1 DUP7 ADD SWAP6 POP DUP1 DUP2 DUP4 MUL DUP5 ADD ADD DUP2 DUP7 ADD DUP6 JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x709 JUMPI DUP6 DUP4 SUB PUSH1 0x1F NOT ADD DUP10 MSTORE DUP2 MLOAD DUP1 MLOAD ISZERO ISZERO DUP5 MSTORE DUP5 ADD MLOAD PUSH1 0x40 DUP6 DUP6 ADD DUP2 SWAP1 MSTORE PUSH2 0x6F5 DUP2 DUP7 ADD DUP4 PUSH2 0x716 JUMP JUMPDEST SWAP11 DUP7 ADD SWAP11 SWAP5 POP POP POP SWAP1 DUP4 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x6C5 JUMP JUMPDEST POP SWAP1 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x72E DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x8B8 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x754 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x8B8 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0x5FE PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x6AA JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x21 SWAP1 DUP3 ADD MSTORE PUSH32 0x4D756C746963616C6C32206167677265676174653A2063616C6C206661696C65 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0xFA SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x4D756C746963616C6C206167677265676174653A2063616C6C206661696C6564 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD DUP5 DUP4 MSTORE PUSH1 0x20 PUSH1 0x40 DUP2 DUP6 ADD MSTORE DUP2 DUP6 MLOAD DUP1 DUP5 MSTORE PUSH1 0x60 DUP7 ADD SWAP2 POP PUSH1 0x60 DUP4 DUP3 MUL DUP8 ADD ADD SWAP4 POP DUP3 DUP8 ADD DUP6 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x85E JUMPI PUSH1 0x5F NOT DUP9 DUP8 SUB ADD DUP5 MSTORE PUSH2 0x84C DUP7 DUP4 MLOAD PUSH2 0x716 JUMP JUMPDEST SWAP6 POP SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x830 JUMP JUMPDEST POP SWAP4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP5 DUP3 MSTORE DUP4 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x88B PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x6AA JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x8B0 JUMPI INVALID JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x8D3 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x8BB JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x8E2 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC7 AND PUSH16 0xEB0B164DCFEF87AEF9F4EC637E7B1D39 0xC0 DIV OR 0xAB DIFFICULTY 0x4A 0x5D SWAP9 DUP1 0xC 0xE1 OR SWAP16 PUSH5 0x736F6C6343 STOP SMOD MOD STOP CALLER ","sourceMap":"284:2654:0:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:8200:1","statements":[{"nodeType":"YulBlock","src":"6:3:1","statements":[]},{"body":{"nodeType":"YulBlock","src":"65:124:1","statements":[{"nodeType":"YulAssignment","src":"75:29:1","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"97:6:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"84:12:1"},"nodeType":"YulFunctionCall","src":"84:20:1"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"75:5:1"}]},{"body":{"nodeType":"YulBlock","src":"167:16:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"176:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"179:1:1","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"169:6:1"},"nodeType":"YulFunctionCall","src":"169:12:1"},"nodeType":"YulExpressionStatement","src":"169:12:1"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"126:5:1"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"137:5:1"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"152:3:1","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"157:1:1","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"148:3:1"},"nodeType":"YulFunctionCall","src":"148:11:1"},{"kind":"number","nodeType":"YulLiteral","src":"161:1:1","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"144:3:1"},"nodeType":"YulFunctionCall","src":"144:19:1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"133:3:1"},"nodeType":"YulFunctionCall","src":"133:31:1"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"123:2:1"},"nodeType":"YulFunctionCall","src":"123:42:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"116:6:1"},"nodeType":"YulFunctionCall","src":"116:50:1"},"nodeType":"YulIf","src":"113:2:1"}]},"name":"abi_decode_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"44:6:1","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"55:5:1","type":""}],"src":"14:175:1"},{"body":{"nodeType":"YulBlock","src":"269:1669:1","statements":[{"body":{"nodeType":"YulBlock","src":"318:24:1","statements":[{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"327:5:1"},{"name":"array","nodeType":"YulIdentifier","src":"334:5:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"320:6:1"},"nodeType":"YulFunctionCall","src":"320:20:1"},"nodeType":"YulExpressionStatement","src":"320:20:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"297:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"305:4:1","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"293:3:1"},"nodeType":"YulFunctionCall","src":"293:17:1"},{"name":"end","nodeType":"YulIdentifier","src":"312:3:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"289:3:1"},"nodeType":"YulFunctionCall","src":"289:27:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"282:6:1"},"nodeType":"YulFunctionCall","src":"282:35:1"},"nodeType":"YulIf","src":"279:2:1"},{"nodeType":"YulVariableDeclaration","src":"351:30:1","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"374:6:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"361:12:1"},"nodeType":"YulFunctionCall","src":"361:20:1"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"355:2:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"390:14:1","value":{"kind":"number","nodeType":"YulLiteral","src":"400:4:1","type":"","value":"0x20"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"394:2:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"413:28:1","value":{"kind":"number","nodeType":"YulLiteral","src":"423:18:1","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"417:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"464:13:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"invalid","nodeType":"YulIdentifier","src":"466:7:1"},"nodeType":"YulFunctionCall","src":"466:9:1"},"nodeType":"YulExpressionStatement","src":"466:9:1"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"456:2:1"},{"name":"_3","nodeType":"YulIdentifier","src":"460:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"453:2:1"},"nodeType":"YulFunctionCall","src":"453:10:1"},"nodeType":"YulIf","src":"450:2:1"},{"nodeType":"YulVariableDeclaration","src":"486:47:1","value":{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"520:2:1"},{"name":"_2","nodeType":"YulIdentifier","src":"524:2:1"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"516:3:1"},"nodeType":"YulFunctionCall","src":"516:11:1"},{"name":"_2","nodeType":"YulIdentifier","src":"529:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"512:3:1"},"nodeType":"YulFunctionCall","src":"512:20:1"}],"functionName":{"name":"allocateMemory","nodeType":"YulIdentifier","src":"497:14:1"},"nodeType":"YulFunctionCall","src":"497:36:1"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"490:3:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"542:16:1","value":{"name":"dst","nodeType":"YulIdentifier","src":"555:3:1"},"variables":[{"name":"dst_1","nodeType":"YulTypedName","src":"546:5:1","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"574:3:1"},{"name":"_1","nodeType":"YulIdentifier","src":"579:2:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"567:6:1"},"nodeType":"YulFunctionCall","src":"567:15:1"},"nodeType":"YulExpressionStatement","src":"567:15:1"},{"nodeType":"YulAssignment","src":"591:19:1","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"602:3:1"},{"name":"_2","nodeType":"YulIdentifier","src":"607:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"598:3:1"},"nodeType":"YulFunctionCall","src":"598:12:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"591:3:1"}]},{"nodeType":"YulVariableDeclaration","src":"619:26:1","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"634:6:1"},{"name":"_2","nodeType":"YulIdentifier","src":"642:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"630:3:1"},"nodeType":"YulFunctionCall","src":"630:15:1"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"623:3:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"654:14:1","value":{"name":"array","nodeType":"YulIdentifier","src":"663:5:1"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"658:1:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"722:1187:1","statements":[{"nodeType":"YulVariableDeclaration","src":"736:40:1","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"750:6:1"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"771:3:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"758:12:1"},"nodeType":"YulFunctionCall","src":"758:17:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"746:3:1"},"nodeType":"YulFunctionCall","src":"746:30:1"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"740:2:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"789:14:1","value":{"kind":"number","nodeType":"YulLiteral","src":"799:4:1","type":"","value":"0x40"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"793:2:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"816:17:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"830:2:1","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"826:3:1"},"nodeType":"YulFunctionCall","src":"826:7:1"},"variables":[{"name":"_6","nodeType":"YulTypedName","src":"820:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"880:24:1","statements":[{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"889:5:1"},{"name":"array","nodeType":"YulIdentifier","src":"896:5:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"882:6:1"},"nodeType":"YulFunctionCall","src":"882:20:1"},"nodeType":"YulExpressionStatement","src":"882:20:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"end","nodeType":"YulIdentifier","src":"861:3:1"},{"name":"_4","nodeType":"YulIdentifier","src":"866:2:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"857:3:1"},"nodeType":"YulFunctionCall","src":"857:12:1"},{"name":"_6","nodeType":"YulIdentifier","src":"871:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"853:3:1"},"nodeType":"YulFunctionCall","src":"853:21:1"},{"name":"_5","nodeType":"YulIdentifier","src":"876:2:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"849:3:1"},"nodeType":"YulFunctionCall","src":"849:30:1"},"nodeType":"YulIf","src":"846:2:1"},{"nodeType":"YulVariableDeclaration","src":"917:23:1","value":{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"937:2:1"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"931:5:1"},"nodeType":"YulFunctionCall","src":"931:9:1"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"921:6:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"953:33:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"975:6:1"},{"name":"_5","nodeType":"YulIdentifier","src":"983:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"971:3:1"},"nodeType":"YulFunctionCall","src":"971:15:1"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"957:10:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"1049:13:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"invalid","nodeType":"YulIdentifier","src":"1051:7:1"},"nodeType":"YulFunctionCall","src":"1051:9:1"},"nodeType":"YulExpressionStatement","src":"1051:9:1"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1008:10:1"},{"name":"_3","nodeType":"YulIdentifier","src":"1020:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1005:2:1"},"nodeType":"YulFunctionCall","src":"1005:18:1"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1028:10:1"},{"name":"memPtr","nodeType":"YulIdentifier","src":"1040:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1025:2:1"},"nodeType":"YulFunctionCall","src":"1025:22:1"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1002:2:1"},"nodeType":"YulFunctionCall","src":"1002:46:1"},"nodeType":"YulIf","src":"999:2:1"},{"expression":{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"1082:2:1"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"1086:10:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1075:6:1"},"nodeType":"YulFunctionCall","src":"1075:22:1"},"nodeType":"YulExpressionStatement","src":"1075:22:1"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1117:6:1"},{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"1150:2:1"},{"name":"_2","nodeType":"YulIdentifier","src":"1154:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1146:3:1"},"nodeType":"YulFunctionCall","src":"1146:11:1"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"1125:20:1"},"nodeType":"YulFunctionCall","src":"1125:33:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1110:6:1"},"nodeType":"YulFunctionCall","src":"1110:49:1"},"nodeType":"YulExpressionStatement","src":"1110:49:1"},{"nodeType":"YulVariableDeclaration","src":"1172:41:1","value":{"arguments":[{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"1205:2:1"},{"name":"_5","nodeType":"YulIdentifier","src":"1209:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1201:3:1"},"nodeType":"YulFunctionCall","src":"1201:11:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1188:12:1"},"nodeType":"YulFunctionCall","src":"1188:25:1"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"1176:8:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"1246:24:1","statements":[{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"1255:5:1"},{"name":"array","nodeType":"YulIdentifier","src":"1262:5:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1248:6:1"},"nodeType":"YulFunctionCall","src":"1248:20:1"},"nodeType":"YulExpressionStatement","src":"1248:20:1"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"1232:8:1"},{"name":"_3","nodeType":"YulIdentifier","src":"1242:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1229:2:1"},"nodeType":"YulFunctionCall","src":"1229:16:1"},"nodeType":"YulIf","src":"1226:2:1"},{"nodeType":"YulVariableDeclaration","src":"1283:27:1","value":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"1297:2:1"},{"name":"offset_1","nodeType":"YulIdentifier","src":"1301:8:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1293:3:1"},"nodeType":"YulFunctionCall","src":"1293:17:1"},"variables":[{"name":"_7","nodeType":"YulTypedName","src":"1287:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"1356:24:1","statements":[{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"1365:5:1"},{"name":"array","nodeType":"YulIdentifier","src":"1372:5:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1358:6:1"},"nodeType":"YulFunctionCall","src":"1358:20:1"},"nodeType":"YulExpressionStatement","src":"1358:20:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_7","nodeType":"YulIdentifier","src":"1341:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"1345:2:1","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1337:3:1"},"nodeType":"YulFunctionCall","src":"1337:11:1"},{"name":"end","nodeType":"YulIdentifier","src":"1350:3:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1333:3:1"},"nodeType":"YulFunctionCall","src":"1333:21:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1326:6:1"},"nodeType":"YulFunctionCall","src":"1326:29:1"},"nodeType":"YulIf","src":"1323:2:1"},{"nodeType":"YulVariableDeclaration","src":"1393:35:1","value":{"arguments":[{"arguments":[{"name":"_7","nodeType":"YulIdentifier","src":"1420:2:1"},{"name":"_2","nodeType":"YulIdentifier","src":"1424:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1416:3:1"},"nodeType":"YulFunctionCall","src":"1416:11:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1403:12:1"},"nodeType":"YulFunctionCall","src":"1403:25:1"},"variables":[{"name":"_8","nodeType":"YulTypedName","src":"1397:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"1455:13:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"invalid","nodeType":"YulIdentifier","src":"1457:7:1"},"nodeType":"YulFunctionCall","src":"1457:9:1"},"nodeType":"YulExpressionStatement","src":"1457:9:1"}]},"condition":{"arguments":[{"name":"_8","nodeType":"YulIdentifier","src":"1447:2:1"},{"name":"_3","nodeType":"YulIdentifier","src":"1451:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1444:2:1"},"nodeType":"YulFunctionCall","src":"1444:10:1"},"nodeType":"YulIf","src":"1441:2:1"},{"nodeType":"YulVariableDeclaration","src":"1481:62:1","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_8","nodeType":"YulIdentifier","src":"1523:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"1527:4:1","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1519:3:1"},"nodeType":"YulFunctionCall","src":"1519:13:1"},{"name":"_6","nodeType":"YulIdentifier","src":"1534:2:1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1515:3:1"},"nodeType":"YulFunctionCall","src":"1515:22:1"},{"name":"_2","nodeType":"YulIdentifier","src":"1539:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1511:3:1"},"nodeType":"YulFunctionCall","src":"1511:31:1"}],"functionName":{"name":"allocateMemory","nodeType":"YulIdentifier","src":"1496:14:1"},"nodeType":"YulFunctionCall","src":"1496:47:1"},"variables":[{"name":"array_1","nodeType":"YulTypedName","src":"1485:7:1","type":""}]},{"expression":{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"1563:7:1"},{"name":"_8","nodeType":"YulIdentifier","src":"1572:2:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1556:6:1"},"nodeType":"YulFunctionCall","src":"1556:19:1"},"nodeType":"YulExpressionStatement","src":"1556:19:1"},{"body":{"nodeType":"YulBlock","src":"1621:24:1","statements":[{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"1630:5:1"},{"name":"array","nodeType":"YulIdentifier","src":"1637:5:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1623:6:1"},"nodeType":"YulFunctionCall","src":"1623:20:1"},"nodeType":"YulExpressionStatement","src":"1623:20:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_7","nodeType":"YulIdentifier","src":"1602:2:1"},{"name":"_8","nodeType":"YulIdentifier","src":"1606:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1598:3:1"},"nodeType":"YulFunctionCall","src":"1598:11:1"},{"name":"_5","nodeType":"YulIdentifier","src":"1611:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1594:3:1"},"nodeType":"YulFunctionCall","src":"1594:20:1"},{"name":"end","nodeType":"YulIdentifier","src":"1616:3:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1591:2:1"},"nodeType":"YulFunctionCall","src":"1591:29:1"},"nodeType":"YulIf","src":"1588:2:1"},{"expression":{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"1675:7:1"},{"name":"_2","nodeType":"YulIdentifier","src":"1684:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1671:3:1"},"nodeType":"YulFunctionCall","src":"1671:16:1"},{"arguments":[{"name":"_7","nodeType":"YulIdentifier","src":"1693:2:1"},{"name":"_5","nodeType":"YulIdentifier","src":"1697:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1689:3:1"},"nodeType":"YulFunctionCall","src":"1689:11:1"},{"name":"_8","nodeType":"YulIdentifier","src":"1702:2:1"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"1658:12:1"},"nodeType":"YulFunctionCall","src":"1658:47:1"},"nodeType":"YulExpressionStatement","src":"1658:47:1"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"array_1","nodeType":"YulIdentifier","src":"1733:7:1"},{"name":"_8","nodeType":"YulIdentifier","src":"1742:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1729:3:1"},"nodeType":"YulFunctionCall","src":"1729:16:1"},{"name":"_2","nodeType":"YulIdentifier","src":"1747:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1725:3:1"},"nodeType":"YulFunctionCall","src":"1725:25:1"},{"name":"array","nodeType":"YulIdentifier","src":"1752:5:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1718:6:1"},"nodeType":"YulFunctionCall","src":"1718:40:1"},"nodeType":"YulExpressionStatement","src":"1718:40:1"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"1782:6:1"},{"name":"_2","nodeType":"YulIdentifier","src":"1790:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1778:3:1"},"nodeType":"YulFunctionCall","src":"1778:15:1"},{"name":"array_1","nodeType":"YulIdentifier","src":"1795:7:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1771:6:1"},"nodeType":"YulFunctionCall","src":"1771:32:1"},"nodeType":"YulExpressionStatement","src":"1771:32:1"},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1823:3:1"},{"name":"memPtr","nodeType":"YulIdentifier","src":"1828:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1816:6:1"},"nodeType":"YulFunctionCall","src":"1816:19:1"},"nodeType":"YulExpressionStatement","src":"1816:19:1"},{"nodeType":"YulAssignment","src":"1848:19:1","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1859:3:1"},{"name":"_2","nodeType":"YulIdentifier","src":"1864:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1855:3:1"},"nodeType":"YulFunctionCall","src":"1855:12:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1848:3:1"}]},{"nodeType":"YulAssignment","src":"1880:19:1","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1891:3:1"},{"name":"_2","nodeType":"YulIdentifier","src":"1896:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1887:3:1"},"nodeType":"YulFunctionCall","src":"1887:12:1"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1880:3:1"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"688:1:1"},{"name":"_1","nodeType":"YulIdentifier","src":"691:2:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"685:2:1"},"nodeType":"YulFunctionCall","src":"685:9:1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"695:18:1","statements":[{"nodeType":"YulAssignment","src":"697:14:1","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"706:1:1"},{"kind":"number","nodeType":"YulLiteral","src":"709:1:1","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"702:3:1"},"nodeType":"YulFunctionCall","src":"702:9:1"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"697:1:1"}]}]},"pre":{"nodeType":"YulBlock","src":"681:3:1","statements":[]},"src":"677:1232:1"},{"nodeType":"YulAssignment","src":"1918:14:1","value":{"name":"dst_1","nodeType":"YulIdentifier","src":"1927:5:1"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1918:5:1"}]}]},"name":"abi_decode_t_array$_t_struct$_Call_$dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"243:6:1","type":""},{"name":"end","nodeType":"YulTypedName","src":"251:3:1","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"259:5:1","type":""}],"src":"194:1744:1"},{"body":{"nodeType":"YulBlock","src":"2013:128:1","statements":[{"body":{"nodeType":"YulBlock","src":"2059:26:1","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2068:6:1"},{"name":"value0","nodeType":"YulIdentifier","src":"2076:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2061:6:1"},"nodeType":"YulFunctionCall","src":"2061:22:1"},"nodeType":"YulExpressionStatement","src":"2061:22:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2034:7:1"},{"name":"headStart","nodeType":"YulIdentifier","src":"2043:9:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2030:3:1"},"nodeType":"YulFunctionCall","src":"2030:23:1"},{"kind":"number","nodeType":"YulLiteral","src":"2055:2:1","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2026:3:1"},"nodeType":"YulFunctionCall","src":"2026:32:1"},"nodeType":"YulIf","src":"2023:2:1"},{"nodeType":"YulAssignment","src":"2094:41:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2125:9:1"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"2104:20:1"},"nodeType":"YulFunctionCall","src":"2104:31:1"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2094:6:1"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1979:9:1","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1990:7:1","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2002:6:1","type":""}],"src":"1943:198:1"},{"body":{"nodeType":"YulBlock","src":"2260:284:1","statements":[{"body":{"nodeType":"YulBlock","src":"2306:26:1","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2315:6:1"},{"name":"value0","nodeType":"YulIdentifier","src":"2323:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2308:6:1"},"nodeType":"YulFunctionCall","src":"2308:22:1"},"nodeType":"YulExpressionStatement","src":"2308:22:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2281:7:1"},{"name":"headStart","nodeType":"YulIdentifier","src":"2290:9:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2277:3:1"},"nodeType":"YulFunctionCall","src":"2277:23:1"},{"kind":"number","nodeType":"YulLiteral","src":"2302:2:1","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2273:3:1"},"nodeType":"YulFunctionCall","src":"2273:32:1"},"nodeType":"YulIf","src":"2270:2:1"},{"nodeType":"YulVariableDeclaration","src":"2341:37:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2368:9:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2355:12:1"},"nodeType":"YulFunctionCall","src":"2355:23:1"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2345:6:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"2421:26:1","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"2430:6:1"},{"name":"value0","nodeType":"YulIdentifier","src":"2438:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2423:6:1"},"nodeType":"YulFunctionCall","src":"2423:22:1"},"nodeType":"YulExpressionStatement","src":"2423:22:1"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2393:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"2401:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2390:2:1"},"nodeType":"YulFunctionCall","src":"2390:30:1"},"nodeType":"YulIf","src":"2387:2:1"},{"nodeType":"YulAssignment","src":"2456:82:1","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2510:9:1"},{"name":"offset","nodeType":"YulIdentifier","src":"2521:6:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2506:3:1"},"nodeType":"YulFunctionCall","src":"2506:22:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2530:7:1"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Call_$dyn","nodeType":"YulIdentifier","src":"2466:39:1"},"nodeType":"YulFunctionCall","src":"2466:72:1"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2456:6:1"}]}]},"name":"abi_decode_tuple_t_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2226:9:1","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2237:7:1","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2249:6:1","type":""}],"src":"2146:398:1"},{"body":{"nodeType":"YulBlock","src":"2677:441:1","statements":[{"body":{"nodeType":"YulBlock","src":"2723:26:1","statements":[{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"2732:6:1"},{"name":"value1","nodeType":"YulIdentifier","src":"2740:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2725:6:1"},"nodeType":"YulFunctionCall","src":"2725:22:1"},"nodeType":"YulExpressionStatement","src":"2725:22:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2698:7:1"},{"name":"headStart","nodeType":"YulIdentifier","src":"2707:9:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2694:3:1"},"nodeType":"YulFunctionCall","src":"2694:23:1"},{"kind":"number","nodeType":"YulLiteral","src":"2719:2:1","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2690:3:1"},"nodeType":"YulFunctionCall","src":"2690:32:1"},"nodeType":"YulIf","src":"2687:2:1"},{"nodeType":"YulVariableDeclaration","src":"2758:36:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2784:9:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2771:12:1"},"nodeType":"YulFunctionCall","src":"2771:23:1"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2762:5:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"2847:26:1","statements":[{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"2856:6:1"},{"name":"value1","nodeType":"YulIdentifier","src":"2864:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2849:6:1"},"nodeType":"YulFunctionCall","src":"2849:22:1"},"nodeType":"YulExpressionStatement","src":"2849:22:1"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2816:5:1"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2837:5:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2830:6:1"},"nodeType":"YulFunctionCall","src":"2830:13:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2823:6:1"},"nodeType":"YulFunctionCall","src":"2823:21:1"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2813:2:1"},"nodeType":"YulFunctionCall","src":"2813:32:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2806:6:1"},"nodeType":"YulFunctionCall","src":"2806:40:1"},"nodeType":"YulIf","src":"2803:2:1"},{"nodeType":"YulAssignment","src":"2882:15:1","value":{"name":"value","nodeType":"YulIdentifier","src":"2892:5:1"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2882:6:1"}]},{"nodeType":"YulVariableDeclaration","src":"2906:46:1","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2937:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"2948:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2933:3:1"},"nodeType":"YulFunctionCall","src":"2933:18:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2920:12:1"},"nodeType":"YulFunctionCall","src":"2920:32:1"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2910:6:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"2995:26:1","statements":[{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"3004:6:1"},{"name":"value1","nodeType":"YulIdentifier","src":"3012:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2997:6:1"},"nodeType":"YulFunctionCall","src":"2997:22:1"},"nodeType":"YulExpressionStatement","src":"2997:22:1"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2967:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"2975:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2964:2:1"},"nodeType":"YulFunctionCall","src":"2964:30:1"},"nodeType":"YulIf","src":"2961:2:1"},{"nodeType":"YulAssignment","src":"3030:82:1","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3084:9:1"},{"name":"offset","nodeType":"YulIdentifier","src":"3095:6:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3080:3:1"},"nodeType":"YulFunctionCall","src":"3080:22:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3104:7:1"}],"functionName":{"name":"abi_decode_t_array$_t_struct$_Call_$dyn","nodeType":"YulIdentifier","src":"3040:39:1"},"nodeType":"YulFunctionCall","src":"3040:72:1"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3030:6:1"}]}]},"name":"abi_decode_tuple_t_boolt_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2635:9:1","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2646:7:1","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2658:6:1","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2666:6:1","type":""}],"src":"2549:569:1"},{"body":{"nodeType":"YulBlock","src":"3193:120:1","statements":[{"body":{"nodeType":"YulBlock","src":"3239:26:1","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3248:6:1"},{"name":"value0","nodeType":"YulIdentifier","src":"3256:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3241:6:1"},"nodeType":"YulFunctionCall","src":"3241:22:1"},"nodeType":"YulExpressionStatement","src":"3241:22:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3214:7:1"},{"name":"headStart","nodeType":"YulIdentifier","src":"3223:9:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3210:3:1"},"nodeType":"YulFunctionCall","src":"3210:23:1"},{"kind":"number","nodeType":"YulLiteral","src":"3235:2:1","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3206:3:1"},"nodeType":"YulFunctionCall","src":"3206:32:1"},"nodeType":"YulIf","src":"3203:2:1"},{"nodeType":"YulAssignment","src":"3274:33:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3297:9:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3284:12:1"},"nodeType":"YulFunctionCall","src":"3284:23:1"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3274:6:1"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3159:9:1","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3170:7:1","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3182:6:1","type":""}],"src":"3123:190:1"},{"body":{"nodeType":"YulBlock","src":"3392:748:1","statements":[{"nodeType":"YulVariableDeclaration","src":"3402:16:1","value":{"name":"pos","nodeType":"YulIdentifier","src":"3415:3:1"},"variables":[{"name":"pos_1","nodeType":"YulTypedName","src":"3406:5:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3427:26:1","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3447:5:1"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3441:5:1"},"nodeType":"YulFunctionCall","src":"3441:12:1"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"3431:6:1","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3469:3:1"},{"name":"length","nodeType":"YulIdentifier","src":"3474:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3462:6:1"},"nodeType":"YulFunctionCall","src":"3462:19:1"},"nodeType":"YulExpressionStatement","src":"3462:19:1"},{"nodeType":"YulVariableDeclaration","src":"3490:14:1","value":{"kind":"number","nodeType":"YulLiteral","src":"3500:4:1","type":"","value":"0x20"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"3494:2:1","type":""}]},{"nodeType":"YulAssignment","src":"3513:19:1","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3524:3:1"},{"name":"_1","nodeType":"YulIdentifier","src":"3529:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3520:3:1"},"nodeType":"YulFunctionCall","src":"3520:12:1"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3513:3:1"}]},{"nodeType":"YulVariableDeclaration","src":"3541:48:1","value":{"arguments":[{"arguments":[{"name":"pos_1","nodeType":"YulIdentifier","src":"3561:5:1"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3572:6:1"},{"name":"_1","nodeType":"YulIdentifier","src":"3580:2:1"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"3568:3:1"},"nodeType":"YulFunctionCall","src":"3568:15:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3557:3:1"},"nodeType":"YulFunctionCall","src":"3557:27:1"},{"name":"_1","nodeType":"YulIdentifier","src":"3586:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3553:3:1"},"nodeType":"YulFunctionCall","src":"3553:36:1"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"3545:4:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3598:28:1","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3616:5:1"},{"name":"_1","nodeType":"YulIdentifier","src":"3623:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3612:3:1"},"nodeType":"YulFunctionCall","src":"3612:14:1"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"3602:6:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3635:12:1","value":{"name":"end","nodeType":"YulIdentifier","src":"3644:3:1"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"3639:1:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"3705:409:1","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3726:3:1"},{"arguments":[{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"3739:4:1"},{"name":"pos_1","nodeType":"YulIdentifier","src":"3745:5:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3735:3:1"},"nodeType":"YulFunctionCall","src":"3735:16:1"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3757:2:1","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3753:3:1"},"nodeType":"YulFunctionCall","src":"3753:7:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3731:3:1"},"nodeType":"YulFunctionCall","src":"3731:30:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3719:6:1"},"nodeType":"YulFunctionCall","src":"3719:43:1"},"nodeType":"YulExpressionStatement","src":"3719:43:1"},{"nodeType":"YulVariableDeclaration","src":"3775:23:1","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"3791:6:1"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3785:5:1"},"nodeType":"YulFunctionCall","src":"3785:13:1"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"3779:2:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3811:14:1","value":{"kind":"number","nodeType":"YulLiteral","src":"3821:4:1","type":"","value":"0x40"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"3815:2:1","type":""}]},{"expression":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"3845:4:1"},{"arguments":[{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"3871:2:1"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3865:5:1"},"nodeType":"YulFunctionCall","src":"3865:9:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3858:6:1"},"nodeType":"YulFunctionCall","src":"3858:17:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3851:6:1"},"nodeType":"YulFunctionCall","src":"3851:25:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3838:6:1"},"nodeType":"YulFunctionCall","src":"3838:39:1"},"nodeType":"YulExpressionStatement","src":"3838:39:1"},{"nodeType":"YulVariableDeclaration","src":"3890:38:1","value":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"3920:2:1"},{"name":"_1","nodeType":"YulIdentifier","src":"3924:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3916:3:1"},"nodeType":"YulFunctionCall","src":"3916:11:1"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3910:5:1"},"nodeType":"YulFunctionCall","src":"3910:18:1"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"3894:12:1","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"3952:4:1"},{"name":"_1","nodeType":"YulIdentifier","src":"3958:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3948:3:1"},"nodeType":"YulFunctionCall","src":"3948:13:1"},{"name":"_3","nodeType":"YulIdentifier","src":"3963:2:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3941:6:1"},"nodeType":"YulFunctionCall","src":"3941:25:1"},"nodeType":"YulExpressionStatement","src":"3941:25:1"},{"nodeType":"YulAssignment","src":"3979:55:1","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"4006:12:1"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"4024:4:1"},{"name":"_3","nodeType":"YulIdentifier","src":"4030:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4020:3:1"},"nodeType":"YulFunctionCall","src":"4020:13:1"}],"functionName":{"name":"abi_encode_t_bytes","nodeType":"YulIdentifier","src":"3987:18:1"},"nodeType":"YulFunctionCall","src":"3987:47:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3979:4:1"}]},{"nodeType":"YulAssignment","src":"4047:25:1","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4061:6:1"},{"name":"_1","nodeType":"YulIdentifier","src":"4069:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4057:3:1"},"nodeType":"YulFunctionCall","src":"4057:15:1"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"4047:6:1"}]},{"nodeType":"YulAssignment","src":"4085:19:1","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4096:3:1"},{"name":"_1","nodeType":"YulIdentifier","src":"4101:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4092:3:1"},"nodeType":"YulFunctionCall","src":"4092:12:1"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"4085:3:1"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3667:1:1"},{"name":"length","nodeType":"YulIdentifier","src":"3670:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3664:2:1"},"nodeType":"YulFunctionCall","src":"3664:13:1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3678:18:1","statements":[{"nodeType":"YulAssignment","src":"3680:14:1","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3689:1:1"},{"kind":"number","nodeType":"YulLiteral","src":"3692:1:1","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3685:3:1"},"nodeType":"YulFunctionCall","src":"3685:9:1"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"3680:1:1"}]}]},"pre":{"nodeType":"YulBlock","src":"3660:3:1","statements":[]},"src":"3656:458:1"},{"nodeType":"YulAssignment","src":"4123:11:1","value":{"name":"tail","nodeType":"YulIdentifier","src":"4130:4:1"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"4123:3:1"}]}]},"name":"abi_encode_t_array$_t_struct$_Result_$dyn","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3369:5:1","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3376:3:1","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3384:3:1","type":""}],"src":"3318:822:1"},{"body":{"nodeType":"YulBlock","src":"4196:208:1","statements":[{"nodeType":"YulVariableDeclaration","src":"4206:26:1","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4226:5:1"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4220:5:1"},"nodeType":"YulFunctionCall","src":"4220:12:1"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"4210:6:1","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4248:3:1"},{"name":"length","nodeType":"YulIdentifier","src":"4253:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4241:6:1"},"nodeType":"YulFunctionCall","src":"4241:19:1"},"nodeType":"YulExpressionStatement","src":"4241:19:1"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4295:5:1"},{"kind":"number","nodeType":"YulLiteral","src":"4302:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4291:3:1"},"nodeType":"YulFunctionCall","src":"4291:16:1"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4313:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"4318:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4309:3:1"},"nodeType":"YulFunctionCall","src":"4309:14:1"},{"name":"length","nodeType":"YulIdentifier","src":"4325:6:1"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"4269:21:1"},"nodeType":"YulFunctionCall","src":"4269:63:1"},"nodeType":"YulExpressionStatement","src":"4269:63:1"},{"nodeType":"YulAssignment","src":"4341:57:1","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4356:3:1"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4369:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"4377:2:1","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4365:3:1"},"nodeType":"YulFunctionCall","src":"4365:15:1"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4386:2:1","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"4382:3:1"},"nodeType":"YulFunctionCall","src":"4382:7:1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4361:3:1"},"nodeType":"YulFunctionCall","src":"4361:29:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4352:3:1"},"nodeType":"YulFunctionCall","src":"4352:39:1"},{"kind":"number","nodeType":"YulLiteral","src":"4393:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4348:3:1"},"nodeType":"YulFunctionCall","src":"4348:50:1"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"4341:3:1"}]}]},"name":"abi_encode_t_bytes","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4173:5:1","type":""},{"name":"pos","nodeType":"YulTypedName","src":"4180:3:1","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"4188:3:1","type":""}],"src":"4145:259:1"},{"body":{"nodeType":"YulBlock","src":"4546:137:1","statements":[{"nodeType":"YulVariableDeclaration","src":"4556:27:1","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4576:6:1"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4570:5:1"},"nodeType":"YulFunctionCall","src":"4570:13:1"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"4560:6:1","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4618:6:1"},{"kind":"number","nodeType":"YulLiteral","src":"4626:4:1","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4614:3:1"},"nodeType":"YulFunctionCall","src":"4614:17:1"},{"name":"pos","nodeType":"YulIdentifier","src":"4633:3:1"},{"name":"length","nodeType":"YulIdentifier","src":"4638:6:1"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"4592:21:1"},"nodeType":"YulFunctionCall","src":"4592:53:1"},"nodeType":"YulExpressionStatement","src":"4592:53:1"},{"nodeType":"YulAssignment","src":"4654:23:1","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4665:3:1"},{"name":"length","nodeType":"YulIdentifier","src":"4670:6:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4661:3:1"},"nodeType":"YulFunctionCall","src":"4661:16:1"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"4654:3:1"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"4522:3:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4527:6:1","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"4538:3:1","type":""}],"src":"4409:274:1"},{"body":{"nodeType":"YulBlock","src":"4789:102:1","statements":[{"nodeType":"YulAssignment","src":"4799:26:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4811:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"4822:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4807:3:1"},"nodeType":"YulFunctionCall","src":"4807:18:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4799:4:1"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4841:9:1"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4856:6:1"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4872:3:1","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"4877:1:1","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"4868:3:1"},"nodeType":"YulFunctionCall","src":"4868:11:1"},{"kind":"number","nodeType":"YulLiteral","src":"4881:1:1","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4864:3:1"},"nodeType":"YulFunctionCall","src":"4864:19:1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"4852:3:1"},"nodeType":"YulFunctionCall","src":"4852:32:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4834:6:1"},"nodeType":"YulFunctionCall","src":"4834:51:1"},"nodeType":"YulExpressionStatement","src":"4834:51:1"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4758:9:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4769:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4780:4:1","type":""}],"src":"4688:203:1"},{"body":{"nodeType":"YulBlock","src":"5091:123:1","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5108:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5119:2:1","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5101:6:1"},"nodeType":"YulFunctionCall","src":"5101:21:1"},"nodeType":"YulExpressionStatement","src":"5101:21:1"},{"nodeType":"YulAssignment","src":"5131:77:1","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5181:6:1"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5193:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5204:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5189:3:1"},"nodeType":"YulFunctionCall","src":"5189:18:1"}],"functionName":{"name":"abi_encode_t_array$_t_struct$_Result_$dyn","nodeType":"YulIdentifier","src":"5139:41:1"},"nodeType":"YulFunctionCall","src":"5139:69:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5131:4:1"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5060:9:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5071:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5082:4:1","type":""}],"src":"4896:318:1"},{"body":{"nodeType":"YulBlock","src":"5320:76:1","statements":[{"nodeType":"YulAssignment","src":"5330:26:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5342:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5353:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5338:3:1"},"nodeType":"YulFunctionCall","src":"5338:18:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5330:4:1"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5372:9:1"},{"name":"value0","nodeType":"YulIdentifier","src":"5383:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5365:6:1"},"nodeType":"YulFunctionCall","src":"5365:25:1"},"nodeType":"YulExpressionStatement","src":"5365:25:1"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5289:9:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5300:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5311:4:1","type":""}],"src":"5219:177:1"},{"body":{"nodeType":"YulBlock","src":"5575:223:1","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5592:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5603:2:1","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5585:6:1"},"nodeType":"YulFunctionCall","src":"5585:21:1"},"nodeType":"YulExpressionStatement","src":"5585:21:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5626:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5637:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5622:3:1"},"nodeType":"YulFunctionCall","src":"5622:18:1"},{"kind":"number","nodeType":"YulLiteral","src":"5642:2:1","type":"","value":"33"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5615:6:1"},"nodeType":"YulFunctionCall","src":"5615:30:1"},"nodeType":"YulExpressionStatement","src":"5615:30:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5665:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5676:2:1","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5661:3:1"},"nodeType":"YulFunctionCall","src":"5661:18:1"},{"kind":"string","nodeType":"YulLiteral","src":"5681:34:1","type":"","value":"Multicall2 aggregate: call faile"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5654:6:1"},"nodeType":"YulFunctionCall","src":"5654:62:1"},"nodeType":"YulExpressionStatement","src":"5654:62:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5736:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5747:2:1","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5732:3:1"},"nodeType":"YulFunctionCall","src":"5732:18:1"},{"kind":"string","nodeType":"YulLiteral","src":"5752:3:1","type":"","value":"d"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5725:6:1"},"nodeType":"YulFunctionCall","src":"5725:31:1"},"nodeType":"YulExpressionStatement","src":"5725:31:1"},{"nodeType":"YulAssignment","src":"5765:27:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5777:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5788:3:1","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5773:3:1"},"nodeType":"YulFunctionCall","src":"5773:19:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5765:4:1"}]}]},"name":"abi_encode_tuple_t_stringliteral_bd97bfad63caef51f3372eed9dcabcf122404ebbb470c4fd9b09fcde78ebd3cf__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5552:9:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5566:4:1","type":""}],"src":"5401:397:1"},{"body":{"nodeType":"YulBlock","src":"5977:182:1","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5994:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"6005:2:1","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5987:6:1"},"nodeType":"YulFunctionCall","src":"5987:21:1"},"nodeType":"YulExpressionStatement","src":"5987:21:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6028:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"6039:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6024:3:1"},"nodeType":"YulFunctionCall","src":"6024:18:1"},{"kind":"number","nodeType":"YulLiteral","src":"6044:2:1","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6017:6:1"},"nodeType":"YulFunctionCall","src":"6017:30:1"},"nodeType":"YulExpressionStatement","src":"6017:30:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6067:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"6078:2:1","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6063:3:1"},"nodeType":"YulFunctionCall","src":"6063:18:1"},{"kind":"string","nodeType":"YulLiteral","src":"6083:34:1","type":"","value":"Multicall aggregate: call failed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6056:6:1"},"nodeType":"YulFunctionCall","src":"6056:62:1"},"nodeType":"YulExpressionStatement","src":"6056:62:1"},{"nodeType":"YulAssignment","src":"6127:26:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6139:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"6150:2:1","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6135:3:1"},"nodeType":"YulFunctionCall","src":"6135:18:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6127:4:1"}]}]},"name":"abi_encode_tuple_t_stringliteral_f00f29c42686fd9baf65b5bd8fa63c642ded98b2f947cb8aeb6a004fb9f654ec__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5954:9:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5968:4:1","type":""}],"src":"5803:356:1"},{"body":{"nodeType":"YulBlock","src":"6265:76:1","statements":[{"nodeType":"YulAssignment","src":"6275:26:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6287:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"6298:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6283:3:1"},"nodeType":"YulFunctionCall","src":"6283:18:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"6275:4:1"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6317:9:1"},{"name":"value0","nodeType":"YulIdentifier","src":"6328:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6310:6:1"},"nodeType":"YulFunctionCall","src":"6310:25:1"},"nodeType":"YulExpressionStatement","src":"6310:25:1"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6234:9:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6245:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6256:4:1","type":""}],"src":"6164:177:1"},{"body":{"nodeType":"YulBlock","src":"6543:680:1","statements":[{"nodeType":"YulVariableDeclaration","src":"6553:32:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6571:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"6582:2:1","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6567:3:1"},"nodeType":"YulFunctionCall","src":"6567:18:1"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"6557:6:1","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6601:9:1"},{"name":"value0","nodeType":"YulIdentifier","src":"6612:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6594:6:1"},"nodeType":"YulFunctionCall","src":"6594:25:1"},"nodeType":"YulExpressionStatement","src":"6594:25:1"},{"nodeType":"YulVariableDeclaration","src":"6628:12:1","value":{"kind":"number","nodeType":"YulLiteral","src":"6638:2:1","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"6632:2:1","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6660:9:1"},{"name":"_1","nodeType":"YulIdentifier","src":"6671:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6656:3:1"},"nodeType":"YulFunctionCall","src":"6656:18:1"},{"kind":"number","nodeType":"YulLiteral","src":"6676:2:1","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6649:6:1"},"nodeType":"YulFunctionCall","src":"6649:30:1"},"nodeType":"YulExpressionStatement","src":"6649:30:1"},{"nodeType":"YulVariableDeclaration","src":"6688:17:1","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"6699:6:1"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"6692:3:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6714:27:1","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"6734:6:1"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6728:5:1"},"nodeType":"YulFunctionCall","src":"6728:13:1"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"6718:6:1","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"6757:6:1"},{"name":"length","nodeType":"YulIdentifier","src":"6765:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6750:6:1"},"nodeType":"YulFunctionCall","src":"6750:22:1"},"nodeType":"YulExpressionStatement","src":"6750:22:1"},{"nodeType":"YulAssignment","src":"6781:25:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6792:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"6803:2:1","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6788:3:1"},"nodeType":"YulFunctionCall","src":"6788:18:1"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6781:3:1"}]},{"nodeType":"YulVariableDeclaration","src":"6815:54:1","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6837:9:1"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6852:6:1"},{"name":"_1","nodeType":"YulIdentifier","src":"6860:2:1"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"6848:3:1"},"nodeType":"YulFunctionCall","src":"6848:15:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6833:3:1"},"nodeType":"YulFunctionCall","src":"6833:31:1"},{"kind":"number","nodeType":"YulLiteral","src":"6866:2:1","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6829:3:1"},"nodeType":"YulFunctionCall","src":"6829:40:1"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"6819:6:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6878:29:1","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"6896:6:1"},{"name":"_1","nodeType":"YulIdentifier","src":"6904:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6892:3:1"},"nodeType":"YulFunctionCall","src":"6892:15:1"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"6882:6:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6916:13:1","value":{"name":"tail","nodeType":"YulIdentifier","src":"6925:4:1"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"6920:1:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"6987:207:1","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7008:3:1"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"7021:6:1"},{"name":"headStart","nodeType":"YulIdentifier","src":"7029:9:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7017:3:1"},"nodeType":"YulFunctionCall","src":"7017:22:1"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7045:2:1","type":"","value":"95"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"7041:3:1"},"nodeType":"YulFunctionCall","src":"7041:7:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7013:3:1"},"nodeType":"YulFunctionCall","src":"7013:36:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7001:6:1"},"nodeType":"YulFunctionCall","src":"7001:49:1"},"nodeType":"YulExpressionStatement","src":"7001:49:1"},{"nodeType":"YulAssignment","src":"7063:51:1","value":{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7098:6:1"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7092:5:1"},"nodeType":"YulFunctionCall","src":"7092:13:1"},{"name":"tail_2","nodeType":"YulIdentifier","src":"7107:6:1"}],"functionName":{"name":"abi_encode_t_bytes","nodeType":"YulIdentifier","src":"7073:18:1"},"nodeType":"YulFunctionCall","src":"7073:41:1"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"7063:6:1"}]},{"nodeType":"YulAssignment","src":"7127:25:1","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7141:6:1"},{"name":"_1","nodeType":"YulIdentifier","src":"7149:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7137:3:1"},"nodeType":"YulFunctionCall","src":"7137:15:1"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7127:6:1"}]},{"nodeType":"YulAssignment","src":"7165:19:1","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7176:3:1"},{"name":"_1","nodeType":"YulIdentifier","src":"7181:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7172:3:1"},"nodeType":"YulFunctionCall","src":"7172:12:1"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7165:3:1"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6949:1:1"},{"name":"length","nodeType":"YulIdentifier","src":"6952:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6946:2:1"},"nodeType":"YulFunctionCall","src":"6946:13:1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"6960:18:1","statements":[{"nodeType":"YulAssignment","src":"6962:14:1","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6971:1:1"},{"kind":"number","nodeType":"YulLiteral","src":"6974:1:1","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6967:3:1"},"nodeType":"YulFunctionCall","src":"6967:9:1"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"6962:1:1"}]}]},"pre":{"nodeType":"YulBlock","src":"6942:3:1","statements":[]},"src":"6938:256:1"},{"nodeType":"YulAssignment","src":"7203:14:1","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"7211:6:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7203:4:1"}]}]},"name":"abi_encode_tuple_t_uint256_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_uint256_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6504:9:1","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6515:6:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"6523:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"6534:4:1","type":""}],"src":"6346:877:1"},{"body":{"nodeType":"YulBlock","src":"7479:209:1","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7496:9:1"},{"name":"value0","nodeType":"YulIdentifier","src":"7507:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7489:6:1"},"nodeType":"YulFunctionCall","src":"7489:25:1"},"nodeType":"YulExpressionStatement","src":"7489:25:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7534:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"7545:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7530:3:1"},"nodeType":"YulFunctionCall","src":"7530:18:1"},{"name":"value1","nodeType":"YulIdentifier","src":"7550:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7523:6:1"},"nodeType":"YulFunctionCall","src":"7523:34:1"},"nodeType":"YulExpressionStatement","src":"7523:34:1"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7577:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"7588:2:1","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7573:3:1"},"nodeType":"YulFunctionCall","src":"7573:18:1"},{"kind":"number","nodeType":"YulLiteral","src":"7593:2:1","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7566:6:1"},"nodeType":"YulFunctionCall","src":"7566:30:1"},"nodeType":"YulExpressionStatement","src":"7566:30:1"},{"nodeType":"YulAssignment","src":"7605:77:1","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"7655:6:1"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7667:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"7678:2:1","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7663:3:1"},"nodeType":"YulFunctionCall","src":"7663:18:1"}],"functionName":{"name":"abi_encode_t_array$_t_struct$_Result_$dyn","nodeType":"YulIdentifier","src":"7613:41:1"},"nodeType":"YulFunctionCall","src":"7613:69:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7605:4:1"}]}]},"name":"abi_encode_tuple_t_uint256_t_bytes32_t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr__to_t_uint256_t_bytes32_t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7432:9:1","type":""},{"name":"value2","nodeType":"YulTypedName","src":"7443:6:1","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7451:6:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7459:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7470:4:1","type":""}],"src":"7228:460:1"},{"body":{"nodeType":"YulBlock","src":"7737:198:1","statements":[{"nodeType":"YulAssignment","src":"7747:19:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7763:2:1","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7757:5:1"},"nodeType":"YulFunctionCall","src":"7757:9:1"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"7747:6:1"}]},{"nodeType":"YulVariableDeclaration","src":"7775:35:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"7797:6:1"},{"name":"size","nodeType":"YulIdentifier","src":"7805:4:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7793:3:1"},"nodeType":"YulFunctionCall","src":"7793:17:1"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"7779:10:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"7885:13:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"invalid","nodeType":"YulIdentifier","src":"7887:7:1"},"nodeType":"YulFunctionCall","src":"7887:9:1"},"nodeType":"YulExpressionStatement","src":"7887:9:1"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"7828:10:1"},{"kind":"number","nodeType":"YulLiteral","src":"7840:18:1","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7825:2:1"},"nodeType":"YulFunctionCall","src":"7825:34:1"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"7864:10:1"},{"name":"memPtr","nodeType":"YulIdentifier","src":"7876:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7861:2:1"},"nodeType":"YulFunctionCall","src":"7861:22:1"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"7822:2:1"},"nodeType":"YulFunctionCall","src":"7822:62:1"},"nodeType":"YulIf","src":"7819:2:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7914:2:1","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"7918:10:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7907:6:1"},"nodeType":"YulFunctionCall","src":"7907:22:1"},"nodeType":"YulExpressionStatement","src":"7907:22:1"}]},"name":"allocateMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"7717:4:1","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"7726:6:1","type":""}],"src":"7693:242:1"},{"body":{"nodeType":"YulBlock","src":"7993:205:1","statements":[{"nodeType":"YulVariableDeclaration","src":"8003:10:1","value":{"kind":"number","nodeType":"YulLiteral","src":"8012:1:1","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"8007:1:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"8072:63:1","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8097:3:1"},{"name":"i","nodeType":"YulIdentifier","src":"8102:1:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8093:3:1"},"nodeType":"YulFunctionCall","src":"8093:11:1"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8116:3:1"},{"name":"i","nodeType":"YulIdentifier","src":"8121:1:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8112:3:1"},"nodeType":"YulFunctionCall","src":"8112:11:1"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8106:5:1"},"nodeType":"YulFunctionCall","src":"8106:18:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8086:6:1"},"nodeType":"YulFunctionCall","src":"8086:39:1"},"nodeType":"YulExpressionStatement","src":"8086:39:1"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"8033:1:1"},{"name":"length","nodeType":"YulIdentifier","src":"8036:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"8030:2:1"},"nodeType":"YulFunctionCall","src":"8030:13:1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"8044:19:1","statements":[{"nodeType":"YulAssignment","src":"8046:15:1","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"8055:1:1"},{"kind":"number","nodeType":"YulLiteral","src":"8058:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8051:3:1"},"nodeType":"YulFunctionCall","src":"8051:10:1"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"8046:1:1"}]}]},"pre":{"nodeType":"YulBlock","src":"8026:3:1","statements":[]},"src":"8022:113:1"},{"body":{"nodeType":"YulBlock","src":"8161:31:1","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"8174:3:1"},{"name":"length","nodeType":"YulIdentifier","src":"8179:6:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8170:3:1"},"nodeType":"YulFunctionCall","src":"8170:16:1"},{"kind":"number","nodeType":"YulLiteral","src":"8188:1:1","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8163:6:1"},"nodeType":"YulFunctionCall","src":"8163:27:1"},"nodeType":"YulExpressionStatement","src":"8163:27:1"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"8150:1:1"},{"name":"length","nodeType":"YulIdentifier","src":"8153:6:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8147:2:1"},"nodeType":"YulFunctionCall","src":"8147:13:1"},"nodeType":"YulIf","src":"8144:2:1"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"7971:3:1","type":""},{"name":"dst","nodeType":"YulTypedName","src":"7976:3:1","type":""},{"name":"length","nodeType":"YulTypedName","src":"7981:6:1","type":""}],"src":"7940:258:1"}]},"contents":"{\n    { }\n    function abi_decode_t_address(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_t_array$_t_struct$_Call_$dyn(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(array, array) }\n        let _1 := calldataload(offset)\n        let _2 := 0x20\n        let _3 := 0xffffffffffffffff\n        if gt(_1, _3) { invalid() }\n        let dst := allocateMemory(add(mul(_1, _2), _2))\n        let dst_1 := dst\n        mstore(dst, _1)\n        dst := add(dst, _2)\n        let src := add(offset, _2)\n        let i := array\n        for { } lt(i, _1) { i := add(i, 1) }\n        {\n            let _4 := add(offset, calldataload(src))\n            let _5 := 0x40\n            let _6 := not(31)\n            if slt(add(sub(end, _4), _6), _5) { revert(array, array) }\n            let memPtr := mload(_5)\n            let newFreePtr := add(memPtr, _5)\n            if or(gt(newFreePtr, _3), lt(newFreePtr, memPtr)) { invalid() }\n            mstore(_5, newFreePtr)\n            mstore(memPtr, abi_decode_t_address(add(_4, _2)))\n            let offset_1 := calldataload(add(_4, _5))\n            if gt(offset_1, _3) { revert(array, array) }\n            let _7 := add(_4, offset_1)\n            if iszero(slt(add(_7, 63), end)) { revert(array, array) }\n            let _8 := calldataload(add(_7, _2))\n            if gt(_8, _3) { invalid() }\n            let array_1 := allocateMemory(add(and(add(_8, 0x1f), _6), _2))\n            mstore(array_1, _8)\n            if gt(add(add(_7, _8), _5), end) { revert(array, array) }\n            calldatacopy(add(array_1, _2), add(_7, _5), _8)\n            mstore(add(add(array_1, _8), _2), array)\n            mstore(add(memPtr, _2), array_1)\n            mstore(dst, memPtr)\n            dst := add(dst, _2)\n            src := add(src, _2)\n        }\n        array := dst_1\n    }\n    function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n        value0 := abi_decode_t_address(headStart)\n    }\n    function abi_decode_tuple_t_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(value0, value0) }\n        value0 := abi_decode_t_array$_t_struct$_Call_$dyn(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_boolt_array$_t_struct$_Call_$8_memory_ptr_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(value1, value1) }\n        let value := calldataload(headStart)\n        if iszero(eq(value, iszero(iszero(value)))) { revert(value1, value1) }\n        value0 := value\n        let offset := calldataload(add(headStart, 32))\n        if gt(offset, 0xffffffffffffffff) { revert(value1, value1) }\n        value1 := abi_decode_t_array$_t_struct$_Call_$dyn(add(headStart, offset), dataEnd)\n    }\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(value0, value0) }\n        value0 := calldataload(headStart)\n    }\n    function abi_encode_t_array$_t_struct$_Result_$dyn(value, pos) -> end\n    {\n        let pos_1 := pos\n        let length := mload(value)\n        mstore(pos, length)\n        let _1 := 0x20\n        pos := add(pos, _1)\n        let tail := add(add(pos_1, mul(length, _1)), _1)\n        let srcPtr := add(value, _1)\n        let i := end\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail, pos_1), not(31)))\n            let _2 := mload(srcPtr)\n            let _3 := 0x40\n            mstore(tail, iszero(iszero(mload(_2))))\n            let memberValue0 := mload(add(_2, _1))\n            mstore(add(tail, _1), _3)\n            tail := abi_encode_t_bytes(memberValue0, add(tail, _3))\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        end := tail\n    }\n    function abi_encode_t_bytes(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        copy_memory_to_memory(add(value, 0x20), add(pos, 0x20), length)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        let length := mload(value0)\n        copy_memory_to_memory(add(value0, 0x20), pos, length)\n        end := add(pos, length)\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_t_array$_t_struct$_Result_$dyn(value0, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_stringliteral_bd97bfad63caef51f3372eed9dcabcf122404ebbb470c4fd9b09fcde78ebd3cf__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 33)\n        mstore(add(headStart, 64), \"Multicall2 aggregate: call faile\")\n        mstore(add(headStart, 96), \"d\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_f00f29c42686fd9baf65b5bd8fa63c642ded98b2f947cb8aeb6a004fb9f654ec__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 32)\n        mstore(add(headStart, 64), \"Multicall aggregate: call failed\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_uint256_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_uint256_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        let tail_1 := add(headStart, 64)\n        mstore(headStart, value0)\n        let _1 := 32\n        mstore(add(headStart, _1), 64)\n        let pos := tail_1\n        let length := mload(value1)\n        mstore(tail_1, length)\n        pos := add(headStart, 96)\n        let tail_2 := add(add(headStart, mul(length, _1)), 96)\n        let srcPtr := add(value1, _1)\n        let i := tail\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(95)))\n            tail_2 := abi_encode_t_bytes(mload(srcPtr), tail_2)\n            srcPtr := add(srcPtr, _1)\n            pos := add(pos, _1)\n        }\n        tail := tail_2\n    }\n    function abi_encode_tuple_t_uint256_t_bytes32_t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr__to_t_uint256_t_bytes32_t_array$_t_struct$_Result_$13_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), 96)\n        tail := abi_encode_t_array$_t_struct$_Result_$dyn(value2, add(headStart, 96))\n    }\n    function allocateMemory(size) -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, size)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { invalid() }\n        mstore(64, newFreePtr)\n    }\n    function copy_memory_to_memory(src, dst, length)\n    {\n        let i := 0\n        for { } lt(i, length) { i := add(i, 32) }\n        {\n            mstore(add(dst, i), mload(add(src, i)))\n        }\n        if gt(i, length) { mstore(add(dst, length), 0) }\n    }\n}","id":1,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100b45760003560e01c806386d516e81161007157806386d516e814610132578063a8b0574e1461013a578063bce38bd71461014f578063c3077fa91461016f578063cc4c6e1914610182578063ee82ac5e14610195576100b4565b80630f28c97d146100b9578063252dba42146100d757806327e86d6e146100f8578063399542e91461010057806342cbb15c1461012257806372425d9d1461012a575b600080fd5b6100c16101a8565b6040516100ce9190610785565b60405180910390f35b6100ea6100e5366004610605565b6101ac565b6040516100ce929190610804565b6100c16102ea565b61011361010e366004610640565b6102f3565b6040516100ce9392919061086c565b6100c161030b565b6100c161030f565b6100c1610313565b610142610317565b6040516100ce919061075e565b61016261015d366004610640565b61031b565b6040516100ce9190610772565b61011361017d366004610605565b610470565b6100c16101903660046105e4565b61048d565b6100c16101a3366004610692565b61049a565b4290565b8051439060609067ffffffffffffffff811180156101c957600080fd5b506040519080825280602002602001820160405280156101fd57816020015b60608152602001906001900390816101e85790505b50905060005b83518110156102e45760008085838151811061021b57fe5b6020026020010151600001516001600160a01b031686848151811061023c57fe5b6020026020010151602001516040516102559190610742565b6000604051808303816000865af19150503d8060008114610292576040519150601f19603f3d011682016040523d82523d6000602084013e610297565b606091505b5091509150816102c25760405162461bcd60e51b81526004016102b9906107cf565b60405180910390fd5b808484815181106102cf57fe5b60209081029190910101525050600101610203565b50915091565b60001943014090565b4380406060610302858561031b565b90509250925092565b4390565b4490565b4590565b4190565b6060815167ffffffffffffffff8111801561033557600080fd5b5060405190808252806020026020018201604052801561036f57816020015b61035c61049e565b8152602001906001900390816103545790505b50905060005b82518110156104695760008084838151811061038d57fe5b6020026020010151600001516001600160a01b03168584815181106103ae57fe5b6020026020010151602001516040516103c79190610742565b6000604051808303816000865af19150503d8060008114610404576040519150601f19603f3d011682016040523d82523d6000602084013e610409565b606091505b5091509150851561043157816104315760405162461bcd60e51b81526004016102b99061078e565b604051806040016040528083151581526020018281525084848151811061045457fe5b60209081029190910101525050600101610375565b5092915050565b60008060606104806001856102f3565b9196909550909350915050565b6001600160a01b03163190565b4090565b60408051808201909152600081526060602082015290565b80356001600160a01b03811681146104cd57600080fd5b919050565b600082601f8301126104e2578081fd5b8135602067ffffffffffffffff808311156104f957fe5b6105068283850201610894565b83815282810190868401865b868110156105d657813589016040601f198181848f03011215610533578a8bfd5b81518281018181108a8211171561054657fe5b8352610553848b016104b6565b81528284013589811115610565578c8dfd5b8085019450508d603f850112610579578b8cfd5b898401358981111561058757fe5b6105978b84601f84011601610894565b92508083528e848287010111156105ac578c8dfd5b808486018c85013782018a018c9052808a0191909152865250509285019290850190600101610512565b509098975050505050505050565b6000602082840312156105f5578081fd5b6105fe826104b6565b9392505050565b600060208284031215610616578081fd5b813567ffffffffffffffff81111561062c578182fd5b610638848285016104d2565b949350505050565b60008060408385031215610652578081fd5b82358015158114610661578182fd5b9150602083013567ffffffffffffffff81111561067c578182fd5b610688858286016104d2565b9150509250929050565b6000602082840312156106a3578081fd5b5035919050565b60008282518085526020808601955080818302840101818601855b8481101561070957858303601f19018952815180511515845284015160408585018190526106f581860183610716565b9a86019a94505050908301906001016106c5565b5090979650505050505050565b6000815180845261072e8160208601602086016108b8565b601f01601f19169290920160200192915050565b600082516107548184602087016108b8565b9190910192915050565b6001600160a01b0391909116815260200190565b6000602082526105fe60208301846106aa565b90815260200190565b60208082526021908201527f4d756c746963616c6c32206167677265676174653a2063616c6c206661696c656040820152601960fa1b606082015260800190565b6020808252818101527f4d756c746963616c6c206167677265676174653a2063616c6c206661696c6564604082015260600190565b600060408201848352602060408185015281855180845260608601915060608382028701019350828701855b8281101561085e57605f1988870301845261084c868351610716565b95509284019290840190600101610830565b509398975050505050505050565b60008482528360208301526060604083015261088b60608301846106aa565b95945050505050565b60405181810167ffffffffffffffff811182821017156108b057fe5b604052919050565b60005b838110156108d35781810151838201526020016108bb565b838111156108e2576000848401525b5050505056fea2646970667358221220c7166feb0b164dcfef87aef9f4ec637e7b1d39c00417ab444a5d98800ce1179f64736f6c63430007060033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xB4 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x86D516E8 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x86D516E8 EQ PUSH2 0x132 JUMPI DUP1 PUSH4 0xA8B0574E EQ PUSH2 0x13A JUMPI DUP1 PUSH4 0xBCE38BD7 EQ PUSH2 0x14F JUMPI DUP1 PUSH4 0xC3077FA9 EQ PUSH2 0x16F JUMPI DUP1 PUSH4 0xCC4C6E19 EQ PUSH2 0x182 JUMPI DUP1 PUSH4 0xEE82AC5E EQ PUSH2 0x195 JUMPI PUSH2 0xB4 JUMP JUMPDEST DUP1 PUSH4 0xF28C97D EQ PUSH2 0xB9 JUMPI DUP1 PUSH4 0x252DBA42 EQ PUSH2 0xD7 JUMPI DUP1 PUSH4 0x27E86D6E EQ PUSH2 0xF8 JUMPI DUP1 PUSH4 0x399542E9 EQ PUSH2 0x100 JUMPI DUP1 PUSH4 0x42CBB15C EQ PUSH2 0x122 JUMPI DUP1 PUSH4 0x72425D9D EQ PUSH2 0x12A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC1 PUSH2 0x1A8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP2 SWAP1 PUSH2 0x785 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEA PUSH2 0xE5 CALLDATASIZE PUSH1 0x4 PUSH2 0x605 JUMP JUMPDEST PUSH2 0x1AC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP3 SWAP2 SWAP1 PUSH2 0x804 JUMP JUMPDEST PUSH2 0xC1 PUSH2 0x2EA JUMP JUMPDEST PUSH2 0x113 PUSH2 0x10E CALLDATASIZE PUSH1 0x4 PUSH2 0x640 JUMP JUMPDEST PUSH2 0x2F3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x86C JUMP JUMPDEST PUSH2 0xC1 PUSH2 0x30B JUMP JUMPDEST PUSH2 0xC1 PUSH2 0x30F JUMP JUMPDEST PUSH2 0xC1 PUSH2 0x313 JUMP JUMPDEST PUSH2 0x142 PUSH2 0x317 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP2 SWAP1 PUSH2 0x75E JUMP JUMPDEST PUSH2 0x162 PUSH2 0x15D CALLDATASIZE PUSH1 0x4 PUSH2 0x640 JUMP JUMPDEST PUSH2 0x31B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP2 SWAP1 PUSH2 0x772 JUMP JUMPDEST PUSH2 0x113 PUSH2 0x17D CALLDATASIZE PUSH1 0x4 PUSH2 0x605 JUMP JUMPDEST PUSH2 0x470 JUMP JUMPDEST PUSH2 0xC1 PUSH2 0x190 CALLDATASIZE PUSH1 0x4 PUSH2 0x5E4 JUMP JUMPDEST PUSH2 0x48D JUMP JUMPDEST PUSH2 0xC1 PUSH2 0x1A3 CALLDATASIZE PUSH1 0x4 PUSH2 0x692 JUMP JUMPDEST PUSH2 0x49A JUMP JUMPDEST TIMESTAMP SWAP1 JUMP JUMPDEST DUP1 MLOAD NUMBER SWAP1 PUSH1 0x60 SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP1 ISZERO PUSH2 0x1C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1FD JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x1E8 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP4 MLOAD DUP2 LT ISZERO PUSH2 0x2E4 JUMPI PUSH1 0x0 DUP1 DUP6 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x21B JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x23C JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x20 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x255 SWAP2 SWAP1 PUSH2 0x742 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x292 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x297 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x2C2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2B9 SWAP1 PUSH2 0x7CF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x2CF JUMPI INVALID JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE POP POP PUSH1 0x1 ADD PUSH2 0x203 JUMP JUMPDEST POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x0 NOT NUMBER ADD BLOCKHASH SWAP1 JUMP JUMPDEST NUMBER DUP1 BLOCKHASH PUSH1 0x60 PUSH2 0x302 DUP6 DUP6 PUSH2 0x31B JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST NUMBER SWAP1 JUMP JUMPDEST DIFFICULTY SWAP1 JUMP JUMPDEST GASLIMIT SWAP1 JUMP JUMPDEST COINBASE SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP1 ISZERO PUSH2 0x335 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x36F JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0x35C PUSH2 0x49E JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x354 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH1 0x0 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x469 JUMPI PUSH1 0x0 DUP1 DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x38D JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x3AE JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x20 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x3C7 SWAP2 SWAP1 PUSH2 0x742 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x404 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x409 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP6 ISZERO PUSH2 0x431 JUMPI DUP2 PUSH2 0x431 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2B9 SWAP1 PUSH2 0x78E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x454 JUMPI INVALID JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD ADD MSTORE POP POP PUSH1 0x1 ADD PUSH2 0x375 JUMP JUMPDEST POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x60 PUSH2 0x480 PUSH1 0x1 DUP6 PUSH2 0x2F3 JUMP JUMPDEST SWAP2 SWAP7 SWAP1 SWAP6 POP SWAP1 SWAP4 POP SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND BALANCE SWAP1 JUMP JUMPDEST BLOCKHASH SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE PUSH1 0x60 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x4CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x4E2 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP4 GT ISZERO PUSH2 0x4F9 JUMPI INVALID JUMPDEST PUSH2 0x506 DUP3 DUP4 DUP6 MUL ADD PUSH2 0x894 JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 DUP2 ADD SWAP1 DUP7 DUP5 ADD DUP7 JUMPDEST DUP7 DUP2 LT ISZERO PUSH2 0x5D6 JUMPI DUP2 CALLDATALOAD DUP10 ADD PUSH1 0x40 PUSH1 0x1F NOT DUP2 DUP2 DUP5 DUP16 SUB ADD SLT ISZERO PUSH2 0x533 JUMPI DUP11 DUP12 REVERT JUMPDEST DUP2 MLOAD DUP3 DUP2 ADD DUP2 DUP2 LT DUP11 DUP3 GT OR ISZERO PUSH2 0x546 JUMPI INVALID JUMPDEST DUP4 MSTORE PUSH2 0x553 DUP5 DUP12 ADD PUSH2 0x4B6 JUMP JUMPDEST DUP2 MSTORE DUP3 DUP5 ADD CALLDATALOAD DUP10 DUP2 GT ISZERO PUSH2 0x565 JUMPI DUP13 DUP14 REVERT JUMPDEST DUP1 DUP6 ADD SWAP5 POP POP DUP14 PUSH1 0x3F DUP6 ADD SLT PUSH2 0x579 JUMPI DUP12 DUP13 REVERT JUMPDEST DUP10 DUP5 ADD CALLDATALOAD DUP10 DUP2 GT ISZERO PUSH2 0x587 JUMPI INVALID JUMPDEST PUSH2 0x597 DUP12 DUP5 PUSH1 0x1F DUP5 ADD AND ADD PUSH2 0x894 JUMP JUMPDEST SWAP3 POP DUP1 DUP4 MSTORE DUP15 DUP5 DUP3 DUP8 ADD ADD GT ISZERO PUSH2 0x5AC JUMPI DUP13 DUP14 REVERT JUMPDEST DUP1 DUP5 DUP7 ADD DUP13 DUP6 ADD CALLDATACOPY DUP3 ADD DUP11 ADD DUP13 SWAP1 MSTORE DUP1 DUP11 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP7 MSTORE POP POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x512 JUMP JUMPDEST POP SWAP1 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5F5 JUMPI DUP1 DUP2 REVERT JUMPDEST PUSH2 0x5FE DUP3 PUSH2 0x4B6 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x616 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x62C JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x638 DUP5 DUP3 DUP6 ADD PUSH2 0x4D2 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x652 JUMPI DUP1 DUP2 REVERT JUMPDEST DUP3 CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x661 JUMPI DUP2 DUP3 REVERT JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x67C JUMPI DUP2 DUP3 REVERT JUMPDEST PUSH2 0x688 DUP6 DUP3 DUP7 ADD PUSH2 0x4D2 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x6A3 JUMPI DUP1 DUP2 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MLOAD DUP1 DUP6 MSTORE PUSH1 0x20 DUP1 DUP7 ADD SWAP6 POP DUP1 DUP2 DUP4 MUL DUP5 ADD ADD DUP2 DUP7 ADD DUP6 JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x709 JUMPI DUP6 DUP4 SUB PUSH1 0x1F NOT ADD DUP10 MSTORE DUP2 MLOAD DUP1 MLOAD ISZERO ISZERO DUP5 MSTORE DUP5 ADD MLOAD PUSH1 0x40 DUP6 DUP6 ADD DUP2 SWAP1 MSTORE PUSH2 0x6F5 DUP2 DUP7 ADD DUP4 PUSH2 0x716 JUMP JUMPDEST SWAP11 DUP7 ADD SWAP11 SWAP5 POP POP POP SWAP1 DUP4 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x6C5 JUMP JUMPDEST POP SWAP1 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x72E DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x8B8 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x754 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x8B8 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 MSTORE PUSH2 0x5FE PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x6AA JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x21 SWAP1 DUP3 ADD MSTORE PUSH32 0x4D756C746963616C6C32206167677265676174653A2063616C6C206661696C65 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0xFA SHL PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x4D756C746963616C6C206167677265676174653A2063616C6C206661696C6564 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD DUP5 DUP4 MSTORE PUSH1 0x20 PUSH1 0x40 DUP2 DUP6 ADD MSTORE DUP2 DUP6 MLOAD DUP1 DUP5 MSTORE PUSH1 0x60 DUP7 ADD SWAP2 POP PUSH1 0x60 DUP4 DUP3 MUL DUP8 ADD ADD SWAP4 POP DUP3 DUP8 ADD DUP6 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x85E JUMPI PUSH1 0x5F NOT DUP9 DUP8 SUB ADD DUP5 MSTORE PUSH2 0x84C DUP7 DUP4 MLOAD PUSH2 0x716 JUMP JUMPDEST SWAP6 POP SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x830 JUMP JUMPDEST POP SWAP4 SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP5 DUP3 MSTORE DUP4 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x88B PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x6AA JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x8B0 JUMPI INVALID JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x8D3 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x8BB JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x8E2 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC7 AND PUSH16 0xEB0B164DCFEF87AEF9F4EC637E7B1D39 0xC0 DIV OR 0xAB DIFFICULTY 0x4A 0x5D SWAP9 DUP1 0xC 0xE1 OR SWAP16 PUSH5 0x736F6C6343 STOP SMOD MOD STOP CALLER ","sourceMap":"284:2654:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1771:120;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;470:444;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;2015:124::-;;;:::i;2634:302::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;1284:111::-;;;:::i;1521:124::-;;;:::i;1650:116::-;;;:::i;1400:::-;;;:::i;:::-;;;;;;;:::i;2144:485::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;919:221::-;;;;;;:::i;:::-;;:::i;1896:114::-;;;;;;:::i;:::-;;:::i;1145:134::-;;;;;;:::i;:::-;;:::i;1771:120::-;1869:15;;1771:120::o;470:444::-;645:12;;598;;547:25;;633;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;620:38;;672:9;668:240;691:5;:12;687:1;:16;668:240;;;725:12;739:16;759:5;765:1;759:8;;;;;;;;;;;;;;:15;;;-1:-1:-1;;;;;759:20:0;780:5;786:1;780:8;;;;;;;;;;;;;;:17;;;759:39;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;724:74;;;;820:7;812:52;;;;-1:-1:-1;;;812:52:0;;;;;;;:::i;:::-;;;;;;;;;894:3;878:10;889:1;878:13;;;;;;;;;;;;;;;;;:19;-1:-1:-1;;705:3:0;;668:240;;;;470:444;;;:::o;2015:124::-;-1:-1:-1;;2115:12:0;:16;2105:27;;2015:124::o;2634:302::-;2814:12;2848:23;;2762:26;2894:35;2907:14;2923:5;2894:12;:35::i;:::-;2881:48;;2634:302;;;;;:::o;1284:111::-;1376:12;;1284:111::o;1521:124::-;1622:16;;1521:124::o;1650:116::-;1745:14;;1650:116::o;1400:::-;1495:14;;1400:116::o;2144:485::-;2224:26;2288:5;:12;2275:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2262:39;;2315:9;2311:312;2334:5;:12;2330:1;:16;2311:312;;;2368:12;2382:16;2402:5;2408:1;2402:8;;;;;;;;;;;;;;:15;;;-1:-1:-1;;;;;2402:20:0;2423:5;2429:1;2423:8;;;;;;;;;;;;;;:17;;;2402:39;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2367:74;;;;2460:14;2456:106;;;2502:7;2494:53;;;;-1:-1:-1;;;2494:53:0;;;;;;;:::i;:::-;2592:20;;;;;;;;2599:7;2592:20;;;;;;2608:3;2592:20;;;2576:10;2587:1;2576:13;;;;;;;;;;;;;;;;;:36;-1:-1:-1;;2348:3:0;;2311:312;;;;2144:485;;;;:::o;919:221::-;983:19;1004:17;1023:26;1100:33;1121:4;1127:5;1100:20;:33::i;:::-;1061:72;;;;-1:-1:-1;1061:72:0;;-1:-1:-1;919:221:0;-1:-1:-1;;919:221:0:o;1896:114::-;-1:-1:-1;;;;;1991:12:0;;;1896:114::o;1145:134::-;1250:22;;1145:134::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;14:175:1:-;84:20;;-1:-1:-1;;;;;133:31:1;;123:42;;113:2;;179:1;176;169:12;113:2;65:124;;;:::o;194:1744::-;;312:3;305:4;297:6;293:17;289:27;279:2;;334:5;327;320:20;279:2;374:6;361:20;400:4;423:18;460:2;456;453:10;450:2;;;466:9;450:2;497:36;529:2;524;520;516:11;512:20;497:36;:::i;:::-;567:15;;;598:12;;;;630:15;;;663:5;677:1232;691:2;688:1;685:9;677:1232;;;771:3;758:17;750:6;746:30;799:4;830:2;826:7;876:2;871;866;861:3;857:12;853:21;849:30;846:2;;;896:5;889;882:20;846:2;937;931:9;983:2;975:6;971:15;1040:6;1028:10;1025:22;1020:2;1008:10;1005:18;1002:46;999:2;;;1051:9;999:2;1075:22;;1125:33;1146:11;;;1125:33;:::i;:::-;1117:6;1110:49;1209:2;1205;1201:11;1188:25;1242:2;1232:8;1229:16;1226:2;;;1262:5;1255;1248:20;1226:2;1301:8;1297:2;1293:17;1283:27;;;1350:3;1345:2;1341;1337:11;1333:21;1323:2;;1372:5;1365;1358:20;1323:2;1424;1420;1416:11;1403:25;1451:2;1447;1444:10;1441:2;;;1457:9;1441:2;1496:47;1539:2;1534;1527:4;1523:2;1519:13;1515:22;1511:31;1496:47;:::i;:::-;1481:62;;1572:2;1563:7;1556:19;1616:3;1611:2;1606;1602;1598:11;1594:20;1591:29;1588:2;;;1637:5;1630;1623:20;1588:2;1702;1697;1693;1689:11;1684:2;1675:7;1671:16;1658:47;1729:16;;1725:25;;1718:40;;;1778:15;;;1771:32;;;;1816:19;;-1:-1:-1;;1855:12:1;;;;1887;;;;709:1;702:9;677:1232;;;-1:-1:-1;1927:5:1;;269:1669;-1:-1:-1;;;;;;;;269:1669:1:o;1943:198::-;;2055:2;2043:9;2034:7;2030:23;2026:32;2023:2;;;2076:6;2068;2061:22;2023:2;2104:31;2125:9;2104:31;:::i;:::-;2094:41;2013:128;-1:-1:-1;;;2013:128:1:o;2146:398::-;;2302:2;2290:9;2281:7;2277:23;2273:32;2270:2;;;2323:6;2315;2308:22;2270:2;2368:9;2355:23;2401:18;2393:6;2390:30;2387:2;;;2438:6;2430;2423:22;2387:2;2466:72;2530:7;2521:6;2510:9;2506:22;2466:72;:::i;:::-;2456:82;2260:284;-1:-1:-1;;;;2260:284:1:o;2549:569::-;;;2719:2;2707:9;2698:7;2694:23;2690:32;2687:2;;;2740:6;2732;2725:22;2687:2;2784:9;2771:23;2837:5;2830:13;2823:21;2816:5;2813:32;2803:2;;2864:6;2856;2849:22;2803:2;2892:5;-1:-1:-1;2948:2:1;2933:18;;2920:32;2975:18;2964:30;;2961:2;;;3012:6;3004;2997:22;2961:2;3040:72;3104:7;3095:6;3084:9;3080:22;3040:72;:::i;:::-;3030:82;;;2677:441;;;;;:::o;3123:190::-;;3235:2;3223:9;3214:7;3210:23;3206:32;3203:2;;;3256:6;3248;3241:22;3203:2;-1:-1:-1;3284:23:1;;3193:120;-1:-1:-1;3193:120:1:o;3318:822::-;;3415:3;3447:5;3441:12;3474:6;3469:3;3462:19;3500:4;3529:2;3524:3;3520:12;3513:19;;3586:2;3580;3572:6;3568:15;3561:5;3557:27;3553:36;3623:2;3616:5;3612:14;3644:3;3656:458;3670:6;3667:1;3664:13;3656:458;;;3735:16;;;-1:-1:-1;;3731:30:1;3719:43;;3785:13;;3865:9;;3858:17;3851:25;3838:39;;3916:11;;3910:18;3821:4;3948:13;;;3941:25;;;3987:47;4020:13;;;3910:18;3987:47;:::i;:::-;4092:12;;;;3979:55;-1:-1:-1;;;4057:15:1;;;;3692:1;3685:9;3656:458;;;-1:-1:-1;4130:4:1;;3392:748;-1:-1:-1;;;;;;;3392:748:1:o;4145:259::-;;4226:5;4220:12;4253:6;4248:3;4241:19;4269:63;4325:6;4318:4;4313:3;4309:14;4302:4;4295:5;4291:16;4269:63;:::i;:::-;4386:2;4365:15;-1:-1:-1;;4361:29:1;4352:39;;;;4393:4;4348:50;;4196:208;-1:-1:-1;;4196:208:1:o;4409:274::-;;4576:6;4570:13;4592:53;4638:6;4633:3;4626:4;4618:6;4614:17;4592:53;:::i;:::-;4661:16;;;;;4546:137;-1:-1:-1;;4546:137:1:o;4688:203::-;-1:-1:-1;;;;;4852:32:1;;;;4834:51;;4822:2;4807:18;;4789:102::o;4896:318::-;;5119:2;5108:9;5101:21;5139:69;5204:2;5193:9;5189:18;5181:6;5139:69;:::i;5219:177::-;5365:25;;;5353:2;5338:18;;5320:76::o;5401:397::-;5603:2;5585:21;;;5642:2;5622:18;;;5615:30;5681:34;5676:2;5661:18;;5654:62;-1:-1:-1;;;5747:2:1;5732:18;;5725:31;5788:3;5773:19;;5575:223::o;5803:356::-;6005:2;5987:21;;;6024:18;;;6017:30;6083:34;6078:2;6063:18;;6056:62;6150:2;6135:18;;5977:182::o;6346:877::-;;6582:2;6571:9;6567:18;6612:6;6601:9;6594:25;6638:2;6676;6671;6660:9;6656:18;6649:30;6699:6;6734;6728:13;6765:6;6757;6750:22;6803:2;6792:9;6788:18;6781:25;;6866:2;6860;6852:6;6848:15;6837:9;6833:31;6829:40;6815:54;;6904:2;6896:6;6892:15;6925:4;6938:256;6952:6;6949:1;6946:13;6938:256;;;7045:2;7041:7;7029:9;7021:6;7017:22;7013:36;7008:3;7001:49;7073:41;7107:6;7098;7092:13;7073:41;:::i;:::-;7063:51;-1:-1:-1;7172:12:1;;;;7137:15;;;;6974:1;6967:9;6938:256;;;-1:-1:-1;7211:6:1;;6543:680;-1:-1:-1;;;;;;;;6543:680:1:o;7228:460::-;;7507:6;7496:9;7489:25;7550:6;7545:2;7534:9;7530:18;7523:34;7593:2;7588;7577:9;7573:18;7566:30;7613:69;7678:2;7667:9;7663:18;7655:6;7613:69;:::i;:::-;7605:77;7479:209;-1:-1:-1;;;;;7479:209:1:o;7693:242::-;7763:2;7757:9;7793:17;;;7840:18;7825:34;;7861:22;;;7822:62;7819:2;;;7887:9;7819:2;7914;7907:22;7737:198;;-1:-1:-1;7737:198:1:o;7940:258::-;8012:1;8022:113;8036:6;8033:1;8030:13;8022:113;;;8112:11;;;8106:18;8093:11;;;8086:39;8058:2;8051:10;8022:113;;;8153:6;8150:1;8147:13;8144:2;;;8188:1;8179:6;8174:3;8170:16;8163:27;8144:2;;7993:205;;;:::o"},"methodIdentifiers":{"aggregate((address,bytes)[])":"252dba42","blockAndAggregate((address,bytes)[])":"c3077fa9","getAMBBalance(address)":"cc4c6e19","getBlockHash(uint256)":"ee82ac5e","getBlockNumber()":"42cbb15c","getCurrentBlockCoinbase()":"a8b0574e","getCurrentBlockDifficulty()":"72425d9d","getCurrentBlockGasLimit()":"86d516e8","getCurrentBlockTimestamp()":"0f28c97d","getLastBlockHash()":"27e86d6e","tryAggregate(bool,(address,bytes)[])":"bce38bd7","tryBlockAndAggregate(bool,(address,bytes)[])":"399542e9"}},"metadata":"{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct AstraInterfaceMulticall.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct AstraInterfaceMulticall.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct AstraInterfaceMulticall.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getAMBBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct AstraInterfaceMulticall.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct AstraInterfaceMulticall.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct AstraInterfaceMulticall.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct AstraInterfaceMulticall.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Michael Elliot <mike@makerdao.com>Joshua Levine <joshua@makerdao.com>Nick Johnson <arachnid@notdot.net>\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Multicall2 - Aggregate results from multiple read-only function calls\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/multicall/AstraInterfaceMulticall.sol\":\"AstraInterfaceMulticall\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/multicall/AstraInterfaceMulticall.sol\":{\"keccak256\":\"0x619c9ee063040aa30d6a91939aae759f661564b0ff97d0593c481ecc8c8bfedc\",\"urls\":[\"bzz-raw://493a546557f35d2b9db97f55f2ff748b8c56bbfdfcc7b219296e9662548eb652\",\"dweb:/ipfs/QmaZsXQpcMTaqLaTXbYXeR8mcsgozaDYmhiJGPD7Q4Tz19\"]}},\"version\":1}"}}}}}