Skip to content

Instantly share code, notes, and snippets.

@codinghistorian
Created October 14, 2023 05:15
Show Gist options
  • Select an option

  • Save codinghistorian/34d14362a044c55658f10ca44b3d578b to your computer and use it in GitHub Desktop.

Select an option

Save codinghistorian/34d14362a044c55658f10ca44b3d578b to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.18+commit.87f61d96.js&optimize=false&runs=200&gist=
{
"overrides": [
{
"files": "*.sol",
"options": {
"printWidth": 80,
"tabWidth": 4,
"useTabs": false,
"singleQuote": false,
"bracketSpacing": false
}
},
{
"files": "*.yml",
"options": {}
},
{
"files": "*.yaml",
"options": {}
},
{
"files": "*.toml",
"options": {}
},
{
"files": "*.json",
"options": {}
},
{
"files": "*.js",
"options": {}
},
{
"files": "*.ts",
"options": {}
}
]
}
REMIX DEFAULT WORKSPACE
Remix default workspace is present when:
i. Remix loads for the very first time
ii. A new workspace is created with 'Default' template
iii. There are no files existing in the File Explorer
This workspace contains 3 directories:
1. 'contracts': Holds three contracts with increasing levels of complexity.
2. 'scripts': Contains four typescript files to deploy a contract. It is explained below.
3. 'tests': Contains one Solidity test file for 'Ballot' contract & one JS test file for 'Storage' contract.
SCRIPTS
The 'scripts' folder has four typescript files which help to deploy the 'Storage' contract using 'web3.js' and 'ethers.js' libraries.
For the deployment of any other contract, just update the contract's name from 'Storage' to the desired contract and provide constructor arguments accordingly
in the file `deploy_with_ethers.ts` or `deploy_with_web3.ts`
In the 'tests' folder there is a script containing Mocha-Chai unit tests for 'Storage' contract.
To run a script, right click on file name in the file explorer and click 'Run'. Remember, Solidity file must already be compiled.
Output from script will appear in remix terminal.
Please note, require/import is supported in a limited manner for Remix supported modules.
For now, modules supported by Remix are ethers, web3, swarmgw, chai, multihashes, remix and hardhat only for hardhat.ethers object/plugin.
For unsupported modules, an error like this will be thrown: '<module_name> module require is not supported by Remix IDE' will be shown.
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.8.2 <0.9.0;
interface IERC20 {
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
}
contract AttackAdapter{
address public collateralToken;
uint256 public counter;
constructor(address _collateralToken) {
collateralToken = _collateralToken;
}
function deposit(address _positionAddress, uint256 _value, bytes32 _data ) external {
IERC20(collateralToken).transferFrom(msg.sender, address(this), _value);
}
function onAdjustPosition(address src, address dst, int256 collateralValue, int256 debtShare, bytes calldata data) external {
counter++;
}
}
// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity 0.8.17;
interface IERC20 {
function balanceOf(address _owner) external view returns (uint256);
function approve(address _spender, uint256 amount) external;
function mint(address _to, uint256 _amount) external;
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_27": {
"entryPoint": null,
"id": 27,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_address_fromMemory": {
"entryPoint": 198,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address_fromMemory": {
"entryPoint": 219,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 157,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 125,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 120,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 175,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1199:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "404:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "411:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "400:3:1"
},
"nodeType": "YulFunctionCall",
"src": "400:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "511:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "521:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "550:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "532:17:1"
},
"nodeType": "YulFunctionCall",
"src": "532:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "521:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "493:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "503:7:1",
"type": ""
}
],
"src": "466:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "611:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "668:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "677:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "680:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "670:6:1"
},
"nodeType": "YulFunctionCall",
"src": "670:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "670:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "634:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "659:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "641:17:1"
},
"nodeType": "YulFunctionCall",
"src": "641:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "631:2:1"
},
"nodeType": "YulFunctionCall",
"src": "631:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "624:6:1"
},
"nodeType": "YulFunctionCall",
"src": "624:43:1"
},
"nodeType": "YulIf",
"src": "621:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "604:5:1",
"type": ""
}
],
"src": "568:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "759:80:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "769:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "784:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "778:5:1"
},
"nodeType": "YulFunctionCall",
"src": "778:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "769:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "827:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "800:26:1"
},
"nodeType": "YulFunctionCall",
"src": "800:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "800:33:1"
}
]
},
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "737:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "745:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "753:5:1",
"type": ""
}
],
"src": "696:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "922:274:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "968:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "970:77:1"
},
"nodeType": "YulFunctionCall",
"src": "970:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "970:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "943:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "952:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "939:3:1"
},
"nodeType": "YulFunctionCall",
"src": "939:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "964:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "935:3:1"
},
"nodeType": "YulFunctionCall",
"src": "935:32:1"
},
"nodeType": "YulIf",
"src": "932:119:1"
},
{
"nodeType": "YulBlock",
"src": "1061:128:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1076:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1090:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1080:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1105:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1151:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1162:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1147:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1147:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1171:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulIdentifier",
"src": "1115:31:1"
},
"nodeType": "YulFunctionCall",
"src": "1115:64:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1105:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "892:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "903:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "915:6:1",
"type": ""
}
],
"src": "845:351:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506040516106c53803806106c5833981810160405281019061003291906100db565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610108565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100a88261007d565b9050919050565b6100b88161009d565b81146100c357600080fd5b50565b6000815190506100d5816100af565b92915050565b6000602082840312156100f1576100f0610078565b5b60006100ff848285016100c6565b91505092915050565b6105ae806101176000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806326b3293f1461005157806361bc221a1461006d578063b2016bd41461008b578063f77c4036146100a9575b600080fd5b61006b60048036038101906100669190610289565b6100c5565b005b61007561016b565b60405161008291906102eb565b60405180910390f35b610093610171565b6040516100a09190610315565b60405180910390f35b6100c360048036038101906100be91906103cb565b610195565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b815260040161012293929190610465565b6020604051808303816000875af1158015610141573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016591906104d4565b50505050565b60015481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160008154809291906101a890610530565b9190505550505050505050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101ea826101bf565b9050919050565b6101fa816101df565b811461020557600080fd5b50565b600081359050610217816101f1565b92915050565b6000819050919050565b6102308161021d565b811461023b57600080fd5b50565b60008135905061024d81610227565b92915050565b6000819050919050565b61026681610253565b811461027157600080fd5b50565b6000813590506102838161025d565b92915050565b6000806000606084860312156102a2576102a16101b5565b5b60006102b086828701610208565b93505060206102c18682870161023e565b92505060406102d286828701610274565b9150509250925092565b6102e58161021d565b82525050565b600060208201905061030060008301846102dc565b92915050565b61030f816101df565b82525050565b600060208201905061032a6000830184610306565b92915050565b6000819050919050565b61034381610330565b811461034e57600080fd5b50565b6000813590506103608161033a565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261038b5761038a610366565b5b8235905067ffffffffffffffff8111156103a8576103a761036b565b5b6020830191508360018202830111156103c4576103c3610370565b5b9250929050565b60008060008060008060a087890312156103e8576103e76101b5565b5b60006103f689828a01610208565b965050602061040789828a01610208565b955050604061041889828a01610351565b945050606061042989828a01610351565b935050608087013567ffffffffffffffff81111561044a576104496101ba565b5b61045689828a01610375565b92509250509295509295509295565b600060608201905061047a6000830186610306565b6104876020830185610306565b61049460408301846102dc565b949350505050565b60008115159050919050565b6104b18161049c565b81146104bc57600080fd5b50565b6000815190506104ce816104a8565b92915050565b6000602082840312156104ea576104e96101b5565b5b60006104f8848285016104bf565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061053b8261021d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361056d5761056c610501565b5b60018201905091905056fea26469706673582212203b249e175ca62b1d65bea93bbbd7468ab3fd160fa55224a806b0cd6cace2e2f464736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x6C5 CODESIZE SUB DUP1 PUSH2 0x6C5 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0xDB JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP PUSH2 0x108 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA8 DUP3 PUSH2 0x7D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB8 DUP2 PUSH2 0x9D JUMP JUMPDEST DUP2 EQ PUSH2 0xC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xD5 DUP2 PUSH2 0xAF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF1 JUMPI PUSH2 0xF0 PUSH2 0x78 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFF DUP5 DUP3 DUP6 ADD PUSH2 0xC6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x5AE DUP1 PUSH2 0x117 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 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x26B3293F EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x61BC221A EQ PUSH2 0x6D JUMPI DUP1 PUSH4 0xB2016BD4 EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xF77C4036 EQ PUSH2 0xA9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x289 JUMP JUMPDEST PUSH2 0xC5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x75 PUSH2 0x16B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x82 SWAP2 SWAP1 PUSH2 0x2EB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x93 PUSH2 0x171 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x315 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xBE SWAP2 SWAP1 PUSH2 0x3CB JUMP JUMPDEST PUSH2 0x195 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x23B872DD CALLER ADDRESS DUP6 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x122 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x465 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x141 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x165 SWAP2 SWAP1 PUSH2 0x4D4 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x1A8 SWAP1 PUSH2 0x530 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EA DUP3 PUSH2 0x1BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FA DUP2 PUSH2 0x1DF JUMP JUMPDEST DUP2 EQ PUSH2 0x205 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x217 DUP2 PUSH2 0x1F1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x230 DUP2 PUSH2 0x21D JUMP JUMPDEST DUP2 EQ PUSH2 0x23B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x24D DUP2 PUSH2 0x227 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x266 DUP2 PUSH2 0x253 JUMP JUMPDEST DUP2 EQ PUSH2 0x271 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x283 DUP2 PUSH2 0x25D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2A2 JUMPI PUSH2 0x2A1 PUSH2 0x1B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2B0 DUP7 DUP3 DUP8 ADD PUSH2 0x208 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x2C1 DUP7 DUP3 DUP8 ADD PUSH2 0x23E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x2D2 DUP7 DUP3 DUP8 ADD PUSH2 0x274 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x2E5 DUP2 PUSH2 0x21D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x300 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2DC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x30F DUP2 PUSH2 0x1DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x32A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x306 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x343 DUP2 PUSH2 0x330 JUMP JUMPDEST DUP2 EQ PUSH2 0x34E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x360 DUP2 PUSH2 0x33A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x38B JUMPI PUSH2 0x38A PUSH2 0x366 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3A8 JUMPI PUSH2 0x3A7 PUSH2 0x36B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x3C4 JUMPI PUSH2 0x3C3 PUSH2 0x370 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x3E8 JUMPI PUSH2 0x3E7 PUSH2 0x1B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3F6 DUP10 DUP3 DUP11 ADD PUSH2 0x208 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x20 PUSH2 0x407 DUP10 DUP3 DUP11 ADD PUSH2 0x208 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 PUSH2 0x418 DUP10 DUP3 DUP11 ADD PUSH2 0x351 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x60 PUSH2 0x429 DUP10 DUP3 DUP11 ADD PUSH2 0x351 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x44A JUMPI PUSH2 0x449 PUSH2 0x1BA JUMP JUMPDEST JUMPDEST PUSH2 0x456 DUP10 DUP3 DUP11 ADD PUSH2 0x375 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x47A PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x306 JUMP JUMPDEST PUSH2 0x487 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x306 JUMP JUMPDEST PUSH2 0x494 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x2DC JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4B1 DUP2 PUSH2 0x49C JUMP JUMPDEST DUP2 EQ PUSH2 0x4BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x4CE DUP2 PUSH2 0x4A8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4EA JUMPI PUSH2 0x4E9 PUSH2 0x1B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x4F8 DUP5 DUP3 DUP6 ADD PUSH2 0x4BF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x53B DUP3 PUSH2 0x21D JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x56D JUMPI PUSH2 0x56C PUSH2 0x501 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODESIZE 0x24 SWAP15 OR 0x5C 0xA6 0x2B SAR PUSH6 0xBEA93BBBD746 DUP11 0xB3 REVERT AND 0xF 0xA5 MSTORE 0x24 0xA8 MOD 0xB0 0xCD PUSH13 0xACE2E2F464736F6C6343000811 STOP CALLER ",
"sourceMap": "194:516:0:-:0;;;286:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;352:16;334:15;;:34;;;;;;;;;;;;;;;;;;286:89;194:516;;88:117:1;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:351::-;915:6;964:2;952:9;943:7;939:23;935:32;932:119;;;970:79;;:::i;:::-;932:119;1090:1;1115:64;1171:7;1162:6;1151:9;1147:22;1115:64;:::i;:::-;1105:74;;1061:128;845:351;;;;:::o;194:516:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@collateralToken_15": {
"entryPoint": 369,
"id": 15,
"parameterSlots": 0,
"returnSlots": 0
},
"@counter_17": {
"entryPoint": 363,
"id": 17,
"parameterSlots": 0,
"returnSlots": 0
},
"@deposit_50": {
"entryPoint": 197,
"id": 50,
"parameterSlots": 3,
"returnSlots": 0
},
"@onAdjustPosition_67": {
"entryPoint": 405,
"id": 67,
"parameterSlots": 6,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 520,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bool_fromMemory": {
"entryPoint": 1215,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bytes32": {
"entryPoint": 628,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bytes_calldata_ptr": {
"entryPoint": 885,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_t_int256": {
"entryPoint": 849,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 574,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_addresst_int256t_int256t_bytes_calldata_ptr": {
"entryPoint": 971,
"id": null,
"parameterSlots": 2,
"returnSlots": 6
},
"abi_decode_tuple_t_addresst_uint256t_bytes32": {
"entryPoint": 649,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_bool_fromMemory": {
"entryPoint": 1236,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 774,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 732,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 789,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 1125,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 747,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 479,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 1180,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bytes32": {
"entryPoint": 595,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_int256": {
"entryPoint": 816,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 447,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 541,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"increment_t_uint256": {
"entryPoint": 1328,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 1281,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": {
"entryPoint": 875,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 870,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": {
"entryPoint": 880,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 442,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 437,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 497,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bool": {
"entryPoint": 1192,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bytes32": {
"entryPoint": 605,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_int256": {
"entryPoint": 826,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 551,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:6866:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "404:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "411:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "400:3:1"
},
"nodeType": "YulFunctionCall",
"src": "400:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "511:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "521:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "550:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "532:17:1"
},
"nodeType": "YulFunctionCall",
"src": "532:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "521:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "493:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "503:7:1",
"type": ""
}
],
"src": "466:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "611:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "668:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "677:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "680:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "670:6:1"
},
"nodeType": "YulFunctionCall",
"src": "670:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "670:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "634:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "659:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "641:17:1"
},
"nodeType": "YulFunctionCall",
"src": "641:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "631:2:1"
},
"nodeType": "YulFunctionCall",
"src": "631:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "624:6:1"
},
"nodeType": "YulFunctionCall",
"src": "624:43:1"
},
"nodeType": "YulIf",
"src": "621:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "604:5:1",
"type": ""
}
],
"src": "568:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "748:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "758:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "780:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "767:12:1"
},
"nodeType": "YulFunctionCall",
"src": "767:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "758:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "823:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "796:26:1"
},
"nodeType": "YulFunctionCall",
"src": "796:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "796:33:1"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "726:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "734:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "742:5:1",
"type": ""
}
],
"src": "696:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "886:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "896:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "907:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "896:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "868:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "878:7:1",
"type": ""
}
],
"src": "841:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "967:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1024:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1033:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1036:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1026:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1026:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1026:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "990:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1015:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "997:17:1"
},
"nodeType": "YulFunctionCall",
"src": "997:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "987:2:1"
},
"nodeType": "YulFunctionCall",
"src": "987:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "980:6:1"
},
"nodeType": "YulFunctionCall",
"src": "980:43:1"
},
"nodeType": "YulIf",
"src": "977:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "960:5:1",
"type": ""
}
],
"src": "924:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1104:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1114:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1136:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1123:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1123:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1114:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1179:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "1152:26:1"
},
"nodeType": "YulFunctionCall",
"src": "1152:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1152:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1082:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1090:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1098:5:1",
"type": ""
}
],
"src": "1052:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1242:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1252:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1263:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1252:7:1"
}
]
}
]
},
"name": "cleanup_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1224:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1234:7:1",
"type": ""
}
],
"src": "1197:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1323:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1380:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1389:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1392:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1382:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1382:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1382:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1346:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1371:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nodeType": "YulIdentifier",
"src": "1353:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1353:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1343:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1343:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1336:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1336:43:1"
},
"nodeType": "YulIf",
"src": "1333:63:1"
}
]
},
"name": "validator_revert_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1316:5:1",
"type": ""
}
],
"src": "1280:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1460:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1470:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1492:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1479:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1479:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1470:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1535:5:1"
}
],
"functionName": {
"name": "validator_revert_t_bytes32",
"nodeType": "YulIdentifier",
"src": "1508:26:1"
},
"nodeType": "YulFunctionCall",
"src": "1508:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1508:33:1"
}
]
},
"name": "abi_decode_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1438:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1446:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1454:5:1",
"type": ""
}
],
"src": "1408:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1653:519:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1699:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1701:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1701:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1701:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1674:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1683:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1670:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1670:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1695:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1666:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1666:32:1"
},
"nodeType": "YulIf",
"src": "1663:119:1"
},
{
"nodeType": "YulBlock",
"src": "1792:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1807:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1821:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1811:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1836:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1871:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1882:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1867:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1867:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1891:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1846:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1846:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1836:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1919:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1934:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1948:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1938:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1964:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1999:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2010:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1995:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1995:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2019:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1974:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1974:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1964:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "2047:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2062:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2076:2:1",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2066:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2092:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2127:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2138:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2123:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2123:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2147:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bytes32",
"nodeType": "YulIdentifier",
"src": "2102:20:1"
},
"nodeType": "YulFunctionCall",
"src": "2102:53:1"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "2092:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1607:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1618:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1630:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1638:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "1646:6:1",
"type": ""
}
],
"src": "1553:619:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2243:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2260:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2283:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2265:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2265:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2253:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2253:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2253:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2231:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2238:3:1",
"type": ""
}
],
"src": "2178:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2400:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2410:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2422:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2433:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2418:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2418:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2410:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2490:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2503:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2514:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2499:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2499:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "2446:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2446:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2446:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2372:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2384:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2395:4:1",
"type": ""
}
],
"src": "2302:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2595:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2612:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2635:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "2617:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2617:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2605:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2605:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2605:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2583:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2590:3:1",
"type": ""
}
],
"src": "2530:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2752:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2762:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2774:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2785:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2770:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2770:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2762:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2842:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2855:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2866:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2851:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2851:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "2798:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2798:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2798:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2724:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2736:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2747:4:1",
"type": ""
}
],
"src": "2654:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2926:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2936:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "2947:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2936:7:1"
}
]
}
]
},
"name": "cleanup_t_int256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2908:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2918:7:1",
"type": ""
}
],
"src": "2882:76:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3006:78:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3062:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3071:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3074:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3064:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3064:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3064:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3029:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3053:5:1"
}
],
"functionName": {
"name": "cleanup_t_int256",
"nodeType": "YulIdentifier",
"src": "3036:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3036:23:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3026:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3026:34:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3019:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3019:42:1"
},
"nodeType": "YulIf",
"src": "3016:62:1"
}
]
},
"name": "validator_revert_t_int256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2999:5:1",
"type": ""
}
],
"src": "2964:120:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3141:86:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3151:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3173:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "3160:12:1"
},
"nodeType": "YulFunctionCall",
"src": "3160:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3151:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3215:5:1"
}
],
"functionName": {
"name": "validator_revert_t_int256",
"nodeType": "YulIdentifier",
"src": "3189:25:1"
},
"nodeType": "YulFunctionCall",
"src": "3189:32:1"
},
"nodeType": "YulExpressionStatement",
"src": "3189:32:1"
}
]
},
"name": "abi_decode_t_int256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3119:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3127:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3135:5:1",
"type": ""
}
],
"src": "3090:137:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3322:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3339:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3342:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3332:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3332:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3332:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "3233:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3445:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3462:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3465:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3455:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3455:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3455:12:1"
}
]
},
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulFunctionDefinition",
"src": "3356:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3568:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3585:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3588:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3578:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3578:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3578:12:1"
}
]
},
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulFunctionDefinition",
"src": "3479:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3689:478:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3738:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "3740:77:1"
},
"nodeType": "YulFunctionCall",
"src": "3740:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "3740:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3717:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3725:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3713:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3713:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3732:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3709:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3709:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3702:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3702:35:1"
},
"nodeType": "YulIf",
"src": "3699:122:1"
},
{
"nodeType": "YulAssignment",
"src": "3830:30:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3853:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "3840:12:1"
},
"nodeType": "YulFunctionCall",
"src": "3840:20:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3830:6:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3903:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulIdentifier",
"src": "3905:77:1"
},
"nodeType": "YulFunctionCall",
"src": "3905:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "3905:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3875:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3883:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3872:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3872:30:1"
},
"nodeType": "YulIf",
"src": "3869:117:1"
},
{
"nodeType": "YulAssignment",
"src": "3995:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4011:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4019:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4007:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4007:17:1"
},
"variableNames": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "3995:8:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4078:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulIdentifier",
"src": "4080:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4080:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4080:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "4043:8:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4057:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4065:4:1",
"type": "",
"value": "0x01"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "4053:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4053:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4039:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4039:32:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4073:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4036:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4036:41:1"
},
"nodeType": "YulIf",
"src": "4033:128:1"
}
]
},
"name": "abi_decode_t_bytes_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3656:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3664:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "arrayPos",
"nodeType": "YulTypedName",
"src": "3672:8:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3682:6:1",
"type": ""
}
],
"src": "3615:552:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4324:954:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4371:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "4373:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4373:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4373:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4345:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4354:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4341:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4341:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4366:3:1",
"type": "",
"value": "160"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "4337:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4337:33:1"
},
"nodeType": "YulIf",
"src": "4334:120:1"
},
{
"nodeType": "YulBlock",
"src": "4464:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4479:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4493:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4483:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4508:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4543:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4554:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4539:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4539:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4563:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "4518:20:1"
},
"nodeType": "YulFunctionCall",
"src": "4518:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4508:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4591:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4606:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4620:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4610:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4636:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4671:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4682:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4667:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4667:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4691:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "4646:20:1"
},
"nodeType": "YulFunctionCall",
"src": "4646:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4636:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4719:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4734:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4748:2:1",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4738:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4764:62:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4798:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4809:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4794:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4794:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4818:7:1"
}
],
"functionName": {
"name": "abi_decode_t_int256",
"nodeType": "YulIdentifier",
"src": "4774:19:1"
},
"nodeType": "YulFunctionCall",
"src": "4774:52:1"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "4764:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4846:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4861:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4875:2:1",
"type": "",
"value": "96"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4865:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4891:62:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4925:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4936:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4921:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4921:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4945:7:1"
}
],
"functionName": {
"name": "abi_decode_t_int256",
"nodeType": "YulIdentifier",
"src": "4901:19:1"
},
"nodeType": "YulFunctionCall",
"src": "4901:52:1"
},
"variableNames": [
{
"name": "value3",
"nodeType": "YulIdentifier",
"src": "4891:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4973:298:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4988:47:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5019:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5030:3:1",
"type": "",
"value": "128"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5015:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5015:19:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "5002:12:1"
},
"nodeType": "YulFunctionCall",
"src": "5002:33:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4992:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5082:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "5084:77:1"
},
"nodeType": "YulFunctionCall",
"src": "5084:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "5084:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5054:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5062:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5051:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5051:30:1"
},
"nodeType": "YulIf",
"src": "5048:117:1"
},
{
"nodeType": "YulAssignment",
"src": "5179:82:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5233:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5244:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5229:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5229:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5253:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bytes_calldata_ptr",
"nodeType": "YulIdentifier",
"src": "5197:31:1"
},
"nodeType": "YulFunctionCall",
"src": "5197:64:1"
},
"variableNames": [
{
"name": "value4",
"nodeType": "YulIdentifier",
"src": "5179:6:1"
},
{
"name": "value5",
"nodeType": "YulIdentifier",
"src": "5187:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_addresst_int256t_int256t_bytes_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4254:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "4265:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4277:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "4285:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "4293:6:1",
"type": ""
},
{
"name": "value3",
"nodeType": "YulTypedName",
"src": "4301:6:1",
"type": ""
},
{
"name": "value4",
"nodeType": "YulTypedName",
"src": "4309:6:1",
"type": ""
},
{
"name": "value5",
"nodeType": "YulTypedName",
"src": "4317:6:1",
"type": ""
}
],
"src": "4173:1105:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5438:288:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5448:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5460:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5471:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5456:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5456:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5448:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5528:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5541:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5552:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5537:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5537:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "5484:43:1"
},
"nodeType": "YulFunctionCall",
"src": "5484:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "5484:71:1"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "5609:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5622:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5633:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5618:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5618:18:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "5565:43:1"
},
"nodeType": "YulFunctionCall",
"src": "5565:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "5565:72:1"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "5691:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5704:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5715:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5700:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5700:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "5647:43:1"
},
"nodeType": "YulFunctionCall",
"src": "5647:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "5647:72:1"
}
]
},
"name": "abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5394:9:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "5406:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "5414:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5422:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5433:4:1",
"type": ""
}
],
"src": "5284:442:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5774:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5784:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5809:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5802:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5802:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5795:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5795:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5784:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5756:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5766:7:1",
"type": ""
}
],
"src": "5732:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5868:76:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5922:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5931:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5934:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5924:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5924:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "5924:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5891:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5913:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "5898:14:1"
},
"nodeType": "YulFunctionCall",
"src": "5898:21:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "5888:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5888:32:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5881:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5881:40:1"
},
"nodeType": "YulIf",
"src": "5878:60:1"
}
]
},
"name": "validator_revert_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5861:5:1",
"type": ""
}
],
"src": "5828:116:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6010:77:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6020:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6035:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "6029:5:1"
},
"nodeType": "YulFunctionCall",
"src": "6029:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6020:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6075:5:1"
}
],
"functionName": {
"name": "validator_revert_t_bool",
"nodeType": "YulIdentifier",
"src": "6051:23:1"
},
"nodeType": "YulFunctionCall",
"src": "6051:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "6051:30:1"
}
]
},
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "5988:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "5996:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6004:5:1",
"type": ""
}
],
"src": "5950:137:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6167:271:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "6213:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "6215:77:1"
},
"nodeType": "YulFunctionCall",
"src": "6215:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "6215:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6188:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6197:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6184:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6184:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6209:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "6180:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6180:32:1"
},
"nodeType": "YulIf",
"src": "6177:119:1"
},
{
"nodeType": "YulBlock",
"src": "6306:125:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6321:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6335:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "6325:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "6350:71:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6393:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6404:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6389:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6389:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6413:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulIdentifier",
"src": "6360:28:1"
},
"nodeType": "YulFunctionCall",
"src": "6360:61:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "6350:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6137:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "6148:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "6160:6:1",
"type": ""
}
],
"src": "6093:345:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6472:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6489:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6492:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6482:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6482:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "6482:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6586:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6589:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6579:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6579:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6579:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6610:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6613:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6603:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6603:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6603:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "6444:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6673:190:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6683:33:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6710:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6692:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6692:24:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6683:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6806:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "6808:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6808:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6808:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6731:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6738:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6728:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6728:77:1"
},
"nodeType": "YulIf",
"src": "6725:103:1"
},
{
"nodeType": "YulAssignment",
"src": "6837:20:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6848:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6855:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6844:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6844:13:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "6837:3:1"
}
]
}
]
},
"name": "increment_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6659:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "6669:3:1",
"type": ""
}
],
"src": "6630:233:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256t_bytes32(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_int256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_int256(value) {\n if iszero(eq(value, cleanup_t_int256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_int256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_int256(value)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // bytes\n function abi_decode_t_bytes_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_addresst_addresst_int256t_int256t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_int256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_int256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value4, value5 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061004c5760003560e01c806326b3293f1461005157806361bc221a1461006d578063b2016bd41461008b578063f77c4036146100a9575b600080fd5b61006b60048036038101906100669190610289565b6100c5565b005b61007561016b565b60405161008291906102eb565b60405180910390f35b610093610171565b6040516100a09190610315565b60405180910390f35b6100c360048036038101906100be91906103cb565b610195565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b815260040161012293929190610465565b6020604051808303816000875af1158015610141573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016591906104d4565b50505050565b60015481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160008154809291906101a890610530565b9190505550505050505050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101ea826101bf565b9050919050565b6101fa816101df565b811461020557600080fd5b50565b600081359050610217816101f1565b92915050565b6000819050919050565b6102308161021d565b811461023b57600080fd5b50565b60008135905061024d81610227565b92915050565b6000819050919050565b61026681610253565b811461027157600080fd5b50565b6000813590506102838161025d565b92915050565b6000806000606084860312156102a2576102a16101b5565b5b60006102b086828701610208565b93505060206102c18682870161023e565b92505060406102d286828701610274565b9150509250925092565b6102e58161021d565b82525050565b600060208201905061030060008301846102dc565b92915050565b61030f816101df565b82525050565b600060208201905061032a6000830184610306565b92915050565b6000819050919050565b61034381610330565b811461034e57600080fd5b50565b6000813590506103608161033a565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261038b5761038a610366565b5b8235905067ffffffffffffffff8111156103a8576103a761036b565b5b6020830191508360018202830111156103c4576103c3610370565b5b9250929050565b60008060008060008060a087890312156103e8576103e76101b5565b5b60006103f689828a01610208565b965050602061040789828a01610208565b955050604061041889828a01610351565b945050606061042989828a01610351565b935050608087013567ffffffffffffffff81111561044a576104496101ba565b5b61045689828a01610375565b92509250509295509295509295565b600060608201905061047a6000830186610306565b6104876020830185610306565b61049460408301846102dc565b949350505050565b60008115159050919050565b6104b18161049c565b81146104bc57600080fd5b50565b6000815190506104ce816104a8565b92915050565b6000602082840312156104ea576104e96101b5565b5b60006104f8848285016104bf565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061053b8261021d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361056d5761056c610501565b5b60018201905091905056fea26469706673582212203b249e175ca62b1d65bea93bbbd7468ab3fd160fa55224a806b0cd6cace2e2f464736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x26B3293F EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x61BC221A EQ PUSH2 0x6D JUMPI DUP1 PUSH4 0xB2016BD4 EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xF77C4036 EQ PUSH2 0xA9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x289 JUMP JUMPDEST PUSH2 0xC5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x75 PUSH2 0x16B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x82 SWAP2 SWAP1 PUSH2 0x2EB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x93 PUSH2 0x171 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x315 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xBE SWAP2 SWAP1 PUSH2 0x3CB JUMP JUMPDEST PUSH2 0x195 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x23B872DD CALLER ADDRESS DUP6 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x122 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x465 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x141 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x165 SWAP2 SWAP1 PUSH2 0x4D4 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x1A8 SWAP1 PUSH2 0x530 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EA DUP3 PUSH2 0x1BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FA DUP2 PUSH2 0x1DF JUMP JUMPDEST DUP2 EQ PUSH2 0x205 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x217 DUP2 PUSH2 0x1F1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x230 DUP2 PUSH2 0x21D JUMP JUMPDEST DUP2 EQ PUSH2 0x23B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x24D DUP2 PUSH2 0x227 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x266 DUP2 PUSH2 0x253 JUMP JUMPDEST DUP2 EQ PUSH2 0x271 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x283 DUP2 PUSH2 0x25D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2A2 JUMPI PUSH2 0x2A1 PUSH2 0x1B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2B0 DUP7 DUP3 DUP8 ADD PUSH2 0x208 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x2C1 DUP7 DUP3 DUP8 ADD PUSH2 0x23E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x2D2 DUP7 DUP3 DUP8 ADD PUSH2 0x274 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x2E5 DUP2 PUSH2 0x21D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x300 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2DC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x30F DUP2 PUSH2 0x1DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x32A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x306 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x343 DUP2 PUSH2 0x330 JUMP JUMPDEST DUP2 EQ PUSH2 0x34E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x360 DUP2 PUSH2 0x33A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x38B JUMPI PUSH2 0x38A PUSH2 0x366 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3A8 JUMPI PUSH2 0x3A7 PUSH2 0x36B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x3C4 JUMPI PUSH2 0x3C3 PUSH2 0x370 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x3E8 JUMPI PUSH2 0x3E7 PUSH2 0x1B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3F6 DUP10 DUP3 DUP11 ADD PUSH2 0x208 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x20 PUSH2 0x407 DUP10 DUP3 DUP11 ADD PUSH2 0x208 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 PUSH2 0x418 DUP10 DUP3 DUP11 ADD PUSH2 0x351 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x60 PUSH2 0x429 DUP10 DUP3 DUP11 ADD PUSH2 0x351 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x44A JUMPI PUSH2 0x449 PUSH2 0x1BA JUMP JUMPDEST JUMPDEST PUSH2 0x456 DUP10 DUP3 DUP11 ADD PUSH2 0x375 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x47A PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x306 JUMP JUMPDEST PUSH2 0x487 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x306 JUMP JUMPDEST PUSH2 0x494 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x2DC JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4B1 DUP2 PUSH2 0x49C JUMP JUMPDEST DUP2 EQ PUSH2 0x4BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x4CE DUP2 PUSH2 0x4A8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4EA JUMPI PUSH2 0x4E9 PUSH2 0x1B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x4F8 DUP5 DUP3 DUP6 ADD PUSH2 0x4BF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x53B DUP3 PUSH2 0x21D JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x56D JUMPI PUSH2 0x56C PUSH2 0x501 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODESIZE 0x24 SWAP15 OR 0x5C 0xA6 0x2B SAR PUSH6 0xBEA93BBBD746 DUP11 0xB3 REVERT AND 0xF 0xA5 MSTORE 0x24 0xA8 MOD 0xB0 0xCD PUSH13 0xACE2E2F464736F6C6343000811 STOP CALLER ",
"sourceMap": "194:516:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;380:172;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;258:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;222:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;557:150;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;380:172;481:15;;;;;;;;;;474:36;;;511:10;531:4;538:6;474:71;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;380:172;;;:::o;258:22::-;;;;:::o;222:30::-;;;;;;;;;;;;:::o;557:150::-;691:7;;:9;;;;;;;;;:::i;:::-;;;;;;557:150;;;;;;:::o;88:117:1:-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:77::-;878:7;907:5;896:16;;841:77;;;:::o;924:122::-;997:24;1015:5;997:24;:::i;:::-;990:5;987:35;977:63;;1036:1;1033;1026:12;977:63;924:122;:::o;1052:139::-;1098:5;1136:6;1123:20;1114:29;;1152:33;1179:5;1152:33;:::i;:::-;1052:139;;;;:::o;1197:77::-;1234:7;1263:5;1252:16;;1197:77;;;:::o;1280:122::-;1353:24;1371:5;1353:24;:::i;:::-;1346:5;1343:35;1333:63;;1392:1;1389;1382:12;1333:63;1280:122;:::o;1408:139::-;1454:5;1492:6;1479:20;1470:29;;1508:33;1535:5;1508:33;:::i;:::-;1408:139;;;;:::o;1553:619::-;1630:6;1638;1646;1695:2;1683:9;1674:7;1670:23;1666:32;1663:119;;;1701:79;;:::i;:::-;1663:119;1821:1;1846:53;1891:7;1882:6;1871:9;1867:22;1846:53;:::i;:::-;1836:63;;1792:117;1948:2;1974:53;2019:7;2010:6;1999:9;1995:22;1974:53;:::i;:::-;1964:63;;1919:118;2076:2;2102:53;2147:7;2138:6;2127:9;2123:22;2102:53;:::i;:::-;2092:63;;2047:118;1553:619;;;;;:::o;2178:118::-;2265:24;2283:5;2265:24;:::i;:::-;2260:3;2253:37;2178:118;;:::o;2302:222::-;2395:4;2433:2;2422:9;2418:18;2410:26;;2446:71;2514:1;2503:9;2499:17;2490:6;2446:71;:::i;:::-;2302:222;;;;:::o;2530:118::-;2617:24;2635:5;2617:24;:::i;:::-;2612:3;2605:37;2530:118;;:::o;2654:222::-;2747:4;2785:2;2774:9;2770:18;2762:26;;2798:71;2866:1;2855:9;2851:17;2842:6;2798:71;:::i;:::-;2654:222;;;;:::o;2882:76::-;2918:7;2947:5;2936:16;;2882:76;;;:::o;2964:120::-;3036:23;3053:5;3036:23;:::i;:::-;3029:5;3026:34;3016:62;;3074:1;3071;3064:12;3016:62;2964:120;:::o;3090:137::-;3135:5;3173:6;3160:20;3151:29;;3189:32;3215:5;3189:32;:::i;:::-;3090:137;;;;:::o;3233:117::-;3342:1;3339;3332:12;3356:117;3465:1;3462;3455:12;3479:117;3588:1;3585;3578:12;3615:552;3672:8;3682:6;3732:3;3725:4;3717:6;3713:17;3709:27;3699:122;;3740:79;;:::i;:::-;3699:122;3853:6;3840:20;3830:30;;3883:18;3875:6;3872:30;3869:117;;;3905:79;;:::i;:::-;3869:117;4019:4;4011:6;4007:17;3995:29;;4073:3;4065:4;4057:6;4053:17;4043:8;4039:32;4036:41;4033:128;;;4080:79;;:::i;:::-;4033:128;3615:552;;;;;:::o;4173:1105::-;4277:6;4285;4293;4301;4309;4317;4366:3;4354:9;4345:7;4341:23;4337:33;4334:120;;;4373:79;;:::i;:::-;4334:120;4493:1;4518:53;4563:7;4554:6;4543:9;4539:22;4518:53;:::i;:::-;4508:63;;4464:117;4620:2;4646:53;4691:7;4682:6;4671:9;4667:22;4646:53;:::i;:::-;4636:63;;4591:118;4748:2;4774:52;4818:7;4809:6;4798:9;4794:22;4774:52;:::i;:::-;4764:62;;4719:117;4875:2;4901:52;4945:7;4936:6;4925:9;4921:22;4901:52;:::i;:::-;4891:62;;4846:117;5030:3;5019:9;5015:19;5002:33;5062:18;5054:6;5051:30;5048:117;;;5084:79;;:::i;:::-;5048:117;5197:64;5253:7;5244:6;5233:9;5229:22;5197:64;:::i;:::-;5179:82;;;;4973:298;4173:1105;;;;;;;;:::o;5284:442::-;5433:4;5471:2;5460:9;5456:18;5448:26;;5484:71;5552:1;5541:9;5537:17;5528:6;5484:71;:::i;:::-;5565:72;5633:2;5622:9;5618:18;5609:6;5565:72;:::i;:::-;5647;5715:2;5704:9;5700:18;5691:6;5647:72;:::i;:::-;5284:442;;;;;;:::o;5732:90::-;5766:7;5809:5;5802:13;5795:21;5784:32;;5732:90;;;:::o;5828:116::-;5898:21;5913:5;5898:21;:::i;:::-;5891:5;5888:32;5878:60;;5934:1;5931;5924:12;5878:60;5828:116;:::o;5950:137::-;6004:5;6035:6;6029:13;6020:22;;6051:30;6075:5;6051:30;:::i;:::-;5950:137;;;;:::o;6093:345::-;6160:6;6209:2;6197:9;6188:7;6184:23;6180:32;6177:119;;;6215:79;;:::i;:::-;6177:119;6335:1;6360:61;6413:7;6404:6;6393:9;6389:22;6360:61;:::i;:::-;6350:71;;6306:125;6093:345;;;;:::o;6444:180::-;6492:77;6489:1;6482:88;6589:4;6586:1;6579:15;6613:4;6610:1;6603:15;6630:233;6669:3;6692:24;6710:5;6692:24;:::i;:::-;6683:33;;6738:66;6731:5;6728:77;6725:103;;6808:18;;:::i;:::-;6725:103;6855:1;6848:5;6844:13;6837:20;;6630:233;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "290800",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"collateralToken()": "2533",
"counter()": "2429",
"deposit(address,uint256,bytes32)": "infinite",
"onAdjustPosition(address,address,int256,int256,bytes)": "infinite"
}
},
"methodIdentifiers": {
"collateralToken()": "b2016bd4",
"counter()": "61bc221a",
"deposit(address,uint256,bytes32)": "26b3293f",
"onAdjustPosition(address,address,int256,int256,bytes)": "f77c4036"
}
},
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_collateralToken",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "collateralToken",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "counter",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_positionAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "_data",
"type": "bytes32"
}
],
"name": "deposit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "src",
"type": "address"
},
{
"internalType": "address",
"name": "dst",
"type": "address"
},
{
"internalType": "int256",
"name": "collateralValue",
"type": "int256"
},
{
"internalType": "int256",
"name": "debtShare",
"type": "int256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "onAdjustPosition",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.17+commit.8df45f5f"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_collateralToken",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "collateralToken",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "counter",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_positionAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "_data",
"type": "bytes32"
}
],
"name": "deposit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "src",
"type": "address"
},
{
"internalType": "address",
"name": "dst",
"type": "address"
},
{
"internalType": "int256",
"name": "collateralValue",
"type": "int256"
},
{
"internalType": "int256",
"name": "debtShare",
"type": "int256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "onAdjustPosition",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/1_AttackAdapter.sol": "AttackAdapter"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/1_AttackAdapter.sol": {
"keccak256": "0xea4fda6bfe81ce43814a601e2ed9592052e9be2b1a32bd68f38647acf51d6085",
"license": "GPL-3.0",
"urls": [
"bzz-raw://ccfeca257bdf12c74765ee963a5d72e3ec99902b1ecf7ced62f849a8a1328962",
"dweb:/ipfs/QmWXdYNfzhqCBnjsPHwFjrv899F491shkjeh5orNPNkU6F"
]
}
},
"version": 1
}
{
"id": "81691cf1790e1f1411bc2045b761e567",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.17",
"solcLongVersion": "0.8.17+commit.8df45f5f",
"input": {
"language": "Solidity",
"sources": {
"contracts/2_IERC20.sol": {
"content": "// SPDX-License-Identifier: AGPL-3.0-or-later\npragma solidity 0.8.17;\n\ninterface IERC20 {\n function balanceOf(address _owner) external view returns (uint256);\n function approve(address _spender, uint256 amount) external;\n function mint(address _to, uint256 _amount) external;\n}\n\n"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"contracts/2_IERC20.sol": {
"IERC20": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "approve",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "mint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": "",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"legacyAssembly": null,
"methodIdentifiers": {
"approve(address,uint256)": "095ea7b3",
"balanceOf(address)": "70a08231",
"mint(address,uint256)": "40c10f19"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/2_IERC20.sol\":\"IERC20\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/2_IERC20.sol\":{\"keccak256\":\"0x4d3c5edbac229dbf0f2dfbd6f8ce40eb62af06f7d55ff2453404c6a9bbae947a\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://f9c54f70121a9a9029e3345987a2315d99eb8111fa4a6032af2738d59ca38bdc\",\"dweb:/ipfs/QmYbNykSRu1kKqz7ZfJPuAu3EwhNpEeGTYxfa4deSSLKYS\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"contracts/2_IERC20.sol": {
"ast": {
"absolutePath": "contracts/2_IERC20.sol",
"exportedSymbols": {
"IERC20": [
23
]
},
"id": 24,
"license": "AGPL-3.0-or-later",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"0.8",
".17"
],
"nodeType": "PragmaDirective",
"src": "46:23:0"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "IERC20",
"contractDependencies": [],
"contractKind": "interface",
"fullyImplemented": false,
"id": 23,
"linearizedBaseContracts": [
23
],
"name": "IERC20",
"nameLocation": "81:6:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"functionSelector": "70a08231",
"id": 8,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "balanceOf",
"nameLocation": "103:9:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 4,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3,
"mutability": "mutable",
"name": "_owner",
"nameLocation": "121:6:0",
"nodeType": "VariableDeclaration",
"scope": 8,
"src": "113:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "113:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "112:16:0"
},
"returnParameters": {
"id": 7,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 6,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 8,
"src": "152:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 5,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "152:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "151:9:0"
},
"scope": 23,
"src": "94:67:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "095ea7b3",
"id": 15,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "approve",
"nameLocation": "175:7:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 13,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10,
"mutability": "mutable",
"name": "_spender",
"nameLocation": "191:8:0",
"nodeType": "VariableDeclaration",
"scope": 15,
"src": "183:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 9,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "183:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 12,
"mutability": "mutable",
"name": "amount",
"nameLocation": "209:6:0",
"nodeType": "VariableDeclaration",
"scope": 15,
"src": "201:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 11,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "201:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "182:34:0"
},
"returnParameters": {
"id": 14,
"nodeType": "ParameterList",
"parameters": [],
"src": "225:0:0"
},
"scope": 23,
"src": "166:60:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"functionSelector": "40c10f19",
"id": 22,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "mint",
"nameLocation": "240:4:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 20,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 17,
"mutability": "mutable",
"name": "_to",
"nameLocation": "253:3:0",
"nodeType": "VariableDeclaration",
"scope": 22,
"src": "245:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 16,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "245:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 19,
"mutability": "mutable",
"name": "_amount",
"nameLocation": "266:7:0",
"nodeType": "VariableDeclaration",
"scope": 22,
"src": "258:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 18,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "258:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "244:30:0"
},
"returnParameters": {
"id": 21,
"nodeType": "ParameterList",
"parameters": [],
"src": "283:0:0"
},
"scope": 23,
"src": "231:53:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 24,
"src": "71:215:0",
"usedErrors": []
}
],
"src": "46:242:0"
},
"id": 0
}
}
}
}
{
"id": "abfc26dedca2df67fa43e40d6bbe4b09",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.18",
"solcLongVersion": "0.8.18+commit.87f61d96",
"input": {
"language": "Solidity",
"sources": {
"contracts/1_Storage.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\n\npragma solidity >=0.8.2 <0.9.0;\n\ninterface IERC20 {\n function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);\n}\n\ncontract AttackAdapter{\n address public collateralToken;\n uint256 public counter;\n constructor(address _collateralToken) {\n collateralToken = _collateralToken;\n }\n function deposit(address _positionAddress, uint256 _value, bytes32 _data ) external {\n IERC20(collateralToken).transferFrom(msg.sender, address(this), _value);\n }\n function onAdjustPosition(address src, address dst, int256 collateralValue, int256 debtShare, bytes calldata data) external {\n counter++;\n }\n\n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"contracts/1_Storage.sol": {
"AttackAdapter": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_collateralToken",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "collateralToken",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "counter",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_positionAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "_data",
"type": "bytes32"
}
],
"name": "deposit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "src",
"type": "address"
},
{
"internalType": "address",
"name": "dst",
"type": "address"
},
{
"internalType": "int256",
"name": "collateralValue",
"type": "int256"
},
{
"internalType": "int256",
"name": "debtShare",
"type": "int256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "onAdjustPosition",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/1_Storage.sol\":194:710 contract AttackAdapter{... */\n mstore(0x40, 0x80)\n /* \"contracts/1_Storage.sol\":286:375 constructor(address _collateralToken) {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n mload(0x40)\n sub(codesize, bytecodeSize)\n dup1\n bytecodeSize\n dup4\n codecopy\n dup2\n dup2\n add\n 0x40\n mstore\n dup2\n add\n swap1\n tag_2\n swap2\n swap1\n tag_3\n jump\t// in\ntag_2:\n /* \"contracts/1_Storage.sol\":352:368 _collateralToken */\n dup1\n /* \"contracts/1_Storage.sol\":334:349 collateralToken */\n 0x00\n dup1\n /* \"contracts/1_Storage.sol\":334:368 collateralToken = _collateralToken */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/1_Storage.sol\":286:375 constructor(address _collateralToken) {... */\n pop\n /* \"contracts/1_Storage.sol\":194:710 contract AttackAdapter{... */\n jump(tag_6)\n /* \"#utility.yul\":88:205 */\ntag_8:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":334:460 */\ntag_10:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":411:453 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":404:409 */\n dup3\n /* \"#utility.yul\":400:454 */\n and\n /* \"#utility.yul\":389:454 */\n swap1\n pop\n /* \"#utility.yul\":334:460 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":466:562 */\ntag_11:\n /* \"#utility.yul\":503:510 */\n 0x00\n /* \"#utility.yul\":532:556 */\n tag_20\n /* \"#utility.yul\":550:555 */\n dup3\n /* \"#utility.yul\":532:556 */\n tag_10\n jump\t// in\ntag_20:\n /* \"#utility.yul\":521:556 */\n swap1\n pop\n /* \"#utility.yul\":466:562 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":568:690 */\ntag_12:\n /* \"#utility.yul\":641:665 */\n tag_22\n /* \"#utility.yul\":659:664 */\n dup2\n /* \"#utility.yul\":641:665 */\n tag_11\n jump\t// in\ntag_22:\n /* \"#utility.yul\":634:639 */\n dup2\n /* \"#utility.yul\":631:666 */\n eq\n /* \"#utility.yul\":621:684 */\n tag_23\n jumpi\n /* \"#utility.yul\":680:681 */\n 0x00\n /* \"#utility.yul\":677:678 */\n dup1\n /* \"#utility.yul\":670:682 */\n revert\n /* \"#utility.yul\":621:684 */\ntag_23:\n /* \"#utility.yul\":568:690 */\n pop\n jump\t// out\n /* \"#utility.yul\":696:839 */\ntag_13:\n /* \"#utility.yul\":753:758 */\n 0x00\n /* \"#utility.yul\":784:790 */\n dup2\n /* \"#utility.yul\":778:791 */\n mload\n /* \"#utility.yul\":769:791 */\n swap1\n pop\n /* \"#utility.yul\":800:833 */\n tag_25\n /* \"#utility.yul\":827:832 */\n dup2\n /* \"#utility.yul\":800:833 */\n tag_12\n jump\t// in\ntag_25:\n /* \"#utility.yul\":696:839 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":845:1196 */\ntag_3:\n /* \"#utility.yul\":915:921 */\n 0x00\n /* \"#utility.yul\":964:966 */\n 0x20\n /* \"#utility.yul\":952:961 */\n dup3\n /* \"#utility.yul\":943:950 */\n dup5\n /* \"#utility.yul\":939:962 */\n sub\n /* \"#utility.yul\":935:967 */\n slt\n /* \"#utility.yul\":932:1051 */\n iszero\n tag_27\n jumpi\n /* \"#utility.yul\":970:1049 */\n tag_28\n tag_8\n jump\t// in\ntag_28:\n /* \"#utility.yul\":932:1051 */\ntag_27:\n /* \"#utility.yul\":1090:1091 */\n 0x00\n /* \"#utility.yul\":1115:1179 */\n tag_29\n /* \"#utility.yul\":1171:1178 */\n dup5\n /* \"#utility.yul\":1162:1168 */\n dup3\n /* \"#utility.yul\":1151:1160 */\n dup6\n /* \"#utility.yul\":1147:1169 */\n add\n /* \"#utility.yul\":1115:1179 */\n tag_13\n jump\t// in\ntag_29:\n /* \"#utility.yul\":1105:1179 */\n swap2\n pop\n /* \"#utility.yul\":1061:1189 */\n pop\n /* \"#utility.yul\":845:1196 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"contracts/1_Storage.sol\":194:710 contract AttackAdapter{... */\ntag_6:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/1_Storage.sol\":194:710 contract AttackAdapter{... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x26b3293f\n eq\n tag_3\n jumpi\n dup1\n 0x61bc221a\n eq\n tag_4\n jumpi\n dup1\n 0xb2016bd4\n eq\n tag_5\n jumpi\n dup1\n 0xf77c4036\n eq\n tag_6\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/1_Storage.sol\":380:552 function deposit(address _positionAddress, uint256 _value, bytes32 _data ) external {... */\n tag_3:\n tag_7\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n tag_10\n jump\t// in\n tag_7:\n stop\n /* \"contracts/1_Storage.sol\":258:280 uint256 public counter */\n tag_4:\n tag_11\n tag_12\n jump\t// in\n tag_11:\n mload(0x40)\n tag_13\n swap2\n swap1\n tag_14\n jump\t// in\n tag_13:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/1_Storage.sol\":222:252 address public collateralToken */\n tag_5:\n tag_15\n tag_16\n jump\t// in\n tag_15:\n mload(0x40)\n tag_17\n swap2\n swap1\n tag_18\n jump\t// in\n tag_17:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/1_Storage.sol\":557:707 function onAdjustPosition(address src, address dst, int256 collateralValue, int256 debtShare, bytes calldata data) external {... */\n tag_6:\n tag_19\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_20\n swap2\n swap1\n tag_21\n jump\t// in\n tag_20:\n tag_22\n jump\t// in\n tag_19:\n stop\n /* \"contracts/1_Storage.sol\":380:552 function deposit(address _positionAddress, uint256 _value, bytes32 _data ) external {... */\n tag_10:\n /* \"contracts/1_Storage.sol\":481:496 collateralToken */\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/1_Storage.sol\":474:510 IERC20(collateralToken).transferFrom */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x23b872dd\n /* \"contracts/1_Storage.sol\":511:521 msg.sender */\n caller\n /* \"contracts/1_Storage.sol\":531:535 this */\n address\n /* \"contracts/1_Storage.sol\":538:544 _value */\n dup6\n /* \"contracts/1_Storage.sol\":474:545 IERC20(collateralToken).transferFrom(msg.sender, address(this), _value) */\n mload(0x40)\n dup5\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n tag_24\n swap4\n swap3\n swap2\n swap1\n tag_25\n jump\t// in\n tag_24:\n 0x20\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n 0x00\n dup8\n gas\n call\n iszero\n dup1\n iszero\n tag_27\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_27:\n pop\n pop\n pop\n pop\n mload(0x40)\n returndatasize\n not(0x1f)\n 0x1f\n dup3\n add\n and\n dup3\n add\n dup1\n 0x40\n mstore\n pop\n dup2\n add\n swap1\n tag_28\n swap2\n swap1\n tag_29\n jump\t// in\n tag_28:\n pop\n /* \"contracts/1_Storage.sol\":380:552 function deposit(address _positionAddress, uint256 _value, bytes32 _data ) external {... */\n pop\n pop\n pop\n jump\t// out\n /* \"contracts/1_Storage.sol\":258:280 uint256 public counter */\n tag_12:\n sload(0x01)\n dup2\n jump\t// out\n /* \"contracts/1_Storage.sol\":222:252 address public collateralToken */\n tag_16:\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n jump\t// out\n /* \"contracts/1_Storage.sol\":557:707 function onAdjustPosition(address src, address dst, int256 collateralValue, int256 debtShare, bytes calldata data) external {... */\n tag_22:\n /* \"contracts/1_Storage.sol\":691:698 counter */\n 0x01\n 0x00\n /* \"contracts/1_Storage.sol\":691:700 counter++ */\n dup2\n sload\n dup1\n swap3\n swap2\n swap1\n tag_31\n swap1\n tag_32\n jump\t// in\n tag_31:\n swap2\n swap1\n pop\n sstore\n pop\n /* \"contracts/1_Storage.sol\":557:707 function onAdjustPosition(address src, address dst, int256 collateralValue, int256 debtShare, bytes calldata data) external {... */\n pop\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_34:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":211:328 */\n tag_35:\n /* \"#utility.yul\":320:321 */\n 0x00\n /* \"#utility.yul\":317:318 */\n dup1\n /* \"#utility.yul\":310:322 */\n revert\n /* \"#utility.yul\":334:460 */\n tag_36:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":411:453 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":404:409 */\n dup3\n /* \"#utility.yul\":400:454 */\n and\n /* \"#utility.yul\":389:454 */\n swap1\n pop\n /* \"#utility.yul\":334:460 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":466:562 */\n tag_37:\n /* \"#utility.yul\":503:510 */\n 0x00\n /* \"#utility.yul\":532:556 */\n tag_65\n /* \"#utility.yul\":550:555 */\n dup3\n /* \"#utility.yul\":532:556 */\n tag_36\n jump\t// in\n tag_65:\n /* \"#utility.yul\":521:556 */\n swap1\n pop\n /* \"#utility.yul\":466:562 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":568:690 */\n tag_38:\n /* \"#utility.yul\":641:665 */\n tag_67\n /* \"#utility.yul\":659:664 */\n dup2\n /* \"#utility.yul\":641:665 */\n tag_37\n jump\t// in\n tag_67:\n /* \"#utility.yul\":634:639 */\n dup2\n /* \"#utility.yul\":631:666 */\n eq\n /* \"#utility.yul\":621:684 */\n tag_68\n jumpi\n /* \"#utility.yul\":680:681 */\n 0x00\n /* \"#utility.yul\":677:678 */\n dup1\n /* \"#utility.yul\":670:682 */\n revert\n /* \"#utility.yul\":621:684 */\n tag_68:\n /* \"#utility.yul\":568:690 */\n pop\n jump\t// out\n /* \"#utility.yul\":696:835 */\n tag_39:\n /* \"#utility.yul\":742:747 */\n 0x00\n /* \"#utility.yul\":780:786 */\n dup2\n /* \"#utility.yul\":767:787 */\n calldataload\n /* \"#utility.yul\":758:787 */\n swap1\n pop\n /* \"#utility.yul\":796:829 */\n tag_70\n /* \"#utility.yul\":823:828 */\n dup2\n /* \"#utility.yul\":796:829 */\n tag_38\n jump\t// in\n tag_70:\n /* \"#utility.yul\":696:835 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":841:918 */\n tag_40:\n /* \"#utility.yul\":878:885 */\n 0x00\n /* \"#utility.yul\":907:912 */\n dup2\n /* \"#utility.yul\":896:912 */\n swap1\n pop\n /* \"#utility.yul\":841:918 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":924:1046 */\n tag_41:\n /* \"#utility.yul\":997:1021 */\n tag_73\n /* \"#utility.yul\":1015:1020 */\n dup2\n /* \"#utility.yul\":997:1021 */\n tag_40\n jump\t// in\n tag_73:\n /* \"#utility.yul\":990:995 */\n dup2\n /* \"#utility.yul\":987:1022 */\n eq\n /* \"#utility.yul\":977:1040 */\n tag_74\n jumpi\n /* \"#utility.yul\":1036:1037 */\n 0x00\n /* \"#utility.yul\":1033:1034 */\n dup1\n /* \"#utility.yul\":1026:1038 */\n revert\n /* \"#utility.yul\":977:1040 */\n tag_74:\n /* \"#utility.yul\":924:1046 */\n pop\n jump\t// out\n /* \"#utility.yul\":1052:1191 */\n tag_42:\n /* \"#utility.yul\":1098:1103 */\n 0x00\n /* \"#utility.yul\":1136:1142 */\n dup2\n /* \"#utility.yul\":1123:1143 */\n calldataload\n /* \"#utility.yul\":1114:1143 */\n swap1\n pop\n /* \"#utility.yul\":1152:1185 */\n tag_76\n /* \"#utility.yul\":1179:1184 */\n dup2\n /* \"#utility.yul\":1152:1185 */\n tag_41\n jump\t// in\n tag_76:\n /* \"#utility.yul\":1052:1191 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1197:1274 */\n tag_43:\n /* \"#utility.yul\":1234:1241 */\n 0x00\n /* \"#utility.yul\":1263:1268 */\n dup2\n /* \"#utility.yul\":1252:1268 */\n swap1\n pop\n /* \"#utility.yul\":1197:1274 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1280:1402 */\n tag_44:\n /* \"#utility.yul\":1353:1377 */\n tag_79\n /* \"#utility.yul\":1371:1376 */\n dup2\n /* \"#utility.yul\":1353:1377 */\n tag_43\n jump\t// in\n tag_79:\n /* \"#utility.yul\":1346:1351 */\n dup2\n /* \"#utility.yul\":1343:1378 */\n eq\n /* \"#utility.yul\":1333:1396 */\n tag_80\n jumpi\n /* \"#utility.yul\":1392:1393 */\n 0x00\n /* \"#utility.yul\":1389:1390 */\n dup1\n /* \"#utility.yul\":1382:1394 */\n revert\n /* \"#utility.yul\":1333:1396 */\n tag_80:\n /* \"#utility.yul\":1280:1402 */\n pop\n jump\t// out\n /* \"#utility.yul\":1408:1547 */\n tag_45:\n /* \"#utility.yul\":1454:1459 */\n 0x00\n /* \"#utility.yul\":1492:1498 */\n dup2\n /* \"#utility.yul\":1479:1499 */\n calldataload\n /* \"#utility.yul\":1470:1499 */\n swap1\n pop\n /* \"#utility.yul\":1508:1541 */\n tag_82\n /* \"#utility.yul\":1535:1540 */\n dup2\n /* \"#utility.yul\":1508:1541 */\n tag_44\n jump\t// in\n tag_82:\n /* \"#utility.yul\":1408:1547 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1553:2172 */\n tag_9:\n /* \"#utility.yul\":1630:1636 */\n 0x00\n /* \"#utility.yul\":1638:1644 */\n dup1\n /* \"#utility.yul\":1646:1652 */\n 0x00\n /* \"#utility.yul\":1695:1697 */\n 0x60\n /* \"#utility.yul\":1683:1692 */\n dup5\n /* \"#utility.yul\":1674:1681 */\n dup7\n /* \"#utility.yul\":1670:1693 */\n sub\n /* \"#utility.yul\":1666:1698 */\n slt\n /* \"#utility.yul\":1663:1782 */\n iszero\n tag_84\n jumpi\n /* \"#utility.yul\":1701:1780 */\n tag_85\n tag_34\n jump\t// in\n tag_85:\n /* \"#utility.yul\":1663:1782 */\n tag_84:\n /* \"#utility.yul\":1821:1822 */\n 0x00\n /* \"#utility.yul\":1846:1899 */\n tag_86\n /* \"#utility.yul\":1891:1898 */\n dup7\n /* \"#utility.yul\":1882:1888 */\n dup3\n /* \"#utility.yul\":1871:1880 */\n dup8\n /* \"#utility.yul\":1867:1889 */\n add\n /* \"#utility.yul\":1846:1899 */\n tag_39\n jump\t// in\n tag_86:\n /* \"#utility.yul\":1836:1899 */\n swap4\n pop\n /* \"#utility.yul\":1792:1909 */\n pop\n /* \"#utility.yul\":1948:1950 */\n 0x20\n /* \"#utility.yul\":1974:2027 */\n tag_87\n /* \"#utility.yul\":2019:2026 */\n dup7\n /* \"#utility.yul\":2010:2016 */\n dup3\n /* \"#utility.yul\":1999:2008 */\n dup8\n /* \"#utility.yul\":1995:2017 */\n add\n /* \"#utility.yul\":1974:2027 */\n tag_42\n jump\t// in\n tag_87:\n /* \"#utility.yul\":1964:2027 */\n swap3\n pop\n /* \"#utility.yul\":1919:2037 */\n pop\n /* \"#utility.yul\":2076:2078 */\n 0x40\n /* \"#utility.yul\":2102:2155 */\n tag_88\n /* \"#utility.yul\":2147:2154 */\n dup7\n /* \"#utility.yul\":2138:2144 */\n dup3\n /* \"#utility.yul\":2127:2136 */\n dup8\n /* \"#utility.yul\":2123:2145 */\n add\n /* \"#utility.yul\":2102:2155 */\n tag_45\n jump\t// in\n tag_88:\n /* \"#utility.yul\":2092:2155 */\n swap2\n pop\n /* \"#utility.yul\":2047:2165 */\n pop\n /* \"#utility.yul\":1553:2172 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":2178:2296 */\n tag_46:\n /* \"#utility.yul\":2265:2289 */\n tag_90\n /* \"#utility.yul\":2283:2288 */\n dup2\n /* \"#utility.yul\":2265:2289 */\n tag_40\n jump\t// in\n tag_90:\n /* \"#utility.yul\":2260:2263 */\n dup3\n /* \"#utility.yul\":2253:2290 */\n mstore\n /* \"#utility.yul\":2178:2296 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2302:2524 */\n tag_14:\n /* \"#utility.yul\":2395:2399 */\n 0x00\n /* \"#utility.yul\":2433:2435 */\n 0x20\n /* \"#utility.yul\":2422:2431 */\n dup3\n /* \"#utility.yul\":2418:2436 */\n add\n /* \"#utility.yul\":2410:2436 */\n swap1\n pop\n /* \"#utility.yul\":2446:2517 */\n tag_92\n /* \"#utility.yul\":2514:2515 */\n 0x00\n /* \"#utility.yul\":2503:2512 */\n dup4\n /* \"#utility.yul\":2499:2516 */\n add\n /* \"#utility.yul\":2490:2496 */\n dup5\n /* \"#utility.yul\":2446:2517 */\n tag_46\n jump\t// in\n tag_92:\n /* \"#utility.yul\":2302:2524 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2530:2648 */\n tag_47:\n /* \"#utility.yul\":2617:2641 */\n tag_94\n /* \"#utility.yul\":2635:2640 */\n dup2\n /* \"#utility.yul\":2617:2641 */\n tag_37\n jump\t// in\n tag_94:\n /* \"#utility.yul\":2612:2615 */\n dup3\n /* \"#utility.yul\":2605:2642 */\n mstore\n /* \"#utility.yul\":2530:2648 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2654:2876 */\n tag_18:\n /* \"#utility.yul\":2747:2751 */\n 0x00\n /* \"#utility.yul\":2785:2787 */\n 0x20\n /* \"#utility.yul\":2774:2783 */\n dup3\n /* \"#utility.yul\":2770:2788 */\n add\n /* \"#utility.yul\":2762:2788 */\n swap1\n pop\n /* \"#utility.yul\":2798:2869 */\n tag_96\n /* \"#utility.yul\":2866:2867 */\n 0x00\n /* \"#utility.yul\":2855:2864 */\n dup4\n /* \"#utility.yul\":2851:2868 */\n add\n /* \"#utility.yul\":2842:2848 */\n dup5\n /* \"#utility.yul\":2798:2869 */\n tag_47\n jump\t// in\n tag_96:\n /* \"#utility.yul\":2654:2876 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2882:2958 */\n tag_48:\n /* \"#utility.yul\":2918:2925 */\n 0x00\n /* \"#utility.yul\":2947:2952 */\n dup2\n /* \"#utility.yul\":2936:2952 */\n swap1\n pop\n /* \"#utility.yul\":2882:2958 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2964:3084 */\n tag_49:\n /* \"#utility.yul\":3036:3059 */\n tag_99\n /* \"#utility.yul\":3053:3058 */\n dup2\n /* \"#utility.yul\":3036:3059 */\n tag_48\n jump\t// in\n tag_99:\n /* \"#utility.yul\":3029:3034 */\n dup2\n /* \"#utility.yul\":3026:3060 */\n eq\n /* \"#utility.yul\":3016:3078 */\n tag_100\n jumpi\n /* \"#utility.yul\":3074:3075 */\n 0x00\n /* \"#utility.yul\":3071:3072 */\n dup1\n /* \"#utility.yul\":3064:3076 */\n revert\n /* \"#utility.yul\":3016:3078 */\n tag_100:\n /* \"#utility.yul\":2964:3084 */\n pop\n jump\t// out\n /* \"#utility.yul\":3090:3227 */\n tag_50:\n /* \"#utility.yul\":3135:3140 */\n 0x00\n /* \"#utility.yul\":3173:3179 */\n dup2\n /* \"#utility.yul\":3160:3180 */\n calldataload\n /* \"#utility.yul\":3151:3180 */\n swap1\n pop\n /* \"#utility.yul\":3189:3221 */\n tag_102\n /* \"#utility.yul\":3215:3220 */\n dup2\n /* \"#utility.yul\":3189:3221 */\n tag_49\n jump\t// in\n tag_102:\n /* \"#utility.yul\":3090:3227 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3233:3350 */\n tag_51:\n /* \"#utility.yul\":3342:3343 */\n 0x00\n /* \"#utility.yul\":3339:3340 */\n dup1\n /* \"#utility.yul\":3332:3344 */\n revert\n /* \"#utility.yul\":3356:3473 */\n tag_52:\n /* \"#utility.yul\":3465:3466 */\n 0x00\n /* \"#utility.yul\":3462:3463 */\n dup1\n /* \"#utility.yul\":3455:3467 */\n revert\n /* \"#utility.yul\":3479:3596 */\n tag_53:\n /* \"#utility.yul\":3588:3589 */\n 0x00\n /* \"#utility.yul\":3585:3586 */\n dup1\n /* \"#utility.yul\":3578:3590 */\n revert\n /* \"#utility.yul\":3615:4167 */\n tag_54:\n /* \"#utility.yul\":3672:3680 */\n 0x00\n /* \"#utility.yul\":3682:3688 */\n dup1\n /* \"#utility.yul\":3732:3735 */\n dup4\n /* \"#utility.yul\":3725:3729 */\n 0x1f\n /* \"#utility.yul\":3717:3723 */\n dup5\n /* \"#utility.yul\":3713:3730 */\n add\n /* \"#utility.yul\":3709:3736 */\n slt\n /* \"#utility.yul\":3699:3821 */\n tag_107\n jumpi\n /* \"#utility.yul\":3740:3819 */\n tag_108\n tag_51\n jump\t// in\n tag_108:\n /* \"#utility.yul\":3699:3821 */\n tag_107:\n /* \"#utility.yul\":3853:3859 */\n dup3\n /* \"#utility.yul\":3840:3860 */\n calldataload\n /* \"#utility.yul\":3830:3860 */\n swap1\n pop\n /* \"#utility.yul\":3883:3901 */\n 0xffffffffffffffff\n /* \"#utility.yul\":3875:3881 */\n dup2\n /* \"#utility.yul\":3872:3902 */\n gt\n /* \"#utility.yul\":3869:3986 */\n iszero\n tag_109\n jumpi\n /* \"#utility.yul\":3905:3984 */\n tag_110\n tag_52\n jump\t// in\n tag_110:\n /* \"#utility.yul\":3869:3986 */\n tag_109:\n /* \"#utility.yul\":4019:4023 */\n 0x20\n /* \"#utility.yul\":4011:4017 */\n dup4\n /* \"#utility.yul\":4007:4024 */\n add\n /* \"#utility.yul\":3995:4024 */\n swap2\n pop\n /* \"#utility.yul\":4073:4076 */\n dup4\n /* \"#utility.yul\":4065:4069 */\n 0x01\n /* \"#utility.yul\":4057:4063 */\n dup3\n /* \"#utility.yul\":4053:4070 */\n mul\n /* \"#utility.yul\":4043:4051 */\n dup4\n /* \"#utility.yul\":4039:4071 */\n add\n /* \"#utility.yul\":4036:4077 */\n gt\n /* \"#utility.yul\":4033:4161 */\n iszero\n tag_111\n jumpi\n /* \"#utility.yul\":4080:4159 */\n tag_112\n tag_53\n jump\t// in\n tag_112:\n /* \"#utility.yul\":4033:4161 */\n tag_111:\n /* \"#utility.yul\":3615:4167 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4173:5278 */\n tag_21:\n /* \"#utility.yul\":4277:4283 */\n 0x00\n /* \"#utility.yul\":4285:4291 */\n dup1\n /* \"#utility.yul\":4293:4299 */\n 0x00\n /* \"#utility.yul\":4301:4307 */\n dup1\n /* \"#utility.yul\":4309:4315 */\n 0x00\n /* \"#utility.yul\":4317:4323 */\n dup1\n /* \"#utility.yul\":4366:4369 */\n 0xa0\n /* \"#utility.yul\":4354:4363 */\n dup8\n /* \"#utility.yul\":4345:4352 */\n dup10\n /* \"#utility.yul\":4341:4364 */\n sub\n /* \"#utility.yul\":4337:4370 */\n slt\n /* \"#utility.yul\":4334:4454 */\n iszero\n tag_114\n jumpi\n /* \"#utility.yul\":4373:4452 */\n tag_115\n tag_34\n jump\t// in\n tag_115:\n /* \"#utility.yul\":4334:4454 */\n tag_114:\n /* \"#utility.yul\":4493:4494 */\n 0x00\n /* \"#utility.yul\":4518:4571 */\n tag_116\n /* \"#utility.yul\":4563:4570 */\n dup10\n /* \"#utility.yul\":4554:4560 */\n dup3\n /* \"#utility.yul\":4543:4552 */\n dup11\n /* \"#utility.yul\":4539:4561 */\n add\n /* \"#utility.yul\":4518:4571 */\n tag_39\n jump\t// in\n tag_116:\n /* \"#utility.yul\":4508:4571 */\n swap7\n pop\n /* \"#utility.yul\":4464:4581 */\n pop\n /* \"#utility.yul\":4620:4622 */\n 0x20\n /* \"#utility.yul\":4646:4699 */\n tag_117\n /* \"#utility.yul\":4691:4698 */\n dup10\n /* \"#utility.yul\":4682:4688 */\n dup3\n /* \"#utility.yul\":4671:4680 */\n dup11\n /* \"#utility.yul\":4667:4689 */\n add\n /* \"#utility.yul\":4646:4699 */\n tag_39\n jump\t// in\n tag_117:\n /* \"#utility.yul\":4636:4699 */\n swap6\n pop\n /* \"#utility.yul\":4591:4709 */\n pop\n /* \"#utility.yul\":4748:4750 */\n 0x40\n /* \"#utility.yul\":4774:4826 */\n tag_118\n /* \"#utility.yul\":4818:4825 */\n dup10\n /* \"#utility.yul\":4809:4815 */\n dup3\n /* \"#utility.yul\":4798:4807 */\n dup11\n /* \"#utility.yul\":4794:4816 */\n add\n /* \"#utility.yul\":4774:4826 */\n tag_50\n jump\t// in\n tag_118:\n /* \"#utility.yul\":4764:4826 */\n swap5\n pop\n /* \"#utility.yul\":4719:4836 */\n pop\n /* \"#utility.yul\":4875:4877 */\n 0x60\n /* \"#utility.yul\":4901:4953 */\n tag_119\n /* \"#utility.yul\":4945:4952 */\n dup10\n /* \"#utility.yul\":4936:4942 */\n dup3\n /* \"#utility.yul\":4925:4934 */\n dup11\n /* \"#utility.yul\":4921:4943 */\n add\n /* \"#utility.yul\":4901:4953 */\n tag_50\n jump\t// in\n tag_119:\n /* \"#utility.yul\":4891:4953 */\n swap4\n pop\n /* \"#utility.yul\":4846:4963 */\n pop\n /* \"#utility.yul\":5030:5033 */\n 0x80\n /* \"#utility.yul\":5019:5028 */\n dup8\n /* \"#utility.yul\":5015:5034 */\n add\n /* \"#utility.yul\":5002:5035 */\n calldataload\n /* \"#utility.yul\":5062:5080 */\n 0xffffffffffffffff\n /* \"#utility.yul\":5054:5060 */\n dup2\n /* \"#utility.yul\":5051:5081 */\n gt\n /* \"#utility.yul\":5048:5165 */\n iszero\n tag_120\n jumpi\n /* \"#utility.yul\":5084:5163 */\n tag_121\n tag_35\n jump\t// in\n tag_121:\n /* \"#utility.yul\":5048:5165 */\n tag_120:\n /* \"#utility.yul\":5197:5261 */\n tag_122\n /* \"#utility.yul\":5253:5260 */\n dup10\n /* \"#utility.yul\":5244:5250 */\n dup3\n /* \"#utility.yul\":5233:5242 */\n dup11\n /* \"#utility.yul\":5229:5251 */\n add\n /* \"#utility.yul\":5197:5261 */\n tag_54\n jump\t// in\n tag_122:\n /* \"#utility.yul\":5179:5261 */\n swap3\n pop\n swap3\n pop\n /* \"#utility.yul\":4973:5271 */\n pop\n /* \"#utility.yul\":4173:5278 */\n swap3\n swap6\n pop\n swap3\n swap6\n pop\n swap3\n swap6\n jump\t// out\n /* \"#utility.yul\":5284:5726 */\n tag_25:\n /* \"#utility.yul\":5433:5437 */\n 0x00\n /* \"#utility.yul\":5471:5473 */\n 0x60\n /* \"#utility.yul\":5460:5469 */\n dup3\n /* \"#utility.yul\":5456:5474 */\n add\n /* \"#utility.yul\":5448:5474 */\n swap1\n pop\n /* \"#utility.yul\":5484:5555 */\n tag_124\n /* \"#utility.yul\":5552:5553 */\n 0x00\n /* \"#utility.yul\":5541:5550 */\n dup4\n /* \"#utility.yul\":5537:5554 */\n add\n /* \"#utility.yul\":5528:5534 */\n dup7\n /* \"#utility.yul\":5484:5555 */\n tag_47\n jump\t// in\n tag_124:\n /* \"#utility.yul\":5565:5637 */\n tag_125\n /* \"#utility.yul\":5633:5635 */\n 0x20\n /* \"#utility.yul\":5622:5631 */\n dup4\n /* \"#utility.yul\":5618:5636 */\n add\n /* \"#utility.yul\":5609:5615 */\n dup6\n /* \"#utility.yul\":5565:5637 */\n tag_47\n jump\t// in\n tag_125:\n /* \"#utility.yul\":5647:5719 */\n tag_126\n /* \"#utility.yul\":5715:5717 */\n 0x40\n /* \"#utility.yul\":5704:5713 */\n dup4\n /* \"#utility.yul\":5700:5718 */\n add\n /* \"#utility.yul\":5691:5697 */\n dup5\n /* \"#utility.yul\":5647:5719 */\n tag_46\n jump\t// in\n tag_126:\n /* \"#utility.yul\":5284:5726 */\n swap5\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5732:5822 */\n tag_55:\n /* \"#utility.yul\":5766:5773 */\n 0x00\n /* \"#utility.yul\":5809:5814 */\n dup2\n /* \"#utility.yul\":5802:5815 */\n iszero\n /* \"#utility.yul\":5795:5816 */\n iszero\n /* \"#utility.yul\":5784:5816 */\n swap1\n pop\n /* \"#utility.yul\":5732:5822 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5828:5944 */\n tag_56:\n /* \"#utility.yul\":5898:5919 */\n tag_129\n /* \"#utility.yul\":5913:5918 */\n dup2\n /* \"#utility.yul\":5898:5919 */\n tag_55\n jump\t// in\n tag_129:\n /* \"#utility.yul\":5891:5896 */\n dup2\n /* \"#utility.yul\":5888:5920 */\n eq\n /* \"#utility.yul\":5878:5938 */\n tag_130\n jumpi\n /* \"#utility.yul\":5934:5935 */\n 0x00\n /* \"#utility.yul\":5931:5932 */\n dup1\n /* \"#utility.yul\":5924:5936 */\n revert\n /* \"#utility.yul\":5878:5938 */\n tag_130:\n /* \"#utility.yul\":5828:5944 */\n pop\n jump\t// out\n /* \"#utility.yul\":5950:6087 */\n tag_57:\n /* \"#utility.yul\":6004:6009 */\n 0x00\n /* \"#utility.yul\":6035:6041 */\n dup2\n /* \"#utility.yul\":6029:6042 */\n mload\n /* \"#utility.yul\":6020:6042 */\n swap1\n pop\n /* \"#utility.yul\":6051:6081 */\n tag_132\n /* \"#utility.yul\":6075:6080 */\n dup2\n /* \"#utility.yul\":6051:6081 */\n tag_56\n jump\t// in\n tag_132:\n /* \"#utility.yul\":5950:6087 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6093:6438 */\n tag_29:\n /* \"#utility.yul\":6160:6166 */\n 0x00\n /* \"#utility.yul\":6209:6211 */\n 0x20\n /* \"#utility.yul\":6197:6206 */\n dup3\n /* \"#utility.yul\":6188:6195 */\n dup5\n /* \"#utility.yul\":6184:6207 */\n sub\n /* \"#utility.yul\":6180:6212 */\n slt\n /* \"#utility.yul\":6177:6296 */\n iszero\n tag_134\n jumpi\n /* \"#utility.yul\":6215:6294 */\n tag_135\n tag_34\n jump\t// in\n tag_135:\n /* \"#utility.yul\":6177:6296 */\n tag_134:\n /* \"#utility.yul\":6335:6336 */\n 0x00\n /* \"#utility.yul\":6360:6421 */\n tag_136\n /* \"#utility.yul\":6413:6420 */\n dup5\n /* \"#utility.yul\":6404:6410 */\n dup3\n /* \"#utility.yul\":6393:6402 */\n dup6\n /* \"#utility.yul\":6389:6411 */\n add\n /* \"#utility.yul\":6360:6421 */\n tag_57\n jump\t// in\n tag_136:\n /* \"#utility.yul\":6350:6421 */\n swap2\n pop\n /* \"#utility.yul\":6306:6431 */\n pop\n /* \"#utility.yul\":6093:6438 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6444:6624 */\n tag_58:\n /* \"#utility.yul\":6492:6569 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6489:6490 */\n 0x00\n /* \"#utility.yul\":6482:6570 */\n mstore\n /* \"#utility.yul\":6589:6593 */\n 0x11\n /* \"#utility.yul\":6586:6587 */\n 0x04\n /* \"#utility.yul\":6579:6594 */\n mstore\n /* \"#utility.yul\":6613:6617 */\n 0x24\n /* \"#utility.yul\":6610:6611 */\n 0x00\n /* \"#utility.yul\":6603:6618 */\n revert\n /* \"#utility.yul\":6630:6863 */\n tag_32:\n /* \"#utility.yul\":6669:6672 */\n 0x00\n /* \"#utility.yul\":6692:6716 */\n tag_139\n /* \"#utility.yul\":6710:6715 */\n dup3\n /* \"#utility.yul\":6692:6716 */\n tag_40\n jump\t// in\n tag_139:\n /* \"#utility.yul\":6683:6716 */\n swap2\n pop\n /* \"#utility.yul\":6738:6804 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":6731:6736 */\n dup3\n /* \"#utility.yul\":6728:6805 */\n sub\n /* \"#utility.yul\":6725:6828 */\n tag_140\n jumpi\n /* \"#utility.yul\":6808:6826 */\n tag_141\n tag_58\n jump\t// in\n tag_141:\n /* \"#utility.yul\":6725:6828 */\n tag_140:\n /* \"#utility.yul\":6855:6856 */\n 0x01\n /* \"#utility.yul\":6848:6853 */\n dup3\n /* \"#utility.yul\":6844:6857 */\n add\n /* \"#utility.yul\":6837:6857 */\n swap1\n pop\n /* \"#utility.yul\":6630:6863 */\n swap2\n swap1\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220dfa8e4af1f60efb0236bb0d44201ca35510f48fe7f8515139d84a002499b08e164736f6c63430008120033\n}\n",
"bytecode": {
"functionDebugData": {
"@_27": {
"entryPoint": null,
"id": 27,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_address_fromMemory": {
"entryPoint": 198,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address_fromMemory": {
"entryPoint": 219,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 157,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 125,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 120,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 175,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1199:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "404:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "411:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "400:3:1"
},
"nodeType": "YulFunctionCall",
"src": "400:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "511:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "521:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "550:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "532:17:1"
},
"nodeType": "YulFunctionCall",
"src": "532:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "521:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "493:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "503:7:1",
"type": ""
}
],
"src": "466:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "611:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "668:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "677:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "680:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "670:6:1"
},
"nodeType": "YulFunctionCall",
"src": "670:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "670:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "634:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "659:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "641:17:1"
},
"nodeType": "YulFunctionCall",
"src": "641:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "631:2:1"
},
"nodeType": "YulFunctionCall",
"src": "631:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "624:6:1"
},
"nodeType": "YulFunctionCall",
"src": "624:43:1"
},
"nodeType": "YulIf",
"src": "621:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "604:5:1",
"type": ""
}
],
"src": "568:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "759:80:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "769:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "784:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "778:5:1"
},
"nodeType": "YulFunctionCall",
"src": "778:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "769:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "827:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "800:26:1"
},
"nodeType": "YulFunctionCall",
"src": "800:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "800:33:1"
}
]
},
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "737:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "745:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "753:5:1",
"type": ""
}
],
"src": "696:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "922:274:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "968:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "970:77:1"
},
"nodeType": "YulFunctionCall",
"src": "970:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "970:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "943:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "952:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "939:3:1"
},
"nodeType": "YulFunctionCall",
"src": "939:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "964:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "935:3:1"
},
"nodeType": "YulFunctionCall",
"src": "935:32:1"
},
"nodeType": "YulIf",
"src": "932:119:1"
},
{
"nodeType": "YulBlock",
"src": "1061:128:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1076:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1090:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1080:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1105:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1151:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1162:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1147:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1147:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1171:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulIdentifier",
"src": "1115:31:1"
},
"nodeType": "YulFunctionCall",
"src": "1115:64:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1105:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "892:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "903:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "915:6:1",
"type": ""
}
],
"src": "845:351:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506040516106c53803806106c5833981810160405281019061003291906100db565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610108565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100a88261007d565b9050919050565b6100b88161009d565b81146100c357600080fd5b50565b6000815190506100d5816100af565b92915050565b6000602082840312156100f1576100f0610078565b5b60006100ff848285016100c6565b91505092915050565b6105ae806101176000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806326b3293f1461005157806361bc221a1461006d578063b2016bd41461008b578063f77c4036146100a9575b600080fd5b61006b60048036038101906100669190610289565b6100c5565b005b61007561016b565b60405161008291906102eb565b60405180910390f35b610093610171565b6040516100a09190610315565b60405180910390f35b6100c360048036038101906100be91906103cb565b610195565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b815260040161012293929190610465565b6020604051808303816000875af1158015610141573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016591906104d4565b50505050565b60015481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160008154809291906101a890610530565b9190505550505050505050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101ea826101bf565b9050919050565b6101fa816101df565b811461020557600080fd5b50565b600081359050610217816101f1565b92915050565b6000819050919050565b6102308161021d565b811461023b57600080fd5b50565b60008135905061024d81610227565b92915050565b6000819050919050565b61026681610253565b811461027157600080fd5b50565b6000813590506102838161025d565b92915050565b6000806000606084860312156102a2576102a16101b5565b5b60006102b086828701610208565b93505060206102c18682870161023e565b92505060406102d286828701610274565b9150509250925092565b6102e58161021d565b82525050565b600060208201905061030060008301846102dc565b92915050565b61030f816101df565b82525050565b600060208201905061032a6000830184610306565b92915050565b6000819050919050565b61034381610330565b811461034e57600080fd5b50565b6000813590506103608161033a565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261038b5761038a610366565b5b8235905067ffffffffffffffff8111156103a8576103a761036b565b5b6020830191508360018202830111156103c4576103c3610370565b5b9250929050565b60008060008060008060a087890312156103e8576103e76101b5565b5b60006103f689828a01610208565b965050602061040789828a01610208565b955050604061041889828a01610351565b945050606061042989828a01610351565b935050608087013567ffffffffffffffff81111561044a576104496101ba565b5b61045689828a01610375565b92509250509295509295509295565b600060608201905061047a6000830186610306565b6104876020830185610306565b61049460408301846102dc565b949350505050565b60008115159050919050565b6104b18161049c565b81146104bc57600080fd5b50565b6000815190506104ce816104a8565b92915050565b6000602082840312156104ea576104e96101b5565b5b60006104f8848285016104bf565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061053b8261021d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361056d5761056c610501565b5b60018201905091905056fea2646970667358221220dfa8e4af1f60efb0236bb0d44201ca35510f48fe7f8515139d84a002499b08e164736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x6C5 CODESIZE SUB DUP1 PUSH2 0x6C5 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0xDB JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP PUSH2 0x108 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA8 DUP3 PUSH2 0x7D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB8 DUP2 PUSH2 0x9D JUMP JUMPDEST DUP2 EQ PUSH2 0xC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xD5 DUP2 PUSH2 0xAF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF1 JUMPI PUSH2 0xF0 PUSH2 0x78 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFF DUP5 DUP3 DUP6 ADD PUSH2 0xC6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x5AE DUP1 PUSH2 0x117 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 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x26B3293F EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x61BC221A EQ PUSH2 0x6D JUMPI DUP1 PUSH4 0xB2016BD4 EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xF77C4036 EQ PUSH2 0xA9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x289 JUMP JUMPDEST PUSH2 0xC5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x75 PUSH2 0x16B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x82 SWAP2 SWAP1 PUSH2 0x2EB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x93 PUSH2 0x171 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x315 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xBE SWAP2 SWAP1 PUSH2 0x3CB JUMP JUMPDEST PUSH2 0x195 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x23B872DD CALLER ADDRESS DUP6 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x122 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x465 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x141 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x165 SWAP2 SWAP1 PUSH2 0x4D4 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x1A8 SWAP1 PUSH2 0x530 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EA DUP3 PUSH2 0x1BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FA DUP2 PUSH2 0x1DF JUMP JUMPDEST DUP2 EQ PUSH2 0x205 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x217 DUP2 PUSH2 0x1F1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x230 DUP2 PUSH2 0x21D JUMP JUMPDEST DUP2 EQ PUSH2 0x23B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x24D DUP2 PUSH2 0x227 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x266 DUP2 PUSH2 0x253 JUMP JUMPDEST DUP2 EQ PUSH2 0x271 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x283 DUP2 PUSH2 0x25D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2A2 JUMPI PUSH2 0x2A1 PUSH2 0x1B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2B0 DUP7 DUP3 DUP8 ADD PUSH2 0x208 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x2C1 DUP7 DUP3 DUP8 ADD PUSH2 0x23E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x2D2 DUP7 DUP3 DUP8 ADD PUSH2 0x274 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x2E5 DUP2 PUSH2 0x21D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x300 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2DC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x30F DUP2 PUSH2 0x1DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x32A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x306 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x343 DUP2 PUSH2 0x330 JUMP JUMPDEST DUP2 EQ PUSH2 0x34E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x360 DUP2 PUSH2 0x33A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x38B JUMPI PUSH2 0x38A PUSH2 0x366 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3A8 JUMPI PUSH2 0x3A7 PUSH2 0x36B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x3C4 JUMPI PUSH2 0x3C3 PUSH2 0x370 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x3E8 JUMPI PUSH2 0x3E7 PUSH2 0x1B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3F6 DUP10 DUP3 DUP11 ADD PUSH2 0x208 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x20 PUSH2 0x407 DUP10 DUP3 DUP11 ADD PUSH2 0x208 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 PUSH2 0x418 DUP10 DUP3 DUP11 ADD PUSH2 0x351 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x60 PUSH2 0x429 DUP10 DUP3 DUP11 ADD PUSH2 0x351 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x44A JUMPI PUSH2 0x449 PUSH2 0x1BA JUMP JUMPDEST JUMPDEST PUSH2 0x456 DUP10 DUP3 DUP11 ADD PUSH2 0x375 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x47A PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x306 JUMP JUMPDEST PUSH2 0x487 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x306 JUMP JUMPDEST PUSH2 0x494 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x2DC JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4B1 DUP2 PUSH2 0x49C JUMP JUMPDEST DUP2 EQ PUSH2 0x4BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x4CE DUP2 PUSH2 0x4A8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4EA JUMPI PUSH2 0x4E9 PUSH2 0x1B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x4F8 DUP5 DUP3 DUP6 ADD PUSH2 0x4BF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x53B DUP3 PUSH2 0x21D JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x56D JUMPI PUSH2 0x56C PUSH2 0x501 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDF 0xA8 0xE4 0xAF 0x1F PUSH1 0xEF 0xB0 0x23 PUSH12 0xB0D44201CA35510F48FE7F85 ISZERO SGT SWAP14 DUP5 LOG0 MUL 0x49 SWAP12 ADDMOD 0xE1 PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "194:516:0:-:0;;;286:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;352:16;334:15;;:34;;;;;;;;;;;;;;;;;;286:89;194:516;;88:117:1;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:351::-;915:6;964:2;952:9;943:7;939:23;935:32;932:119;;;970:79;;:::i;:::-;932:119;1090:1;1115:64;1171:7;1162:6;1151:9;1147:22;1115:64;:::i;:::-;1105:74;;1061:128;845:351;;;;:::o;194:516:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@collateralToken_15": {
"entryPoint": 369,
"id": 15,
"parameterSlots": 0,
"returnSlots": 0
},
"@counter_17": {
"entryPoint": 363,
"id": 17,
"parameterSlots": 0,
"returnSlots": 0
},
"@deposit_50": {
"entryPoint": 197,
"id": 50,
"parameterSlots": 3,
"returnSlots": 0
},
"@onAdjustPosition_67": {
"entryPoint": 405,
"id": 67,
"parameterSlots": 6,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 520,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bool_fromMemory": {
"entryPoint": 1215,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bytes32": {
"entryPoint": 628,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bytes_calldata_ptr": {
"entryPoint": 885,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_t_int256": {
"entryPoint": 849,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 574,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_addresst_int256t_int256t_bytes_calldata_ptr": {
"entryPoint": 971,
"id": null,
"parameterSlots": 2,
"returnSlots": 6
},
"abi_decode_tuple_t_addresst_uint256t_bytes32": {
"entryPoint": 649,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_bool_fromMemory": {
"entryPoint": 1236,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 774,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 732,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 789,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 1125,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 747,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 479,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 1180,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bytes32": {
"entryPoint": 595,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_int256": {
"entryPoint": 816,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 447,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 541,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"increment_t_uint256": {
"entryPoint": 1328,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 1281,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": {
"entryPoint": 875,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 870,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": {
"entryPoint": 880,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 442,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 437,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 497,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bool": {
"entryPoint": 1192,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bytes32": {
"entryPoint": 605,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_int256": {
"entryPoint": 826,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 551,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:6866:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "404:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "411:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "400:3:1"
},
"nodeType": "YulFunctionCall",
"src": "400:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "511:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "521:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "550:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "532:17:1"
},
"nodeType": "YulFunctionCall",
"src": "532:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "521:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "493:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "503:7:1",
"type": ""
}
],
"src": "466:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "611:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "668:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "677:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "680:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "670:6:1"
},
"nodeType": "YulFunctionCall",
"src": "670:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "670:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "634:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "659:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "641:17:1"
},
"nodeType": "YulFunctionCall",
"src": "641:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "631:2:1"
},
"nodeType": "YulFunctionCall",
"src": "631:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "624:6:1"
},
"nodeType": "YulFunctionCall",
"src": "624:43:1"
},
"nodeType": "YulIf",
"src": "621:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "604:5:1",
"type": ""
}
],
"src": "568:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "748:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "758:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "780:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "767:12:1"
},
"nodeType": "YulFunctionCall",
"src": "767:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "758:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "823:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "796:26:1"
},
"nodeType": "YulFunctionCall",
"src": "796:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "796:33:1"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "726:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "734:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "742:5:1",
"type": ""
}
],
"src": "696:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "886:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "896:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "907:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "896:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "868:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "878:7:1",
"type": ""
}
],
"src": "841:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "967:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1024:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1033:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1036:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1026:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1026:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1026:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "990:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1015:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "997:17:1"
},
"nodeType": "YulFunctionCall",
"src": "997:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "987:2:1"
},
"nodeType": "YulFunctionCall",
"src": "987:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "980:6:1"
},
"nodeType": "YulFunctionCall",
"src": "980:43:1"
},
"nodeType": "YulIf",
"src": "977:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "960:5:1",
"type": ""
}
],
"src": "924:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1104:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1114:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1136:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1123:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1123:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1114:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1179:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "1152:26:1"
},
"nodeType": "YulFunctionCall",
"src": "1152:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1152:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1082:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1090:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1098:5:1",
"type": ""
}
],
"src": "1052:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1242:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1252:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1263:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1252:7:1"
}
]
}
]
},
"name": "cleanup_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1224:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1234:7:1",
"type": ""
}
],
"src": "1197:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1323:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1380:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1389:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1392:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1382:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1382:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1382:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1346:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1371:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nodeType": "YulIdentifier",
"src": "1353:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1353:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1343:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1343:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1336:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1336:43:1"
},
"nodeType": "YulIf",
"src": "1333:63:1"
}
]
},
"name": "validator_revert_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1316:5:1",
"type": ""
}
],
"src": "1280:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1460:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1470:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1492:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1479:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1479:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1470:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1535:5:1"
}
],
"functionName": {
"name": "validator_revert_t_bytes32",
"nodeType": "YulIdentifier",
"src": "1508:26:1"
},
"nodeType": "YulFunctionCall",
"src": "1508:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1508:33:1"
}
]
},
"name": "abi_decode_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1438:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1446:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1454:5:1",
"type": ""
}
],
"src": "1408:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1653:519:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1699:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1701:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1701:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1701:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1674:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1683:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1670:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1670:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1695:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1666:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1666:32:1"
},
"nodeType": "YulIf",
"src": "1663:119:1"
},
{
"nodeType": "YulBlock",
"src": "1792:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1807:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1821:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1811:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1836:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1871:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1882:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1867:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1867:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1891:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1846:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1846:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1836:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1919:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1934:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1948:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1938:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1964:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1999:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2010:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1995:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1995:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2019:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1974:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1974:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1964:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "2047:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2062:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2076:2:1",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2066:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2092:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2127:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2138:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2123:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2123:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2147:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bytes32",
"nodeType": "YulIdentifier",
"src": "2102:20:1"
},
"nodeType": "YulFunctionCall",
"src": "2102:53:1"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "2092:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1607:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1618:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1630:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1638:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "1646:6:1",
"type": ""
}
],
"src": "1553:619:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2243:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2260:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2283:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2265:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2265:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2253:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2253:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2253:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2231:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2238:3:1",
"type": ""
}
],
"src": "2178:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2400:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2410:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2422:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2433:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2418:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2418:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2410:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2490:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2503:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2514:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2499:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2499:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "2446:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2446:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2446:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2372:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2384:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2395:4:1",
"type": ""
}
],
"src": "2302:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2595:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2612:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2635:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "2617:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2617:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2605:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2605:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2605:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2583:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2590:3:1",
"type": ""
}
],
"src": "2530:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2752:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2762:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2774:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2785:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2770:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2770:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2762:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2842:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2855:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2866:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2851:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2851:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "2798:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2798:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2798:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2724:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2736:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2747:4:1",
"type": ""
}
],
"src": "2654:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2926:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2936:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "2947:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2936:7:1"
}
]
}
]
},
"name": "cleanup_t_int256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2908:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2918:7:1",
"type": ""
}
],
"src": "2882:76:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3006:78:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3062:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3071:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3074:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3064:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3064:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3064:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3029:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3053:5:1"
}
],
"functionName": {
"name": "cleanup_t_int256",
"nodeType": "YulIdentifier",
"src": "3036:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3036:23:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3026:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3026:34:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3019:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3019:42:1"
},
"nodeType": "YulIf",
"src": "3016:62:1"
}
]
},
"name": "validator_revert_t_int256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2999:5:1",
"type": ""
}
],
"src": "2964:120:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3141:86:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3151:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3173:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "3160:12:1"
},
"nodeType": "YulFunctionCall",
"src": "3160:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3151:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3215:5:1"
}
],
"functionName": {
"name": "validator_revert_t_int256",
"nodeType": "YulIdentifier",
"src": "3189:25:1"
},
"nodeType": "YulFunctionCall",
"src": "3189:32:1"
},
"nodeType": "YulExpressionStatement",
"src": "3189:32:1"
}
]
},
"name": "abi_decode_t_int256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3119:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3127:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3135:5:1",
"type": ""
}
],
"src": "3090:137:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3322:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3339:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3342:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3332:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3332:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3332:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "3233:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3445:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3462:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3465:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3455:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3455:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3455:12:1"
}
]
},
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulFunctionDefinition",
"src": "3356:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3568:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3585:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3588:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3578:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3578:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3578:12:1"
}
]
},
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulFunctionDefinition",
"src": "3479:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3689:478:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3738:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "3740:77:1"
},
"nodeType": "YulFunctionCall",
"src": "3740:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "3740:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3717:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3725:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3713:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3713:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3732:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3709:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3709:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3702:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3702:35:1"
},
"nodeType": "YulIf",
"src": "3699:122:1"
},
{
"nodeType": "YulAssignment",
"src": "3830:30:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3853:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "3840:12:1"
},
"nodeType": "YulFunctionCall",
"src": "3840:20:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3830:6:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3903:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulIdentifier",
"src": "3905:77:1"
},
"nodeType": "YulFunctionCall",
"src": "3905:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "3905:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3875:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3883:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3872:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3872:30:1"
},
"nodeType": "YulIf",
"src": "3869:117:1"
},
{
"nodeType": "YulAssignment",
"src": "3995:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4011:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4019:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4007:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4007:17:1"
},
"variableNames": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "3995:8:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4078:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulIdentifier",
"src": "4080:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4080:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4080:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "4043:8:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4057:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4065:4:1",
"type": "",
"value": "0x01"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "4053:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4053:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4039:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4039:32:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4073:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4036:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4036:41:1"
},
"nodeType": "YulIf",
"src": "4033:128:1"
}
]
},
"name": "abi_decode_t_bytes_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3656:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3664:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "arrayPos",
"nodeType": "YulTypedName",
"src": "3672:8:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3682:6:1",
"type": ""
}
],
"src": "3615:552:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4324:954:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4371:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "4373:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4373:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4373:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4345:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4354:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4341:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4341:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4366:3:1",
"type": "",
"value": "160"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "4337:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4337:33:1"
},
"nodeType": "YulIf",
"src": "4334:120:1"
},
{
"nodeType": "YulBlock",
"src": "4464:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4479:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4493:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4483:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4508:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4543:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4554:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4539:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4539:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4563:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "4518:20:1"
},
"nodeType": "YulFunctionCall",
"src": "4518:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4508:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4591:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4606:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4620:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4610:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4636:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4671:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4682:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4667:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4667:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4691:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "4646:20:1"
},
"nodeType": "YulFunctionCall",
"src": "4646:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4636:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4719:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4734:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4748:2:1",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4738:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4764:62:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4798:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4809:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4794:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4794:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4818:7:1"
}
],
"functionName": {
"name": "abi_decode_t_int256",
"nodeType": "YulIdentifier",
"src": "4774:19:1"
},
"nodeType": "YulFunctionCall",
"src": "4774:52:1"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "4764:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4846:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4861:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4875:2:1",
"type": "",
"value": "96"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4865:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4891:62:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4925:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4936:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4921:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4921:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4945:7:1"
}
],
"functionName": {
"name": "abi_decode_t_int256",
"nodeType": "YulIdentifier",
"src": "4901:19:1"
},
"nodeType": "YulFunctionCall",
"src": "4901:52:1"
},
"variableNames": [
{
"name": "value3",
"nodeType": "YulIdentifier",
"src": "4891:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4973:298:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4988:47:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5019:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5030:3:1",
"type": "",
"value": "128"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5015:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5015:19:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "5002:12:1"
},
"nodeType": "YulFunctionCall",
"src": "5002:33:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4992:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5082:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "5084:77:1"
},
"nodeType": "YulFunctionCall",
"src": "5084:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "5084:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5054:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5062:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5051:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5051:30:1"
},
"nodeType": "YulIf",
"src": "5048:117:1"
},
{
"nodeType": "YulAssignment",
"src": "5179:82:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5233:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5244:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5229:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5229:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5253:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bytes_calldata_ptr",
"nodeType": "YulIdentifier",
"src": "5197:31:1"
},
"nodeType": "YulFunctionCall",
"src": "5197:64:1"
},
"variableNames": [
{
"name": "value4",
"nodeType": "YulIdentifier",
"src": "5179:6:1"
},
{
"name": "value5",
"nodeType": "YulIdentifier",
"src": "5187:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_addresst_int256t_int256t_bytes_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4254:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "4265:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4277:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "4285:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "4293:6:1",
"type": ""
},
{
"name": "value3",
"nodeType": "YulTypedName",
"src": "4301:6:1",
"type": ""
},
{
"name": "value4",
"nodeType": "YulTypedName",
"src": "4309:6:1",
"type": ""
},
{
"name": "value5",
"nodeType": "YulTypedName",
"src": "4317:6:1",
"type": ""
}
],
"src": "4173:1105:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5438:288:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5448:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5460:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5471:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5456:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5456:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5448:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5528:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5541:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5552:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5537:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5537:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "5484:43:1"
},
"nodeType": "YulFunctionCall",
"src": "5484:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "5484:71:1"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "5609:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5622:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5633:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5618:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5618:18:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "5565:43:1"
},
"nodeType": "YulFunctionCall",
"src": "5565:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "5565:72:1"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "5691:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5704:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5715:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5700:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5700:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "5647:43:1"
},
"nodeType": "YulFunctionCall",
"src": "5647:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "5647:72:1"
}
]
},
"name": "abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5394:9:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "5406:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "5414:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5422:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5433:4:1",
"type": ""
}
],
"src": "5284:442:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5774:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5784:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5809:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5802:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5802:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5795:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5795:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5784:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5756:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5766:7:1",
"type": ""
}
],
"src": "5732:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5868:76:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5922:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5931:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5934:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5924:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5924:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "5924:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5891:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5913:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "5898:14:1"
},
"nodeType": "YulFunctionCall",
"src": "5898:21:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "5888:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5888:32:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5881:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5881:40:1"
},
"nodeType": "YulIf",
"src": "5878:60:1"
}
]
},
"name": "validator_revert_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5861:5:1",
"type": ""
}
],
"src": "5828:116:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6010:77:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6020:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6035:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "6029:5:1"
},
"nodeType": "YulFunctionCall",
"src": "6029:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6020:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6075:5:1"
}
],
"functionName": {
"name": "validator_revert_t_bool",
"nodeType": "YulIdentifier",
"src": "6051:23:1"
},
"nodeType": "YulFunctionCall",
"src": "6051:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "6051:30:1"
}
]
},
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "5988:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "5996:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6004:5:1",
"type": ""
}
],
"src": "5950:137:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6167:271:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "6213:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "6215:77:1"
},
"nodeType": "YulFunctionCall",
"src": "6215:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "6215:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6188:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6197:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6184:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6184:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6209:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "6180:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6180:32:1"
},
"nodeType": "YulIf",
"src": "6177:119:1"
},
{
"nodeType": "YulBlock",
"src": "6306:125:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6321:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6335:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "6325:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "6350:71:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6393:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6404:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6389:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6389:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6413:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulIdentifier",
"src": "6360:28:1"
},
"nodeType": "YulFunctionCall",
"src": "6360:61:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "6350:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6137:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "6148:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "6160:6:1",
"type": ""
}
],
"src": "6093:345:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6472:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6489:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6492:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6482:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6482:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "6482:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6586:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6589:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6579:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6579:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6579:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6610:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6613:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6603:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6603:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6603:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "6444:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6673:190:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6683:33:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6710:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6692:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6692:24:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6683:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6806:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "6808:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6808:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6808:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6731:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6738:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6728:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6728:77:1"
},
"nodeType": "YulIf",
"src": "6725:103:1"
},
{
"nodeType": "YulAssignment",
"src": "6837:20:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6848:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6855:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6844:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6844:13:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "6837:3:1"
}
]
}
]
},
"name": "increment_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6659:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "6669:3:1",
"type": ""
}
],
"src": "6630:233:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256t_bytes32(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_int256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_int256(value) {\n if iszero(eq(value, cleanup_t_int256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_int256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_int256(value)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // bytes\n function abi_decode_t_bytes_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_addresst_addresst_int256t_int256t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_int256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_int256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value4, value5 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061004c5760003560e01c806326b3293f1461005157806361bc221a1461006d578063b2016bd41461008b578063f77c4036146100a9575b600080fd5b61006b60048036038101906100669190610289565b6100c5565b005b61007561016b565b60405161008291906102eb565b60405180910390f35b610093610171565b6040516100a09190610315565b60405180910390f35b6100c360048036038101906100be91906103cb565b610195565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b815260040161012293929190610465565b6020604051808303816000875af1158015610141573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016591906104d4565b50505050565b60015481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160008154809291906101a890610530565b9190505550505050505050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101ea826101bf565b9050919050565b6101fa816101df565b811461020557600080fd5b50565b600081359050610217816101f1565b92915050565b6000819050919050565b6102308161021d565b811461023b57600080fd5b50565b60008135905061024d81610227565b92915050565b6000819050919050565b61026681610253565b811461027157600080fd5b50565b6000813590506102838161025d565b92915050565b6000806000606084860312156102a2576102a16101b5565b5b60006102b086828701610208565b93505060206102c18682870161023e565b92505060406102d286828701610274565b9150509250925092565b6102e58161021d565b82525050565b600060208201905061030060008301846102dc565b92915050565b61030f816101df565b82525050565b600060208201905061032a6000830184610306565b92915050565b6000819050919050565b61034381610330565b811461034e57600080fd5b50565b6000813590506103608161033a565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261038b5761038a610366565b5b8235905067ffffffffffffffff8111156103a8576103a761036b565b5b6020830191508360018202830111156103c4576103c3610370565b5b9250929050565b60008060008060008060a087890312156103e8576103e76101b5565b5b60006103f689828a01610208565b965050602061040789828a01610208565b955050604061041889828a01610351565b945050606061042989828a01610351565b935050608087013567ffffffffffffffff81111561044a576104496101ba565b5b61045689828a01610375565b92509250509295509295509295565b600060608201905061047a6000830186610306565b6104876020830185610306565b61049460408301846102dc565b949350505050565b60008115159050919050565b6104b18161049c565b81146104bc57600080fd5b50565b6000815190506104ce816104a8565b92915050565b6000602082840312156104ea576104e96101b5565b5b60006104f8848285016104bf565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061053b8261021d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361056d5761056c610501565b5b60018201905091905056fea2646970667358221220dfa8e4af1f60efb0236bb0d44201ca35510f48fe7f8515139d84a002499b08e164736f6c63430008120033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x26B3293F EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x61BC221A EQ PUSH2 0x6D JUMPI DUP1 PUSH4 0xB2016BD4 EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xF77C4036 EQ PUSH2 0xA9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x289 JUMP JUMPDEST PUSH2 0xC5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x75 PUSH2 0x16B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x82 SWAP2 SWAP1 PUSH2 0x2EB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x93 PUSH2 0x171 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x315 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xBE SWAP2 SWAP1 PUSH2 0x3CB JUMP JUMPDEST PUSH2 0x195 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x23B872DD CALLER ADDRESS DUP6 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x122 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x465 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x141 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x165 SWAP2 SWAP1 PUSH2 0x4D4 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x1A8 SWAP1 PUSH2 0x530 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EA DUP3 PUSH2 0x1BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FA DUP2 PUSH2 0x1DF JUMP JUMPDEST DUP2 EQ PUSH2 0x205 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x217 DUP2 PUSH2 0x1F1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x230 DUP2 PUSH2 0x21D JUMP JUMPDEST DUP2 EQ PUSH2 0x23B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x24D DUP2 PUSH2 0x227 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x266 DUP2 PUSH2 0x253 JUMP JUMPDEST DUP2 EQ PUSH2 0x271 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x283 DUP2 PUSH2 0x25D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2A2 JUMPI PUSH2 0x2A1 PUSH2 0x1B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2B0 DUP7 DUP3 DUP8 ADD PUSH2 0x208 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x2C1 DUP7 DUP3 DUP8 ADD PUSH2 0x23E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x2D2 DUP7 DUP3 DUP8 ADD PUSH2 0x274 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x2E5 DUP2 PUSH2 0x21D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x300 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2DC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x30F DUP2 PUSH2 0x1DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x32A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x306 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x343 DUP2 PUSH2 0x330 JUMP JUMPDEST DUP2 EQ PUSH2 0x34E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x360 DUP2 PUSH2 0x33A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x38B JUMPI PUSH2 0x38A PUSH2 0x366 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3A8 JUMPI PUSH2 0x3A7 PUSH2 0x36B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x3C4 JUMPI PUSH2 0x3C3 PUSH2 0x370 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x3E8 JUMPI PUSH2 0x3E7 PUSH2 0x1B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3F6 DUP10 DUP3 DUP11 ADD PUSH2 0x208 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x20 PUSH2 0x407 DUP10 DUP3 DUP11 ADD PUSH2 0x208 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 PUSH2 0x418 DUP10 DUP3 DUP11 ADD PUSH2 0x351 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x60 PUSH2 0x429 DUP10 DUP3 DUP11 ADD PUSH2 0x351 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x44A JUMPI PUSH2 0x449 PUSH2 0x1BA JUMP JUMPDEST JUMPDEST PUSH2 0x456 DUP10 DUP3 DUP11 ADD PUSH2 0x375 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x47A PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x306 JUMP JUMPDEST PUSH2 0x487 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x306 JUMP JUMPDEST PUSH2 0x494 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x2DC JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4B1 DUP2 PUSH2 0x49C JUMP JUMPDEST DUP2 EQ PUSH2 0x4BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x4CE DUP2 PUSH2 0x4A8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4EA JUMPI PUSH2 0x4E9 PUSH2 0x1B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x4F8 DUP5 DUP3 DUP6 ADD PUSH2 0x4BF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x53B DUP3 PUSH2 0x21D JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x56D JUMPI PUSH2 0x56C PUSH2 0x501 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDF 0xA8 0xE4 0xAF 0x1F PUSH1 0xEF 0xB0 0x23 PUSH12 0xB0D44201CA35510F48FE7F85 ISZERO SGT SWAP14 DUP5 LOG0 MUL 0x49 SWAP12 ADDMOD 0xE1 PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ",
"sourceMap": "194:516:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;380:172;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;258:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;222:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;557:150;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;380:172;481:15;;;;;;;;;;474:36;;;511:10;531:4;538:6;474:71;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;380:172;;;:::o;258:22::-;;;;:::o;222:30::-;;;;;;;;;;;;:::o;557:150::-;691:7;;:9;;;;;;;;;:::i;:::-;;;;;;557:150;;;;;;:::o;88:117:1:-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:77::-;878:7;907:5;896:16;;841:77;;;:::o;924:122::-;997:24;1015:5;997:24;:::i;:::-;990:5;987:35;977:63;;1036:1;1033;1026:12;977:63;924:122;:::o;1052:139::-;1098:5;1136:6;1123:20;1114:29;;1152:33;1179:5;1152:33;:::i;:::-;1052:139;;;;:::o;1197:77::-;1234:7;1263:5;1252:16;;1197:77;;;:::o;1280:122::-;1353:24;1371:5;1353:24;:::i;:::-;1346:5;1343:35;1333:63;;1392:1;1389;1382:12;1333:63;1280:122;:::o;1408:139::-;1454:5;1492:6;1479:20;1470:29;;1508:33;1535:5;1508:33;:::i;:::-;1408:139;;;;:::o;1553:619::-;1630:6;1638;1646;1695:2;1683:9;1674:7;1670:23;1666:32;1663:119;;;1701:79;;:::i;:::-;1663:119;1821:1;1846:53;1891:7;1882:6;1871:9;1867:22;1846:53;:::i;:::-;1836:63;;1792:117;1948:2;1974:53;2019:7;2010:6;1999:9;1995:22;1974:53;:::i;:::-;1964:63;;1919:118;2076:2;2102:53;2147:7;2138:6;2127:9;2123:22;2102:53;:::i;:::-;2092:63;;2047:118;1553:619;;;;;:::o;2178:118::-;2265:24;2283:5;2265:24;:::i;:::-;2260:3;2253:37;2178:118;;:::o;2302:222::-;2395:4;2433:2;2422:9;2418:18;2410:26;;2446:71;2514:1;2503:9;2499:17;2490:6;2446:71;:::i;:::-;2302:222;;;;:::o;2530:118::-;2617:24;2635:5;2617:24;:::i;:::-;2612:3;2605:37;2530:118;;:::o;2654:222::-;2747:4;2785:2;2774:9;2770:18;2762:26;;2798:71;2866:1;2855:9;2851:17;2842:6;2798:71;:::i;:::-;2654:222;;;;:::o;2882:76::-;2918:7;2947:5;2936:16;;2882:76;;;:::o;2964:120::-;3036:23;3053:5;3036:23;:::i;:::-;3029:5;3026:34;3016:62;;3074:1;3071;3064:12;3016:62;2964:120;:::o;3090:137::-;3135:5;3173:6;3160:20;3151:29;;3189:32;3215:5;3189:32;:::i;:::-;3090:137;;;;:::o;3233:117::-;3342:1;3339;3332:12;3356:117;3465:1;3462;3455:12;3479:117;3588:1;3585;3578:12;3615:552;3672:8;3682:6;3732:3;3725:4;3717:6;3713:17;3709:27;3699:122;;3740:79;;:::i;:::-;3699:122;3853:6;3840:20;3830:30;;3883:18;3875:6;3872:30;3869:117;;;3905:79;;:::i;:::-;3869:117;4019:4;4011:6;4007:17;3995:29;;4073:3;4065:4;4057:6;4053:17;4043:8;4039:32;4036:41;4033:128;;;4080:79;;:::i;:::-;4033:128;3615:552;;;;;:::o;4173:1105::-;4277:6;4285;4293;4301;4309;4317;4366:3;4354:9;4345:7;4341:23;4337:33;4334:120;;;4373:79;;:::i;:::-;4334:120;4493:1;4518:53;4563:7;4554:6;4543:9;4539:22;4518:53;:::i;:::-;4508:63;;4464:117;4620:2;4646:53;4691:7;4682:6;4671:9;4667:22;4646:53;:::i;:::-;4636:63;;4591:118;4748:2;4774:52;4818:7;4809:6;4798:9;4794:22;4774:52;:::i;:::-;4764:62;;4719:117;4875:2;4901:52;4945:7;4936:6;4925:9;4921:22;4901:52;:::i;:::-;4891:62;;4846:117;5030:3;5019:9;5015:19;5002:33;5062:18;5054:6;5051:30;5048:117;;;5084:79;;:::i;:::-;5048:117;5197:64;5253:7;5244:6;5233:9;5229:22;5197:64;:::i;:::-;5179:82;;;;4973:298;4173:1105;;;;;;;;:::o;5284:442::-;5433:4;5471:2;5460:9;5456:18;5448:26;;5484:71;5552:1;5541:9;5537:17;5528:6;5484:71;:::i;:::-;5565:72;5633:2;5622:9;5618:18;5609:6;5565:72;:::i;:::-;5647;5715:2;5704:9;5700:18;5691:6;5647:72;:::i;:::-;5284:442;;;;;;:::o;5732:90::-;5766:7;5809:5;5802:13;5795:21;5784:32;;5732:90;;;:::o;5828:116::-;5898:21;5913:5;5898:21;:::i;:::-;5891:5;5888:32;5878:60;;5934:1;5931;5924:12;5878:60;5828:116;:::o;5950:137::-;6004:5;6035:6;6029:13;6020:22;;6051:30;6075:5;6051:30;:::i;:::-;5950:137;;;;:::o;6093:345::-;6160:6;6209:2;6197:9;6188:7;6184:23;6180:32;6177:119;;;6215:79;;:::i;:::-;6177:119;6335:1;6360:61;6413:7;6404:6;6393:9;6389:22;6360:61;:::i;:::-;6350:71;;6306:125;6093:345;;;;:::o;6444:180::-;6492:77;6489:1;6482:88;6589:4;6586:1;6579:15;6613:4;6610:1;6603:15;6630:233;6669:3;6692:24;6710:5;6692:24;:::i;:::-;6683:33;;6738:66;6731:5;6728:77;6725:103;;6808:18;;:::i;:::-;6725:103;6855:1;6848:5;6844:13;6837:20;;6630:233;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "290800",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"collateralToken()": "2533",
"counter()": "2429",
"deposit(address,uint256,bytes32)": "infinite",
"onAdjustPosition(address,address,int256,int256,bytes)": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 194,
"end": 710,
"name": "MSTORE",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "DUP1",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "ISZERO",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 286,
"end": 375,
"name": "JUMPI",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 286,
"end": 375,
"name": "DUP1",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "REVERT",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 286,
"end": 375,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "POP",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 286,
"end": 375,
"name": "MLOAD",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "PUSHSIZE",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "CODESIZE",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "SUB",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "DUP1",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "PUSHSIZE",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "DUP4",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "CODECOPY",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "DUP2",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "DUP2",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "ADD",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 286,
"end": 375,
"name": "MSTORE",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "DUP2",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "ADD",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "SWAP1",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 286,
"end": 375,
"name": "SWAP2",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "SWAP1",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 286,
"end": 375,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 286,
"end": 375,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 352,
"end": 368,
"name": "DUP1",
"source": 0
},
{
"begin": 334,
"end": 349,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 334,
"end": 349,
"name": "DUP1",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 334,
"end": 368,
"name": "EXP",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "DUP2",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "SLOAD",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "DUP2",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 334,
"end": 368,
"name": "MUL",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "NOT",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "AND",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "SWAP1",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "DUP4",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 334,
"end": 368,
"name": "AND",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "MUL",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "OR",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "SWAP1",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "SSTORE",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "POP",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "POP",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 194,
"end": 710,
"name": "JUMP",
"source": 0
},
{
"begin": 88,
"end": 205,
"name": "tag",
"source": 1,
"value": "8"
},
{
"begin": 88,
"end": 205,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 197,
"end": 198,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 194,
"end": 195,
"name": "DUP1",
"source": 1
},
{
"begin": 187,
"end": 199,
"name": "REVERT",
"source": 1
},
{
"begin": 334,
"end": 460,
"name": "tag",
"source": 1,
"value": "10"
},
{
"begin": 334,
"end": 460,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 371,
"end": 378,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 411,
"end": 453,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 404,
"end": 409,
"name": "DUP3",
"source": 1
},
{
"begin": 400,
"end": 454,
"name": "AND",
"source": 1
},
{
"begin": 389,
"end": 454,
"name": "SWAP1",
"source": 1
},
{
"begin": 389,
"end": 454,
"name": "POP",
"source": 1
},
{
"begin": 334,
"end": 460,
"name": "SWAP2",
"source": 1
},
{
"begin": 334,
"end": 460,
"name": "SWAP1",
"source": 1
},
{
"begin": 334,
"end": 460,
"name": "POP",
"source": 1
},
{
"begin": 334,
"end": 460,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 466,
"end": 562,
"name": "tag",
"source": 1,
"value": "11"
},
{
"begin": 466,
"end": 562,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 503,
"end": 510,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 532,
"end": 556,
"name": "PUSH [tag]",
"source": 1,
"value": "20"
},
{
"begin": 550,
"end": 555,
"name": "DUP3",
"source": 1
},
{
"begin": 532,
"end": 556,
"name": "PUSH [tag]",
"source": 1,
"value": "10"
},
{
"begin": 532,
"end": 556,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 532,
"end": 556,
"name": "tag",
"source": 1,
"value": "20"
},
{
"begin": 532,
"end": 556,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 521,
"end": 556,
"name": "SWAP1",
"source": 1
},
{
"begin": 521,
"end": 556,
"name": "POP",
"source": 1
},
{
"begin": 466,
"end": 562,
"name": "SWAP2",
"source": 1
},
{
"begin": 466,
"end": 562,
"name": "SWAP1",
"source": 1
},
{
"begin": 466,
"end": 562,
"name": "POP",
"source": 1
},
{
"begin": 466,
"end": 562,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 568,
"end": 690,
"name": "tag",
"source": 1,
"value": "12"
},
{
"begin": 568,
"end": 690,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 641,
"end": 665,
"name": "PUSH [tag]",
"source": 1,
"value": "22"
},
{
"begin": 659,
"end": 664,
"name": "DUP2",
"source": 1
},
{
"begin": 641,
"end": 665,
"name": "PUSH [tag]",
"source": 1,
"value": "11"
},
{
"begin": 641,
"end": 665,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 641,
"end": 665,
"name": "tag",
"source": 1,
"value": "22"
},
{
"begin": 641,
"end": 665,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 634,
"end": 639,
"name": "DUP2",
"source": 1
},
{
"begin": 631,
"end": 666,
"name": "EQ",
"source": 1
},
{
"begin": 621,
"end": 684,
"name": "PUSH [tag]",
"source": 1,
"value": "23"
},
{
"begin": 621,
"end": 684,
"name": "JUMPI",
"source": 1
},
{
"begin": 680,
"end": 681,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 677,
"end": 678,
"name": "DUP1",
"source": 1
},
{
"begin": 670,
"end": 682,
"name": "REVERT",
"source": 1
},
{
"begin": 621,
"end": 684,
"name": "tag",
"source": 1,
"value": "23"
},
{
"begin": 621,
"end": 684,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 568,
"end": 690,
"name": "POP",
"source": 1
},
{
"begin": 568,
"end": 690,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 696,
"end": 839,
"name": "tag",
"source": 1,
"value": "13"
},
{
"begin": 696,
"end": 839,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 753,
"end": 758,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 784,
"end": 790,
"name": "DUP2",
"source": 1
},
{
"begin": 778,
"end": 791,
"name": "MLOAD",
"source": 1
},
{
"begin": 769,
"end": 791,
"name": "SWAP1",
"source": 1
},
{
"begin": 769,
"end": 791,
"name": "POP",
"source": 1
},
{
"begin": 800,
"end": 833,
"name": "PUSH [tag]",
"source": 1,
"value": "25"
},
{
"begin": 827,
"end": 832,
"name": "DUP2",
"source": 1
},
{
"begin": 800,
"end": 833,
"name": "PUSH [tag]",
"source": 1,
"value": "12"
},
{
"begin": 800,
"end": 833,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 800,
"end": 833,
"name": "tag",
"source": 1,
"value": "25"
},
{
"begin": 800,
"end": 833,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 696,
"end": 839,
"name": "SWAP3",
"source": 1
},
{
"begin": 696,
"end": 839,
"name": "SWAP2",
"source": 1
},
{
"begin": 696,
"end": 839,
"name": "POP",
"source": 1
},
{
"begin": 696,
"end": 839,
"name": "POP",
"source": 1
},
{
"begin": 696,
"end": 839,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 845,
"end": 1196,
"name": "tag",
"source": 1,
"value": "3"
},
{
"begin": 845,
"end": 1196,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 915,
"end": 921,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 964,
"end": 966,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 952,
"end": 961,
"name": "DUP3",
"source": 1
},
{
"begin": 943,
"end": 950,
"name": "DUP5",
"source": 1
},
{
"begin": 939,
"end": 962,
"name": "SUB",
"source": 1
},
{
"begin": 935,
"end": 967,
"name": "SLT",
"source": 1
},
{
"begin": 932,
"end": 1051,
"name": "ISZERO",
"source": 1
},
{
"begin": 932,
"end": 1051,
"name": "PUSH [tag]",
"source": 1,
"value": "27"
},
{
"begin": 932,
"end": 1051,
"name": "JUMPI",
"source": 1
},
{
"begin": 970,
"end": 1049,
"name": "PUSH [tag]",
"source": 1,
"value": "28"
},
{
"begin": 970,
"end": 1049,
"name": "PUSH [tag]",
"source": 1,
"value": "8"
},
{
"begin": 970,
"end": 1049,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 970,
"end": 1049,
"name": "tag",
"source": 1,
"value": "28"
},
{
"begin": 970,
"end": 1049,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 932,
"end": 1051,
"name": "tag",
"source": 1,
"value": "27"
},
{
"begin": 932,
"end": 1051,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1090,
"end": 1091,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1115,
"end": 1179,
"name": "PUSH [tag]",
"source": 1,
"value": "29"
},
{
"begin": 1171,
"end": 1178,
"name": "DUP5",
"source": 1
},
{
"begin": 1162,
"end": 1168,
"name": "DUP3",
"source": 1
},
{
"begin": 1151,
"end": 1160,
"name": "DUP6",
"source": 1
},
{
"begin": 1147,
"end": 1169,
"name": "ADD",
"source": 1
},
{
"begin": 1115,
"end": 1179,
"name": "PUSH [tag]",
"source": 1,
"value": "13"
},
{
"begin": 1115,
"end": 1179,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1115,
"end": 1179,
"name": "tag",
"source": 1,
"value": "29"
},
{
"begin": 1115,
"end": 1179,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1105,
"end": 1179,
"name": "SWAP2",
"source": 1
},
{
"begin": 1105,
"end": 1179,
"name": "POP",
"source": 1
},
{
"begin": 1061,
"end": 1189,
"name": "POP",
"source": 1
},
{
"begin": 845,
"end": 1196,
"name": "SWAP3",
"source": 1
},
{
"begin": 845,
"end": 1196,
"name": "SWAP2",
"source": 1
},
{
"begin": 845,
"end": 1196,
"name": "POP",
"source": 1
},
{
"begin": 845,
"end": 1196,
"name": "POP",
"source": 1
},
{
"begin": 845,
"end": 1196,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 194,
"end": 710,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 194,
"end": 710,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 194,
"end": 710,
"name": "DUP1",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 194,
"end": 710,
"name": "CODECOPY",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 194,
"end": 710,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a2646970667358221220dfa8e4af1f60efb0236bb0d44201ca35510f48fe7f8515139d84a002499b08e164736f6c63430008120033",
".code": [
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 194,
"end": 710,
"name": "MSTORE",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "DUP1",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "ISZERO",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 194,
"end": 710,
"name": "JUMPI",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 194,
"end": 710,
"name": "DUP1",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "REVERT",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 194,
"end": 710,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "POP",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 194,
"end": 710,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "LT",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 194,
"end": 710,
"name": "JUMPI",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 194,
"end": 710,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 194,
"end": 710,
"name": "SHR",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "DUP1",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "26B3293F"
},
{
"begin": 194,
"end": 710,
"name": "EQ",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 194,
"end": 710,
"name": "JUMPI",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "DUP1",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "61BC221A"
},
{
"begin": 194,
"end": 710,
"name": "EQ",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 194,
"end": 710,
"name": "JUMPI",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "DUP1",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "B2016BD4"
},
{
"begin": 194,
"end": 710,
"name": "EQ",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 194,
"end": 710,
"name": "JUMPI",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "DUP1",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "F77C4036"
},
{
"begin": 194,
"end": 710,
"name": "EQ",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 194,
"end": 710,
"name": "JUMPI",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 194,
"end": 710,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 194,
"end": 710,
"name": "DUP1",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "REVERT",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 380,
"end": 552,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 380,
"end": 552,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 380,
"end": 552,
"name": "DUP1",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "SUB",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "DUP2",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "ADD",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "SWAP1",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 380,
"end": 552,
"name": "SWAP2",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "SWAP1",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 380,
"end": 552,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 380,
"end": 552,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 380,
"end": 552,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 380,
"end": 552,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "STOP",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 258,
"end": 280,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 258,
"end": 280,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 258,
"end": 280,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 258,
"end": 280,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 258,
"end": 280,
"name": "MLOAD",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 258,
"end": 280,
"name": "SWAP2",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "SWAP1",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 258,
"end": 280,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 258,
"end": 280,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 258,
"end": 280,
"name": "MLOAD",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "DUP1",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "SWAP2",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "SUB",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "SWAP1",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "RETURN",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 222,
"end": 252,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 222,
"end": 252,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 222,
"end": 252,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 222,
"end": 252,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 222,
"end": 252,
"name": "MLOAD",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 222,
"end": 252,
"name": "SWAP2",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "SWAP1",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 222,
"end": 252,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "tag",
"source": 0,
"value": "17"
},
{
"begin": 222,
"end": 252,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 222,
"end": 252,
"name": "MLOAD",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "DUP1",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "SWAP2",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "SUB",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "SWAP1",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "RETURN",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 557,
"end": 707,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "PUSH [tag]",
"source": 0,
"value": "19"
},
{
"begin": 557,
"end": 707,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 557,
"end": 707,
"name": "DUP1",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "SUB",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "DUP2",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "ADD",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "SWAP1",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "PUSH [tag]",
"source": 0,
"value": "20"
},
{
"begin": 557,
"end": 707,
"name": "SWAP2",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "SWAP1",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "PUSH [tag]",
"source": 0,
"value": "21"
},
{
"begin": 557,
"end": 707,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "tag",
"source": 0,
"value": "20"
},
{
"begin": 557,
"end": 707,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 557,
"end": 707,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "tag",
"source": 0,
"value": "19"
},
{
"begin": 557,
"end": 707,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "STOP",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 380,
"end": 552,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 481,
"end": 496,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 481,
"end": 496,
"name": "DUP1",
"source": 0
},
{
"begin": 481,
"end": 496,
"name": "SLOAD",
"source": 0
},
{
"begin": 481,
"end": 496,
"name": "SWAP1",
"source": 0
},
{
"begin": 481,
"end": 496,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 481,
"end": 496,
"name": "EXP",
"source": 0
},
{
"begin": 481,
"end": 496,
"name": "SWAP1",
"source": 0
},
{
"begin": 481,
"end": 496,
"name": "DIV",
"source": 0
},
{
"begin": 481,
"end": 496,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 481,
"end": 496,
"name": "AND",
"source": 0
},
{
"begin": 474,
"end": 510,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 474,
"end": 510,
"name": "AND",
"source": 0
},
{
"begin": 474,
"end": 510,
"name": "PUSH",
"source": 0,
"value": "23B872DD"
},
{
"begin": 511,
"end": 521,
"name": "CALLER",
"source": 0
},
{
"begin": 531,
"end": 535,
"name": "ADDRESS",
"source": 0
},
{
"begin": 538,
"end": 544,
"name": "DUP6",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 474,
"end": 545,
"name": "MLOAD",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "DUP5",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFF"
},
{
"begin": 474,
"end": 545,
"name": "AND",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 474,
"end": 545,
"name": "SHL",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "DUP2",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "MSTORE",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 474,
"end": 545,
"name": "ADD",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH [tag]",
"source": 0,
"value": "24"
},
{
"begin": 474,
"end": 545,
"name": "SWAP4",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "SWAP3",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "SWAP2",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "SWAP1",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH [tag]",
"source": 0,
"value": "25"
},
{
"begin": 474,
"end": 545,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "tag",
"source": 0,
"value": "24"
},
{
"begin": 474,
"end": 545,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 474,
"end": 545,
"name": "MLOAD",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "DUP1",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "DUP4",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "SUB",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "DUP2",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 474,
"end": 545,
"name": "DUP8",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "GAS",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "CALL",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "ISZERO",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "DUP1",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "ISZERO",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH [tag]",
"source": 0,
"value": "27"
},
{
"begin": 474,
"end": 545,
"name": "JUMPI",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 474,
"end": 545,
"name": "DUP1",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "RETURNDATACOPY",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 474,
"end": 545,
"name": "REVERT",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "tag",
"source": 0,
"value": "27"
},
{
"begin": 474,
"end": 545,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "POP",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "POP",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "POP",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "POP",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 474,
"end": 545,
"name": "MLOAD",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 474,
"end": 545,
"name": "NOT",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 474,
"end": 545,
"name": "DUP3",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "ADD",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "AND",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "DUP3",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "ADD",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "DUP1",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 474,
"end": 545,
"name": "MSTORE",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "POP",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "DUP2",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "ADD",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "SWAP1",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH [tag]",
"source": 0,
"value": "28"
},
{
"begin": 474,
"end": 545,
"name": "SWAP2",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "SWAP1",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH [tag]",
"source": 0,
"value": "29"
},
{
"begin": 474,
"end": 545,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "tag",
"source": 0,
"value": "28"
},
{
"begin": 474,
"end": 545,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "POP",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "POP",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "POP",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "POP",
"source": 0
},
{
"begin": 380,
"end": 552,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 258,
"end": 280,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 258,
"end": 280,
"name": "SLOAD",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "DUP2",
"source": 0
},
{
"begin": 258,
"end": 280,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "tag",
"source": 0,
"value": "16"
},
{
"begin": 222,
"end": 252,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 222,
"end": 252,
"name": "DUP1",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "SLOAD",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "SWAP1",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 222,
"end": 252,
"name": "EXP",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "SWAP1",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "DIV",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 222,
"end": 252,
"name": "AND",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "DUP2",
"source": 0
},
{
"begin": 222,
"end": 252,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "tag",
"source": 0,
"value": "22"
},
{
"begin": 557,
"end": 707,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 691,
"end": 698,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 691,
"end": 698,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 691,
"end": 700,
"name": "DUP2",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "SLOAD",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "DUP1",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "SWAP3",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "SWAP2",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "SWAP1",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "PUSH [tag]",
"source": 0,
"value": "31"
},
{
"begin": 691,
"end": 700,
"name": "SWAP1",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "PUSH [tag]",
"source": 0,
"value": "32"
},
{
"begin": 691,
"end": 700,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "tag",
"source": 0,
"value": "31"
},
{
"begin": 691,
"end": 700,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "SWAP2",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "SWAP1",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "POP",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "SSTORE",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "POP",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "POP",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "POP",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "POP",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "POP",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "POP",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "POP",
"source": 0
},
{
"begin": 557,
"end": 707,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 88,
"end": 205,
"name": "tag",
"source": 1,
"value": "34"
},
{
"begin": 88,
"end": 205,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 197,
"end": 198,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 194,
"end": 195,
"name": "DUP1",
"source": 1
},
{
"begin": 187,
"end": 199,
"name": "REVERT",
"source": 1
},
{
"begin": 211,
"end": 328,
"name": "tag",
"source": 1,
"value": "35"
},
{
"begin": 211,
"end": 328,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 320,
"end": 321,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 317,
"end": 318,
"name": "DUP1",
"source": 1
},
{
"begin": 310,
"end": 322,
"name": "REVERT",
"source": 1
},
{
"begin": 334,
"end": 460,
"name": "tag",
"source": 1,
"value": "36"
},
{
"begin": 334,
"end": 460,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 371,
"end": 378,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 411,
"end": 453,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 404,
"end": 409,
"name": "DUP3",
"source": 1
},
{
"begin": 400,
"end": 454,
"name": "AND",
"source": 1
},
{
"begin": 389,
"end": 454,
"name": "SWAP1",
"source": 1
},
{
"begin": 389,
"end": 454,
"name": "POP",
"source": 1
},
{
"begin": 334,
"end": 460,
"name": "SWAP2",
"source": 1
},
{
"begin": 334,
"end": 460,
"name": "SWAP1",
"source": 1
},
{
"begin": 334,
"end": 460,
"name": "POP",
"source": 1
},
{
"begin": 334,
"end": 460,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 466,
"end": 562,
"name": "tag",
"source": 1,
"value": "37"
},
{
"begin": 466,
"end": 562,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 503,
"end": 510,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 532,
"end": 556,
"name": "PUSH [tag]",
"source": 1,
"value": "65"
},
{
"begin": 550,
"end": 555,
"name": "DUP3",
"source": 1
},
{
"begin": 532,
"end": 556,
"name": "PUSH [tag]",
"source": 1,
"value": "36"
},
{
"begin": 532,
"end": 556,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 532,
"end": 556,
"name": "tag",
"source": 1,
"value": "65"
},
{
"begin": 532,
"end": 556,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 521,
"end": 556,
"name": "SWAP1",
"source": 1
},
{
"begin": 521,
"end": 556,
"name": "POP",
"source": 1
},
{
"begin": 466,
"end": 562,
"name": "SWAP2",
"source": 1
},
{
"begin": 466,
"end": 562,
"name": "SWAP1",
"source": 1
},
{
"begin": 466,
"end": 562,
"name": "POP",
"source": 1
},
{
"begin": 466,
"end": 562,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 568,
"end": 690,
"name": "tag",
"source": 1,
"value": "38"
},
{
"begin": 568,
"end": 690,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 641,
"end": 665,
"name": "PUSH [tag]",
"source": 1,
"value": "67"
},
{
"begin": 659,
"end": 664,
"name": "DUP2",
"source": 1
},
{
"begin": 641,
"end": 665,
"name": "PUSH [tag]",
"source": 1,
"value": "37"
},
{
"begin": 641,
"end": 665,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 641,
"end": 665,
"name": "tag",
"source": 1,
"value": "67"
},
{
"begin": 641,
"end": 665,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 634,
"end": 639,
"name": "DUP2",
"source": 1
},
{
"begin": 631,
"end": 666,
"name": "EQ",
"source": 1
},
{
"begin": 621,
"end": 684,
"name": "PUSH [tag]",
"source": 1,
"value": "68"
},
{
"begin": 621,
"end": 684,
"name": "JUMPI",
"source": 1
},
{
"begin": 680,
"end": 681,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 677,
"end": 678,
"name": "DUP1",
"source": 1
},
{
"begin": 670,
"end": 682,
"name": "REVERT",
"source": 1
},
{
"begin": 621,
"end": 684,
"name": "tag",
"source": 1,
"value": "68"
},
{
"begin": 621,
"end": 684,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 568,
"end": 690,
"name": "POP",
"source": 1
},
{
"begin": 568,
"end": 690,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 696,
"end": 835,
"name": "tag",
"source": 1,
"value": "39"
},
{
"begin": 696,
"end": 835,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 742,
"end": 747,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 780,
"end": 786,
"name": "DUP2",
"source": 1
},
{
"begin": 767,
"end": 787,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 758,
"end": 787,
"name": "SWAP1",
"source": 1
},
{
"begin": 758,
"end": 787,
"name": "POP",
"source": 1
},
{
"begin": 796,
"end": 829,
"name": "PUSH [tag]",
"source": 1,
"value": "70"
},
{
"begin": 823,
"end": 828,
"name": "DUP2",
"source": 1
},
{
"begin": 796,
"end": 829,
"name": "PUSH [tag]",
"source": 1,
"value": "38"
},
{
"begin": 796,
"end": 829,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 796,
"end": 829,
"name": "tag",
"source": 1,
"value": "70"
},
{
"begin": 796,
"end": 829,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 696,
"end": 835,
"name": "SWAP3",
"source": 1
},
{
"begin": 696,
"end": 835,
"name": "SWAP2",
"source": 1
},
{
"begin": 696,
"end": 835,
"name": "POP",
"source": 1
},
{
"begin": 696,
"end": 835,
"name": "POP",
"source": 1
},
{
"begin": 696,
"end": 835,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 841,
"end": 918,
"name": "tag",
"source": 1,
"value": "40"
},
{
"begin": 841,
"end": 918,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 878,
"end": 885,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 907,
"end": 912,
"name": "DUP2",
"source": 1
},
{
"begin": 896,
"end": 912,
"name": "SWAP1",
"source": 1
},
{
"begin": 896,
"end": 912,
"name": "POP",
"source": 1
},
{
"begin": 841,
"end": 918,
"name": "SWAP2",
"source": 1
},
{
"begin": 841,
"end": 918,
"name": "SWAP1",
"source": 1
},
{
"begin": 841,
"end": 918,
"name": "POP",
"source": 1
},
{
"begin": 841,
"end": 918,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 924,
"end": 1046,
"name": "tag",
"source": 1,
"value": "41"
},
{
"begin": 924,
"end": 1046,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 997,
"end": 1021,
"name": "PUSH [tag]",
"source": 1,
"value": "73"
},
{
"begin": 1015,
"end": 1020,
"name": "DUP2",
"source": 1
},
{
"begin": 997,
"end": 1021,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 997,
"end": 1021,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 997,
"end": 1021,
"name": "tag",
"source": 1,
"value": "73"
},
{
"begin": 997,
"end": 1021,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 990,
"end": 995,
"name": "DUP2",
"source": 1
},
{
"begin": 987,
"end": 1022,
"name": "EQ",
"source": 1
},
{
"begin": 977,
"end": 1040,
"name": "PUSH [tag]",
"source": 1,
"value": "74"
},
{
"begin": 977,
"end": 1040,
"name": "JUMPI",
"source": 1
},
{
"begin": 1036,
"end": 1037,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1033,
"end": 1034,
"name": "DUP1",
"source": 1
},
{
"begin": 1026,
"end": 1038,
"name": "REVERT",
"source": 1
},
{
"begin": 977,
"end": 1040,
"name": "tag",
"source": 1,
"value": "74"
},
{
"begin": 977,
"end": 1040,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 924,
"end": 1046,
"name": "POP",
"source": 1
},
{
"begin": 924,
"end": 1046,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1052,
"end": 1191,
"name": "tag",
"source": 1,
"value": "42"
},
{
"begin": 1052,
"end": 1191,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1098,
"end": 1103,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1136,
"end": 1142,
"name": "DUP2",
"source": 1
},
{
"begin": 1123,
"end": 1143,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 1114,
"end": 1143,
"name": "SWAP1",
"source": 1
},
{
"begin": 1114,
"end": 1143,
"name": "POP",
"source": 1
},
{
"begin": 1152,
"end": 1185,
"name": "PUSH [tag]",
"source": 1,
"value": "76"
},
{
"begin": 1179,
"end": 1184,
"name": "DUP2",
"source": 1
},
{
"begin": 1152,
"end": 1185,
"name": "PUSH [tag]",
"source": 1,
"value": "41"
},
{
"begin": 1152,
"end": 1185,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1152,
"end": 1185,
"name": "tag",
"source": 1,
"value": "76"
},
{
"begin": 1152,
"end": 1185,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1052,
"end": 1191,
"name": "SWAP3",
"source": 1
},
{
"begin": 1052,
"end": 1191,
"name": "SWAP2",
"source": 1
},
{
"begin": 1052,
"end": 1191,
"name": "POP",
"source": 1
},
{
"begin": 1052,
"end": 1191,
"name": "POP",
"source": 1
},
{
"begin": 1052,
"end": 1191,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1197,
"end": 1274,
"name": "tag",
"source": 1,
"value": "43"
},
{
"begin": 1197,
"end": 1274,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1234,
"end": 1241,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1263,
"end": 1268,
"name": "DUP2",
"source": 1
},
{
"begin": 1252,
"end": 1268,
"name": "SWAP1",
"source": 1
},
{
"begin": 1252,
"end": 1268,
"name": "POP",
"source": 1
},
{
"begin": 1197,
"end": 1274,
"name": "SWAP2",
"source": 1
},
{
"begin": 1197,
"end": 1274,
"name": "SWAP1",
"source": 1
},
{
"begin": 1197,
"end": 1274,
"name": "POP",
"source": 1
},
{
"begin": 1197,
"end": 1274,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1280,
"end": 1402,
"name": "tag",
"source": 1,
"value": "44"
},
{
"begin": 1280,
"end": 1402,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1353,
"end": 1377,
"name": "PUSH [tag]",
"source": 1,
"value": "79"
},
{
"begin": 1371,
"end": 1376,
"name": "DUP2",
"source": 1
},
{
"begin": 1353,
"end": 1377,
"name": "PUSH [tag]",
"source": 1,
"value": "43"
},
{
"begin": 1353,
"end": 1377,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1353,
"end": 1377,
"name": "tag",
"source": 1,
"value": "79"
},
{
"begin": 1353,
"end": 1377,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1346,
"end": 1351,
"name": "DUP2",
"source": 1
},
{
"begin": 1343,
"end": 1378,
"name": "EQ",
"source": 1
},
{
"begin": 1333,
"end": 1396,
"name": "PUSH [tag]",
"source": 1,
"value": "80"
},
{
"begin": 1333,
"end": 1396,
"name": "JUMPI",
"source": 1
},
{
"begin": 1392,
"end": 1393,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1389,
"end": 1390,
"name": "DUP1",
"source": 1
},
{
"begin": 1382,
"end": 1394,
"name": "REVERT",
"source": 1
},
{
"begin": 1333,
"end": 1396,
"name": "tag",
"source": 1,
"value": "80"
},
{
"begin": 1333,
"end": 1396,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1280,
"end": 1402,
"name": "POP",
"source": 1
},
{
"begin": 1280,
"end": 1402,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1408,
"end": 1547,
"name": "tag",
"source": 1,
"value": "45"
},
{
"begin": 1408,
"end": 1547,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1454,
"end": 1459,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1492,
"end": 1498,
"name": "DUP2",
"source": 1
},
{
"begin": 1479,
"end": 1499,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 1470,
"end": 1499,
"name": "SWAP1",
"source": 1
},
{
"begin": 1470,
"end": 1499,
"name": "POP",
"source": 1
},
{
"begin": 1508,
"end": 1541,
"name": "PUSH [tag]",
"source": 1,
"value": "82"
},
{
"begin": 1535,
"end": 1540,
"name": "DUP2",
"source": 1
},
{
"begin": 1508,
"end": 1541,
"name": "PUSH [tag]",
"source": 1,
"value": "44"
},
{
"begin": 1508,
"end": 1541,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1508,
"end": 1541,
"name": "tag",
"source": 1,
"value": "82"
},
{
"begin": 1508,
"end": 1541,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1408,
"end": 1547,
"name": "SWAP3",
"source": 1
},
{
"begin": 1408,
"end": 1547,
"name": "SWAP2",
"source": 1
},
{
"begin": 1408,
"end": 1547,
"name": "POP",
"source": 1
},
{
"begin": 1408,
"end": 1547,
"name": "POP",
"source": 1
},
{
"begin": 1408,
"end": 1547,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1553,
"end": 2172,
"name": "tag",
"source": 1,
"value": "9"
},
{
"begin": 1553,
"end": 2172,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1630,
"end": 1636,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1638,
"end": 1644,
"name": "DUP1",
"source": 1
},
{
"begin": 1646,
"end": 1652,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1695,
"end": 1697,
"name": "PUSH",
"source": 1,
"value": "60"
},
{
"begin": 1683,
"end": 1692,
"name": "DUP5",
"source": 1
},
{
"begin": 1674,
"end": 1681,
"name": "DUP7",
"source": 1
},
{
"begin": 1670,
"end": 1693,
"name": "SUB",
"source": 1
},
{
"begin": 1666,
"end": 1698,
"name": "SLT",
"source": 1
},
{
"begin": 1663,
"end": 1782,
"name": "ISZERO",
"source": 1
},
{
"begin": 1663,
"end": 1782,
"name": "PUSH [tag]",
"source": 1,
"value": "84"
},
{
"begin": 1663,
"end": 1782,
"name": "JUMPI",
"source": 1
},
{
"begin": 1701,
"end": 1780,
"name": "PUSH [tag]",
"source": 1,
"value": "85"
},
{
"begin": 1701,
"end": 1780,
"name": "PUSH [tag]",
"source": 1,
"value": "34"
},
{
"begin": 1701,
"end": 1780,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1701,
"end": 1780,
"name": "tag",
"source": 1,
"value": "85"
},
{
"begin": 1701,
"end": 1780,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1663,
"end": 1782,
"name": "tag",
"source": 1,
"value": "84"
},
{
"begin": 1663,
"end": 1782,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1821,
"end": 1822,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1846,
"end": 1899,
"name": "PUSH [tag]",
"source": 1,
"value": "86"
},
{
"begin": 1891,
"end": 1898,
"name": "DUP7",
"source": 1
},
{
"begin": 1882,
"end": 1888,
"name": "DUP3",
"source": 1
},
{
"begin": 1871,
"end": 1880,
"name": "DUP8",
"source": 1
},
{
"begin": 1867,
"end": 1889,
"name": "ADD",
"source": 1
},
{
"begin": 1846,
"end": 1899,
"name": "PUSH [tag]",
"source": 1,
"value": "39"
},
{
"begin": 1846,
"end": 1899,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1846,
"end": 1899,
"name": "tag",
"source": 1,
"value": "86"
},
{
"begin": 1846,
"end": 1899,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1836,
"end": 1899,
"name": "SWAP4",
"source": 1
},
{
"begin": 1836,
"end": 1899,
"name": "POP",
"source": 1
},
{
"begin": 1792,
"end": 1909,
"name": "POP",
"source": 1
},
{
"begin": 1948,
"end": 1950,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1974,
"end": 2027,
"name": "PUSH [tag]",
"source": 1,
"value": "87"
},
{
"begin": 2019,
"end": 2026,
"name": "DUP7",
"source": 1
},
{
"begin": 2010,
"end": 2016,
"name": "DUP3",
"source": 1
},
{
"begin": 1999,
"end": 2008,
"name": "DUP8",
"source": 1
},
{
"begin": 1995,
"end": 2017,
"name": "ADD",
"source": 1
},
{
"begin": 1974,
"end": 2027,
"name": "PUSH [tag]",
"source": 1,
"value": "42"
},
{
"begin": 1974,
"end": 2027,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1974,
"end": 2027,
"name": "tag",
"source": 1,
"value": "87"
},
{
"begin": 1974,
"end": 2027,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1964,
"end": 2027,
"name": "SWAP3",
"source": 1
},
{
"begin": 1964,
"end": 2027,
"name": "POP",
"source": 1
},
{
"begin": 1919,
"end": 2037,
"name": "POP",
"source": 1
},
{
"begin": 2076,
"end": 2078,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 2102,
"end": 2155,
"name": "PUSH [tag]",
"source": 1,
"value": "88"
},
{
"begin": 2147,
"end": 2154,
"name": "DUP7",
"source": 1
},
{
"begin": 2138,
"end": 2144,
"name": "DUP3",
"source": 1
},
{
"begin": 2127,
"end": 2136,
"name": "DUP8",
"source": 1
},
{
"begin": 2123,
"end": 2145,
"name": "ADD",
"source": 1
},
{
"begin": 2102,
"end": 2155,
"name": "PUSH [tag]",
"source": 1,
"value": "45"
},
{
"begin": 2102,
"end": 2155,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2102,
"end": 2155,
"name": "tag",
"source": 1,
"value": "88"
},
{
"begin": 2102,
"end": 2155,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2092,
"end": 2155,
"name": "SWAP2",
"source": 1
},
{
"begin": 2092,
"end": 2155,
"name": "POP",
"source": 1
},
{
"begin": 2047,
"end": 2165,
"name": "POP",
"source": 1
},
{
"begin": 1553,
"end": 2172,
"name": "SWAP3",
"source": 1
},
{
"begin": 1553,
"end": 2172,
"name": "POP",
"source": 1
},
{
"begin": 1553,
"end": 2172,
"name": "SWAP3",
"source": 1
},
{
"begin": 1553,
"end": 2172,
"name": "POP",
"source": 1
},
{
"begin": 1553,
"end": 2172,
"name": "SWAP3",
"source": 1
},
{
"begin": 1553,
"end": 2172,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2178,
"end": 2296,
"name": "tag",
"source": 1,
"value": "46"
},
{
"begin": 2178,
"end": 2296,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2265,
"end": 2289,
"name": "PUSH [tag]",
"source": 1,
"value": "90"
},
{
"begin": 2283,
"end": 2288,
"name": "DUP2",
"source": 1
},
{
"begin": 2265,
"end": 2289,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 2265,
"end": 2289,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2265,
"end": 2289,
"name": "tag",
"source": 1,
"value": "90"
},
{
"begin": 2265,
"end": 2289,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2260,
"end": 2263,
"name": "DUP3",
"source": 1
},
{
"begin": 2253,
"end": 2290,
"name": "MSTORE",
"source": 1
},
{
"begin": 2178,
"end": 2296,
"name": "POP",
"source": 1
},
{
"begin": 2178,
"end": 2296,
"name": "POP",
"source": 1
},
{
"begin": 2178,
"end": 2296,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2302,
"end": 2524,
"name": "tag",
"source": 1,
"value": "14"
},
{
"begin": 2302,
"end": 2524,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2395,
"end": 2399,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2433,
"end": 2435,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2422,
"end": 2431,
"name": "DUP3",
"source": 1
},
{
"begin": 2418,
"end": 2436,
"name": "ADD",
"source": 1
},
{
"begin": 2410,
"end": 2436,
"name": "SWAP1",
"source": 1
},
{
"begin": 2410,
"end": 2436,
"name": "POP",
"source": 1
},
{
"begin": 2446,
"end": 2517,
"name": "PUSH [tag]",
"source": 1,
"value": "92"
},
{
"begin": 2514,
"end": 2515,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2503,
"end": 2512,
"name": "DUP4",
"source": 1
},
{
"begin": 2499,
"end": 2516,
"name": "ADD",
"source": 1
},
{
"begin": 2490,
"end": 2496,
"name": "DUP5",
"source": 1
},
{
"begin": 2446,
"end": 2517,
"name": "PUSH [tag]",
"source": 1,
"value": "46"
},
{
"begin": 2446,
"end": 2517,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2446,
"end": 2517,
"name": "tag",
"source": 1,
"value": "92"
},
{
"begin": 2446,
"end": 2517,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2302,
"end": 2524,
"name": "SWAP3",
"source": 1
},
{
"begin": 2302,
"end": 2524,
"name": "SWAP2",
"source": 1
},
{
"begin": 2302,
"end": 2524,
"name": "POP",
"source": 1
},
{
"begin": 2302,
"end": 2524,
"name": "POP",
"source": 1
},
{
"begin": 2302,
"end": 2524,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2530,
"end": 2648,
"name": "tag",
"source": 1,
"value": "47"
},
{
"begin": 2530,
"end": 2648,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2617,
"end": 2641,
"name": "PUSH [tag]",
"source": 1,
"value": "94"
},
{
"begin": 2635,
"end": 2640,
"name": "DUP2",
"source": 1
},
{
"begin": 2617,
"end": 2641,
"name": "PUSH [tag]",
"source": 1,
"value": "37"
},
{
"begin": 2617,
"end": 2641,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2617,
"end": 2641,
"name": "tag",
"source": 1,
"value": "94"
},
{
"begin": 2617,
"end": 2641,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2612,
"end": 2615,
"name": "DUP3",
"source": 1
},
{
"begin": 2605,
"end": 2642,
"name": "MSTORE",
"source": 1
},
{
"begin": 2530,
"end": 2648,
"name": "POP",
"source": 1
},
{
"begin": 2530,
"end": 2648,
"name": "POP",
"source": 1
},
{
"begin": 2530,
"end": 2648,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2654,
"end": 2876,
"name": "tag",
"source": 1,
"value": "18"
},
{
"begin": 2654,
"end": 2876,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2747,
"end": 2751,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2785,
"end": 2787,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2774,
"end": 2783,
"name": "DUP3",
"source": 1
},
{
"begin": 2770,
"end": 2788,
"name": "ADD",
"source": 1
},
{
"begin": 2762,
"end": 2788,
"name": "SWAP1",
"source": 1
},
{
"begin": 2762,
"end": 2788,
"name": "POP",
"source": 1
},
{
"begin": 2798,
"end": 2869,
"name": "PUSH [tag]",
"source": 1,
"value": "96"
},
{
"begin": 2866,
"end": 2867,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2855,
"end": 2864,
"name": "DUP4",
"source": 1
},
{
"begin": 2851,
"end": 2868,
"name": "ADD",
"source": 1
},
{
"begin": 2842,
"end": 2848,
"name": "DUP5",
"source": 1
},
{
"begin": 2798,
"end": 2869,
"name": "PUSH [tag]",
"source": 1,
"value": "47"
},
{
"begin": 2798,
"end": 2869,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2798,
"end": 2869,
"name": "tag",
"source": 1,
"value": "96"
},
{
"begin": 2798,
"end": 2869,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2654,
"end": 2876,
"name": "SWAP3",
"source": 1
},
{
"begin": 2654,
"end": 2876,
"name": "SWAP2",
"source": 1
},
{
"begin": 2654,
"end": 2876,
"name": "POP",
"source": 1
},
{
"begin": 2654,
"end": 2876,
"name": "POP",
"source": 1
},
{
"begin": 2654,
"end": 2876,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2882,
"end": 2958,
"name": "tag",
"source": 1,
"value": "48"
},
{
"begin": 2882,
"end": 2958,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2918,
"end": 2925,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2947,
"end": 2952,
"name": "DUP2",
"source": 1
},
{
"begin": 2936,
"end": 2952,
"name": "SWAP1",
"source": 1
},
{
"begin": 2936,
"end": 2952,
"name": "POP",
"source": 1
},
{
"begin": 2882,
"end": 2958,
"name": "SWAP2",
"source": 1
},
{
"begin": 2882,
"end": 2958,
"name": "SWAP1",
"source": 1
},
{
"begin": 2882,
"end": 2958,
"name": "POP",
"source": 1
},
{
"begin": 2882,
"end": 2958,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2964,
"end": 3084,
"name": "tag",
"source": 1,
"value": "49"
},
{
"begin": 2964,
"end": 3084,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3036,
"end": 3059,
"name": "PUSH [tag]",
"source": 1,
"value": "99"
},
{
"begin": 3053,
"end": 3058,
"name": "DUP2",
"source": 1
},
{
"begin": 3036,
"end": 3059,
"name": "PUSH [tag]",
"source": 1,
"value": "48"
},
{
"begin": 3036,
"end": 3059,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3036,
"end": 3059,
"name": "tag",
"source": 1,
"value": "99"
},
{
"begin": 3036,
"end": 3059,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3029,
"end": 3034,
"name": "DUP2",
"source": 1
},
{
"begin": 3026,
"end": 3060,
"name": "EQ",
"source": 1
},
{
"begin": 3016,
"end": 3078,
"name": "PUSH [tag]",
"source": 1,
"value": "100"
},
{
"begin": 3016,
"end": 3078,
"name": "JUMPI",
"source": 1
},
{
"begin": 3074,
"end": 3075,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3071,
"end": 3072,
"name": "DUP1",
"source": 1
},
{
"begin": 3064,
"end": 3076,
"name": "REVERT",
"source": 1
},
{
"begin": 3016,
"end": 3078,
"name": "tag",
"source": 1,
"value": "100"
},
{
"begin": 3016,
"end": 3078,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2964,
"end": 3084,
"name": "POP",
"source": 1
},
{
"begin": 2964,
"end": 3084,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3090,
"end": 3227,
"name": "tag",
"source": 1,
"value": "50"
},
{
"begin": 3090,
"end": 3227,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3135,
"end": 3140,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3173,
"end": 3179,
"name": "DUP2",
"source": 1
},
{
"begin": 3160,
"end": 3180,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 3151,
"end": 3180,
"name": "SWAP1",
"source": 1
},
{
"begin": 3151,
"end": 3180,
"name": "POP",
"source": 1
},
{
"begin": 3189,
"end": 3221,
"name": "PUSH [tag]",
"source": 1,
"value": "102"
},
{
"begin": 3215,
"end": 3220,
"name": "DUP2",
"source": 1
},
{
"begin": 3189,
"end": 3221,
"name": "PUSH [tag]",
"source": 1,
"value": "49"
},
{
"begin": 3189,
"end": 3221,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3189,
"end": 3221,
"name": "tag",
"source": 1,
"value": "102"
},
{
"begin": 3189,
"end": 3221,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3090,
"end": 3227,
"name": "SWAP3",
"source": 1
},
{
"begin": 3090,
"end": 3227,
"name": "SWAP2",
"source": 1
},
{
"begin": 3090,
"end": 3227,
"name": "POP",
"source": 1
},
{
"begin": 3090,
"end": 3227,
"name": "POP",
"source": 1
},
{
"begin": 3090,
"end": 3227,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3233,
"end": 3350,
"name": "tag",
"source": 1,
"value": "51"
},
{
"begin": 3233,
"end": 3350,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3342,
"end": 3343,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3339,
"end": 3340,
"name": "DUP1",
"source": 1
},
{
"begin": 3332,
"end": 3344,
"name": "REVERT",
"source": 1
},
{
"begin": 3356,
"end": 3473,
"name": "tag",
"source": 1,
"value": "52"
},
{
"begin": 3356,
"end": 3473,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3465,
"end": 3466,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3462,
"end": 3463,
"name": "DUP1",
"source": 1
},
{
"begin": 3455,
"end": 3467,
"name": "REVERT",
"source": 1
},
{
"begin": 3479,
"end": 3596,
"name": "tag",
"source": 1,
"value": "53"
},
{
"begin": 3479,
"end": 3596,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3588,
"end": 3589,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3585,
"end": 3586,
"name": "DUP1",
"source": 1
},
{
"begin": 3578,
"end": 3590,
"name": "REVERT",
"source": 1
},
{
"begin": 3615,
"end": 4167,
"name": "tag",
"source": 1,
"value": "54"
},
{
"begin": 3615,
"end": 4167,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3672,
"end": 3680,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3682,
"end": 3688,
"name": "DUP1",
"source": 1
},
{
"begin": 3732,
"end": 3735,
"name": "DUP4",
"source": 1
},
{
"begin": 3725,
"end": 3729,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 3717,
"end": 3723,
"name": "DUP5",
"source": 1
},
{
"begin": 3713,
"end": 3730,
"name": "ADD",
"source": 1
},
{
"begin": 3709,
"end": 3736,
"name": "SLT",
"source": 1
},
{
"begin": 3699,
"end": 3821,
"name": "PUSH [tag]",
"source": 1,
"value": "107"
},
{
"begin": 3699,
"end": 3821,
"name": "JUMPI",
"source": 1
},
{
"begin": 3740,
"end": 3819,
"name": "PUSH [tag]",
"source": 1,
"value": "108"
},
{
"begin": 3740,
"end": 3819,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 3740,
"end": 3819,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3740,
"end": 3819,
"name": "tag",
"source": 1,
"value": "108"
},
{
"begin": 3740,
"end": 3819,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3699,
"end": 3821,
"name": "tag",
"source": 1,
"value": "107"
},
{
"begin": 3699,
"end": 3821,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3853,
"end": 3859,
"name": "DUP3",
"source": 1
},
{
"begin": 3840,
"end": 3860,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 3830,
"end": 3860,
"name": "SWAP1",
"source": 1
},
{
"begin": 3830,
"end": 3860,
"name": "POP",
"source": 1
},
{
"begin": 3883,
"end": 3901,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 3875,
"end": 3881,
"name": "DUP2",
"source": 1
},
{
"begin": 3872,
"end": 3902,
"name": "GT",
"source": 1
},
{
"begin": 3869,
"end": 3986,
"name": "ISZERO",
"source": 1
},
{
"begin": 3869,
"end": 3986,
"name": "PUSH [tag]",
"source": 1,
"value": "109"
},
{
"begin": 3869,
"end": 3986,
"name": "JUMPI",
"source": 1
},
{
"begin": 3905,
"end": 3984,
"name": "PUSH [tag]",
"source": 1,
"value": "110"
},
{
"begin": 3905,
"end": 3984,
"name": "PUSH [tag]",
"source": 1,
"value": "52"
},
{
"begin": 3905,
"end": 3984,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3905,
"end": 3984,
"name": "tag",
"source": 1,
"value": "110"
},
{
"begin": 3905,
"end": 3984,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3869,
"end": 3986,
"name": "tag",
"source": 1,
"value": "109"
},
{
"begin": 3869,
"end": 3986,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4019,
"end": 4023,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4011,
"end": 4017,
"name": "DUP4",
"source": 1
},
{
"begin": 4007,
"end": 4024,
"name": "ADD",
"source": 1
},
{
"begin": 3995,
"end": 4024,
"name": "SWAP2",
"source": 1
},
{
"begin": 3995,
"end": 4024,
"name": "POP",
"source": 1
},
{
"begin": 4073,
"end": 4076,
"name": "DUP4",
"source": 1
},
{
"begin": 4065,
"end": 4069,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 4057,
"end": 4063,
"name": "DUP3",
"source": 1
},
{
"begin": 4053,
"end": 4070,
"name": "MUL",
"source": 1
},
{
"begin": 4043,
"end": 4051,
"name": "DUP4",
"source": 1
},
{
"begin": 4039,
"end": 4071,
"name": "ADD",
"source": 1
},
{
"begin": 4036,
"end": 4077,
"name": "GT",
"source": 1
},
{
"begin": 4033,
"end": 4161,
"name": "ISZERO",
"source": 1
},
{
"begin": 4033,
"end": 4161,
"name": "PUSH [tag]",
"source": 1,
"value": "111"
},
{
"begin": 4033,
"end": 4161,
"name": "JUMPI",
"source": 1
},
{
"begin": 4080,
"end": 4159,
"name": "PUSH [tag]",
"source": 1,
"value": "112"
},
{
"begin": 4080,
"end": 4159,
"name": "PUSH [tag]",
"source": 1,
"value": "53"
},
{
"begin": 4080,
"end": 4159,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4080,
"end": 4159,
"name": "tag",
"source": 1,
"value": "112"
},
{
"begin": 4080,
"end": 4159,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4033,
"end": 4161,
"name": "tag",
"source": 1,
"value": "111"
},
{
"begin": 4033,
"end": 4161,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3615,
"end": 4167,
"name": "SWAP3",
"source": 1
},
{
"begin": 3615,
"end": 4167,
"name": "POP",
"source": 1
},
{
"begin": 3615,
"end": 4167,
"name": "SWAP3",
"source": 1
},
{
"begin": 3615,
"end": 4167,
"name": "SWAP1",
"source": 1
},
{
"begin": 3615,
"end": 4167,
"name": "POP",
"source": 1
},
{
"begin": 3615,
"end": 4167,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 4173,
"end": 5278,
"name": "tag",
"source": 1,
"value": "21"
},
{
"begin": 4173,
"end": 5278,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4277,
"end": 4283,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4285,
"end": 4291,
"name": "DUP1",
"source": 1
},
{
"begin": 4293,
"end": 4299,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4301,
"end": 4307,
"name": "DUP1",
"source": 1
},
{
"begin": 4309,
"end": 4315,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4317,
"end": 4323,
"name": "DUP1",
"source": 1
},
{
"begin": 4366,
"end": 4369,
"name": "PUSH",
"source": 1,
"value": "A0"
},
{
"begin": 4354,
"end": 4363,
"name": "DUP8",
"source": 1
},
{
"begin": 4345,
"end": 4352,
"name": "DUP10",
"source": 1
},
{
"begin": 4341,
"end": 4364,
"name": "SUB",
"source": 1
},
{
"begin": 4337,
"end": 4370,
"name": "SLT",
"source": 1
},
{
"begin": 4334,
"end": 4454,
"name": "ISZERO",
"source": 1
},
{
"begin": 4334,
"end": 4454,
"name": "PUSH [tag]",
"source": 1,
"value": "114"
},
{
"begin": 4334,
"end": 4454,
"name": "JUMPI",
"source": 1
},
{
"begin": 4373,
"end": 4452,
"name": "PUSH [tag]",
"source": 1,
"value": "115"
},
{
"begin": 4373,
"end": 4452,
"name": "PUSH [tag]",
"source": 1,
"value": "34"
},
{
"begin": 4373,
"end": 4452,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4373,
"end": 4452,
"name": "tag",
"source": 1,
"value": "115"
},
{
"begin": 4373,
"end": 4452,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4334,
"end": 4454,
"name": "tag",
"source": 1,
"value": "114"
},
{
"begin": 4334,
"end": 4454,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4493,
"end": 4494,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4518,
"end": 4571,
"name": "PUSH [tag]",
"source": 1,
"value": "116"
},
{
"begin": 4563,
"end": 4570,
"name": "DUP10",
"source": 1
},
{
"begin": 4554,
"end": 4560,
"name": "DUP3",
"source": 1
},
{
"begin": 4543,
"end": 4552,
"name": "DUP11",
"source": 1
},
{
"begin": 4539,
"end": 4561,
"name": "ADD",
"source": 1
},
{
"begin": 4518,
"end": 4571,
"name": "PUSH [tag]",
"source": 1,
"value": "39"
},
{
"begin": 4518,
"end": 4571,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4518,
"end": 4571,
"name": "tag",
"source": 1,
"value": "116"
},
{
"begin": 4518,
"end": 4571,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4508,
"end": 4571,
"name": "SWAP7",
"source": 1
},
{
"begin": 4508,
"end": 4571,
"name": "POP",
"source": 1
},
{
"begin": 4464,
"end": 4581,
"name": "POP",
"source": 1
},
{
"begin": 4620,
"end": 4622,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4646,
"end": 4699,
"name": "PUSH [tag]",
"source": 1,
"value": "117"
},
{
"begin": 4691,
"end": 4698,
"name": "DUP10",
"source": 1
},
{
"begin": 4682,
"end": 4688,
"name": "DUP3",
"source": 1
},
{
"begin": 4671,
"end": 4680,
"name": "DUP11",
"source": 1
},
{
"begin": 4667,
"end": 4689,
"name": "ADD",
"source": 1
},
{
"begin": 4646,
"end": 4699,
"name": "PUSH [tag]",
"source": 1,
"value": "39"
},
{
"begin": 4646,
"end": 4699,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4646,
"end": 4699,
"name": "tag",
"source": 1,
"value": "117"
},
{
"begin": 4646,
"end": 4699,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4636,
"end": 4699,
"name": "SWAP6",
"source": 1
},
{
"begin": 4636,
"end": 4699,
"name": "POP",
"source": 1
},
{
"begin": 4591,
"end": 4709,
"name": "POP",
"source": 1
},
{
"begin": 4748,
"end": 4750,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4774,
"end": 4826,
"name": "PUSH [tag]",
"source": 1,
"value": "118"
},
{
"begin": 4818,
"end": 4825,
"name": "DUP10",
"source": 1
},
{
"begin": 4809,
"end": 4815,
"name": "DUP3",
"source": 1
},
{
"begin": 4798,
"end": 4807,
"name": "DUP11",
"source": 1
},
{
"begin": 4794,
"end": 4816,
"name": "ADD",
"source": 1
},
{
"begin": 4774,
"end": 4826,
"name": "PUSH [tag]",
"source": 1,
"value": "50"
},
{
"begin": 4774,
"end": 4826,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4774,
"end": 4826,
"name": "tag",
"source": 1,
"value": "118"
},
{
"begin": 4774,
"end": 4826,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4764,
"end": 4826,
"name": "SWAP5",
"source": 1
},
{
"begin": 4764,
"end": 4826,
"name": "POP",
"source": 1
},
{
"begin": 4719,
"end": 4836,
"name": "POP",
"source": 1
},
{
"begin": 4875,
"end": 4877,
"name": "PUSH",
"source": 1,
"value": "60"
},
{
"begin": 4901,
"end": 4953,
"name": "PUSH [tag]",
"source": 1,
"value": "119"
},
{
"begin": 4945,
"end": 4952,
"name": "DUP10",
"source": 1
},
{
"begin": 4936,
"end": 4942,
"name": "DUP3",
"source": 1
},
{
"begin": 4925,
"end": 4934,
"name": "DUP11",
"source": 1
},
{
"begin": 4921,
"end": 4943,
"name": "ADD",
"source": 1
},
{
"begin": 4901,
"end": 4953,
"name": "PUSH [tag]",
"source": 1,
"value": "50"
},
{
"begin": 4901,
"end": 4953,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4901,
"end": 4953,
"name": "tag",
"source": 1,
"value": "119"
},
{
"begin": 4901,
"end": 4953,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4891,
"end": 4953,
"name": "SWAP4",
"source": 1
},
{
"begin": 4891,
"end": 4953,
"name": "POP",
"source": 1
},
{
"begin": 4846,
"end": 4963,
"name": "POP",
"source": 1
},
{
"begin": 5030,
"end": 5033,
"name": "PUSH",
"source": 1,
"value": "80"
},
{
"begin": 5019,
"end": 5028,
"name": "DUP8",
"source": 1
},
{
"begin": 5015,
"end": 5034,
"name": "ADD",
"source": 1
},
{
"begin": 5002,
"end": 5035,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 5062,
"end": 5080,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 5054,
"end": 5060,
"name": "DUP2",
"source": 1
},
{
"begin": 5051,
"end": 5081,
"name": "GT",
"source": 1
},
{
"begin": 5048,
"end": 5165,
"name": "ISZERO",
"source": 1
},
{
"begin": 5048,
"end": 5165,
"name": "PUSH [tag]",
"source": 1,
"value": "120"
},
{
"begin": 5048,
"end": 5165,
"name": "JUMPI",
"source": 1
},
{
"begin": 5084,
"end": 5163,
"name": "PUSH [tag]",
"source": 1,
"value": "121"
},
{
"begin": 5084,
"end": 5163,
"name": "PUSH [tag]",
"source": 1,
"value": "35"
},
{
"begin": 5084,
"end": 5163,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 5084,
"end": 5163,
"name": "tag",
"source": 1,
"value": "121"
},
{
"begin": 5084,
"end": 5163,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5048,
"end": 5165,
"name": "tag",
"source": 1,
"value": "120"
},
{
"begin": 5048,
"end": 5165,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5197,
"end": 5261,
"name": "PUSH [tag]",
"source": 1,
"value": "122"
},
{
"begin": 5253,
"end": 5260,
"name": "DUP10",
"source": 1
},
{
"begin": 5244,
"end": 5250,
"name": "DUP3",
"source": 1
},
{
"begin": 5233,
"end": 5242,
"name": "DUP11",
"source": 1
},
{
"begin": 5229,
"end": 5251,
"name": "ADD",
"source": 1
},
{
"begin": 5197,
"end": 5261,
"name": "PUSH [tag]",
"source": 1,
"value": "54"
},
{
"begin": 5197,
"end": 5261,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 5197,
"end": 5261,
"name": "tag",
"source": 1,
"value": "122"
},
{
"begin": 5197,
"end": 5261,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5179,
"end": 5261,
"name": "SWAP3",
"source": 1
},
{
"begin": 5179,
"end": 5261,
"name": "POP",
"source": 1
},
{
"begin": 5179,
"end": 5261,
"name": "SWAP3",
"source": 1
},
{
"begin": 5179,
"end": 5261,
"name": "POP",
"source": 1
},
{
"begin": 4973,
"end": 5271,
"name": "POP",
"source": 1
},
{
"begin": 4173,
"end": 5278,
"name": "SWAP3",
"source": 1
},
{
"begin": 4173,
"end": 5278,
"name": "SWAP6",
"source": 1
},
{
"begin": 4173,
"end": 5278,
"name": "POP",
"source": 1
},
{
"begin": 4173,
"end": 5278,
"name": "SWAP3",
"source": 1
},
{
"begin": 4173,
"end": 5278,
"name": "SWAP6",
"source": 1
},
{
"begin": 4173,
"end": 5278,
"name": "POP",
"source": 1
},
{
"begin": 4173,
"end": 5278,
"name": "SWAP3",
"source": 1
},
{
"begin": 4173,
"end": 5278,
"name": "SWAP6",
"source": 1
},
{
"begin": 4173,
"end": 5278,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 5284,
"end": 5726,
"name": "tag",
"source": 1,
"value": "25"
},
{
"begin": 5284,
"end": 5726,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5433,
"end": 5437,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5471,
"end": 5473,
"name": "PUSH",
"source": 1,
"value": "60"
},
{
"begin": 5460,
"end": 5469,
"name": "DUP3",
"source": 1
},
{
"begin": 5456,
"end": 5474,
"name": "ADD",
"source": 1
},
{
"begin": 5448,
"end": 5474,
"name": "SWAP1",
"source": 1
},
{
"begin": 5448,
"end": 5474,
"name": "POP",
"source": 1
},
{
"begin": 5484,
"end": 5555,
"name": "PUSH [tag]",
"source": 1,
"value": "124"
},
{
"begin": 5552,
"end": 5553,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5541,
"end": 5550,
"name": "DUP4",
"source": 1
},
{
"begin": 5537,
"end": 5554,
"name": "ADD",
"source": 1
},
{
"begin": 5528,
"end": 5534,
"name": "DUP7",
"source": 1
},
{
"begin": 5484,
"end": 5555,
"name": "PUSH [tag]",
"source": 1,
"value": "47"
},
{
"begin": 5484,
"end": 5555,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 5484,
"end": 5555,
"name": "tag",
"source": 1,
"value": "124"
},
{
"begin": 5484,
"end": 5555,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5565,
"end": 5637,
"name": "PUSH [tag]",
"source": 1,
"value": "125"
},
{
"begin": 5633,
"end": 5635,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 5622,
"end": 5631,
"name": "DUP4",
"source": 1
},
{
"begin": 5618,
"end": 5636,
"name": "ADD",
"source": 1
},
{
"begin": 5609,
"end": 5615,
"name": "DUP6",
"source": 1
},
{
"begin": 5565,
"end": 5637,
"name": "PUSH [tag]",
"source": 1,
"value": "47"
},
{
"begin": 5565,
"end": 5637,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 5565,
"end": 5637,
"name": "tag",
"source": 1,
"value": "125"
},
{
"begin": 5565,
"end": 5637,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5647,
"end": 5719,
"name": "PUSH [tag]",
"source": 1,
"value": "126"
},
{
"begin": 5715,
"end": 5717,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 5704,
"end": 5713,
"name": "DUP4",
"source": 1
},
{
"begin": 5700,
"end": 5718,
"name": "ADD",
"source": 1
},
{
"begin": 5691,
"end": 5697,
"name": "DUP5",
"source": 1
},
{
"begin": 5647,
"end": 5719,
"name": "PUSH [tag]",
"source": 1,
"value": "46"
},
{
"begin": 5647,
"end": 5719,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 5647,
"end": 5719,
"name": "tag",
"source": 1,
"value": "126"
},
{
"begin": 5647,
"end": 5719,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5284,
"end": 5726,
"name": "SWAP5",
"source": 1
},
{
"begin": 5284,
"end": 5726,
"name": "SWAP4",
"source": 1
},
{
"begin": 5284,
"end": 5726,
"name": "POP",
"source": 1
},
{
"begin": 5284,
"end": 5726,
"name": "POP",
"source": 1
},
{
"begin": 5284,
"end": 5726,
"name": "POP",
"source": 1
},
{
"begin": 5284,
"end": 5726,
"name": "POP",
"source": 1
},
{
"begin": 5284,
"end": 5726,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 5732,
"end": 5822,
"name": "tag",
"source": 1,
"value": "55"
},
{
"begin": 5732,
"end": 5822,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5766,
"end": 5773,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5809,
"end": 5814,
"name": "DUP2",
"source": 1
},
{
"begin": 5802,
"end": 5815,
"name": "ISZERO",
"source": 1
},
{
"begin": 5795,
"end": 5816,
"name": "ISZERO",
"source": 1
},
{
"begin": 5784,
"end": 5816,
"name": "SWAP1",
"source": 1
},
{
"begin": 5784,
"end": 5816,
"name": "POP",
"source": 1
},
{
"begin": 5732,
"end": 5822,
"name": "SWAP2",
"source": 1
},
{
"begin": 5732,
"end": 5822,
"name": "SWAP1",
"source": 1
},
{
"begin": 5732,
"end": 5822,
"name": "POP",
"source": 1
},
{
"begin": 5732,
"end": 5822,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 5828,
"end": 5944,
"name": "tag",
"source": 1,
"value": "56"
},
{
"begin": 5828,
"end": 5944,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5898,
"end": 5919,
"name": "PUSH [tag]",
"source": 1,
"value": "129"
},
{
"begin": 5913,
"end": 5918,
"name": "DUP2",
"source": 1
},
{
"begin": 5898,
"end": 5919,
"name": "PUSH [tag]",
"source": 1,
"value": "55"
},
{
"begin": 5898,
"end": 5919,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 5898,
"end": 5919,
"name": "tag",
"source": 1,
"value": "129"
},
{
"begin": 5898,
"end": 5919,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5891,
"end": 5896,
"name": "DUP2",
"source": 1
},
{
"begin": 5888,
"end": 5920,
"name": "EQ",
"source": 1
},
{
"begin": 5878,
"end": 5938,
"name": "PUSH [tag]",
"source": 1,
"value": "130"
},
{
"begin": 5878,
"end": 5938,
"name": "JUMPI",
"source": 1
},
{
"begin": 5934,
"end": 5935,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5931,
"end": 5932,
"name": "DUP1",
"source": 1
},
{
"begin": 5924,
"end": 5936,
"name": "REVERT",
"source": 1
},
{
"begin": 5878,
"end": 5938,
"name": "tag",
"source": 1,
"value": "130"
},
{
"begin": 5878,
"end": 5938,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5828,
"end": 5944,
"name": "POP",
"source": 1
},
{
"begin": 5828,
"end": 5944,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 5950,
"end": 6087,
"name": "tag",
"source": 1,
"value": "57"
},
{
"begin": 5950,
"end": 6087,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6004,
"end": 6009,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6035,
"end": 6041,
"name": "DUP2",
"source": 1
},
{
"begin": 6029,
"end": 6042,
"name": "MLOAD",
"source": 1
},
{
"begin": 6020,
"end": 6042,
"name": "SWAP1",
"source": 1
},
{
"begin": 6020,
"end": 6042,
"name": "POP",
"source": 1
},
{
"begin": 6051,
"end": 6081,
"name": "PUSH [tag]",
"source": 1,
"value": "132"
},
{
"begin": 6075,
"end": 6080,
"name": "DUP2",
"source": 1
},
{
"begin": 6051,
"end": 6081,
"name": "PUSH [tag]",
"source": 1,
"value": "56"
},
{
"begin": 6051,
"end": 6081,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 6051,
"end": 6081,
"name": "tag",
"source": 1,
"value": "132"
},
{
"begin": 6051,
"end": 6081,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5950,
"end": 6087,
"name": "SWAP3",
"source": 1
},
{
"begin": 5950,
"end": 6087,
"name": "SWAP2",
"source": 1
},
{
"begin": 5950,
"end": 6087,
"name": "POP",
"source": 1
},
{
"begin": 5950,
"end": 6087,
"name": "POP",
"source": 1
},
{
"begin": 5950,
"end": 6087,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 6093,
"end": 6438,
"name": "tag",
"source": 1,
"value": "29"
},
{
"begin": 6093,
"end": 6438,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6160,
"end": 6166,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6209,
"end": 6211,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 6197,
"end": 6206,
"name": "DUP3",
"source": 1
},
{
"begin": 6188,
"end": 6195,
"name": "DUP5",
"source": 1
},
{
"begin": 6184,
"end": 6207,
"name": "SUB",
"source": 1
},
{
"begin": 6180,
"end": 6212,
"name": "SLT",
"source": 1
},
{
"begin": 6177,
"end": 6296,
"name": "ISZERO",
"source": 1
},
{
"begin": 6177,
"end": 6296,
"name": "PUSH [tag]",
"source": 1,
"value": "134"
},
{
"begin": 6177,
"end": 6296,
"name": "JUMPI",
"source": 1
},
{
"begin": 6215,
"end": 6294,
"name": "PUSH [tag]",
"source": 1,
"value": "135"
},
{
"begin": 6215,
"end": 6294,
"name": "PUSH [tag]",
"source": 1,
"value": "34"
},
{
"begin": 6215,
"end": 6294,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 6215,
"end": 6294,
"name": "tag",
"source": 1,
"value": "135"
},
{
"begin": 6215,
"end": 6294,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6177,
"end": 6296,
"name": "tag",
"source": 1,
"value": "134"
},
{
"begin": 6177,
"end": 6296,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6335,
"end": 6336,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6360,
"end": 6421,
"name": "PUSH [tag]",
"source": 1,
"value": "136"
},
{
"begin": 6413,
"end": 6420,
"name": "DUP5",
"source": 1
},
{
"begin": 6404,
"end": 6410,
"name": "DUP3",
"source": 1
},
{
"begin": 6393,
"end": 6402,
"name": "DUP6",
"source": 1
},
{
"begin": 6389,
"end": 6411,
"name": "ADD",
"source": 1
},
{
"begin": 6360,
"end": 6421,
"name": "PUSH [tag]",
"source": 1,
"value": "57"
},
{
"begin": 6360,
"end": 6421,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 6360,
"end": 6421,
"name": "tag",
"source": 1,
"value": "136"
},
{
"begin": 6360,
"end": 6421,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6350,
"end": 6421,
"name": "SWAP2",
"source": 1
},
{
"begin": 6350,
"end": 6421,
"name": "POP",
"source": 1
},
{
"begin": 6306,
"end": 6431,
"name": "POP",
"source": 1
},
{
"begin": 6093,
"end": 6438,
"name": "SWAP3",
"source": 1
},
{
"begin": 6093,
"end": 6438,
"name": "SWAP2",
"source": 1
},
{
"begin": 6093,
"end": 6438,
"name": "POP",
"source": 1
},
{
"begin": 6093,
"end": 6438,
"name": "POP",
"source": 1
},
{
"begin": 6093,
"end": 6438,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 6444,
"end": 6624,
"name": "tag",
"source": 1,
"value": "58"
},
{
"begin": 6444,
"end": 6624,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6492,
"end": 6569,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 6489,
"end": 6490,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6482,
"end": 6570,
"name": "MSTORE",
"source": 1
},
{
"begin": 6589,
"end": 6593,
"name": "PUSH",
"source": 1,
"value": "11"
},
{
"begin": 6586,
"end": 6587,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 6579,
"end": 6594,
"name": "MSTORE",
"source": 1
},
{
"begin": 6613,
"end": 6617,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 6610,
"end": 6611,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6603,
"end": 6618,
"name": "REVERT",
"source": 1
},
{
"begin": 6630,
"end": 6863,
"name": "tag",
"source": 1,
"value": "32"
},
{
"begin": 6630,
"end": 6863,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6669,
"end": 6672,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6692,
"end": 6716,
"name": "PUSH [tag]",
"source": 1,
"value": "139"
},
{
"begin": 6710,
"end": 6715,
"name": "DUP3",
"source": 1
},
{
"begin": 6692,
"end": 6716,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 6692,
"end": 6716,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 6692,
"end": 6716,
"name": "tag",
"source": 1,
"value": "139"
},
{
"begin": 6692,
"end": 6716,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6683,
"end": 6716,
"name": "SWAP2",
"source": 1
},
{
"begin": 6683,
"end": 6716,
"name": "POP",
"source": 1
},
{
"begin": 6738,
"end": 6804,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 6731,
"end": 6736,
"name": "DUP3",
"source": 1
},
{
"begin": 6728,
"end": 6805,
"name": "SUB",
"source": 1
},
{
"begin": 6725,
"end": 6828,
"name": "PUSH [tag]",
"source": 1,
"value": "140"
},
{
"begin": 6725,
"end": 6828,
"name": "JUMPI",
"source": 1
},
{
"begin": 6808,
"end": 6826,
"name": "PUSH [tag]",
"source": 1,
"value": "141"
},
{
"begin": 6808,
"end": 6826,
"name": "PUSH [tag]",
"source": 1,
"value": "58"
},
{
"begin": 6808,
"end": 6826,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 6808,
"end": 6826,
"name": "tag",
"source": 1,
"value": "141"
},
{
"begin": 6808,
"end": 6826,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6725,
"end": 6828,
"name": "tag",
"source": 1,
"value": "140"
},
{
"begin": 6725,
"end": 6828,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6855,
"end": 6856,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 6848,
"end": 6853,
"name": "DUP3",
"source": 1
},
{
"begin": 6844,
"end": 6857,
"name": "ADD",
"source": 1
},
{
"begin": 6837,
"end": 6857,
"name": "SWAP1",
"source": 1
},
{
"begin": 6837,
"end": 6857,
"name": "POP",
"source": 1
},
{
"begin": 6630,
"end": 6863,
"name": "SWAP2",
"source": 1
},
{
"begin": 6630,
"end": 6863,
"name": "SWAP1",
"source": 1
},
{
"begin": 6630,
"end": 6863,
"name": "POP",
"source": 1
},
{
"begin": 6630,
"end": 6863,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
}
]
}
},
"sourceList": [
"contracts/1_Storage.sol",
"#utility.yul"
]
},
"methodIdentifiers": {
"collateralToken()": "b2016bd4",
"counter()": "61bc221a",
"deposit(address,uint256,bytes32)": "26b3293f",
"onAdjustPosition(address,address,int256,int256,bytes)": "f77c4036"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_collateralToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"collateralToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"counter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_positionAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_data\",\"type\":\"bytes32\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"internalType\":\"int256\",\"name\":\"collateralValue\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"debtShare\",\"type\":\"int256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onAdjustPosition\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/1_Storage.sol\":\"AttackAdapter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/1_Storage.sol\":{\"keccak256\":\"0xea4fda6bfe81ce43814a601e2ed9592052e9be2b1a32bd68f38647acf51d6085\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ccfeca257bdf12c74765ee963a5d72e3ec99902b1ecf7ced62f849a8a1328962\",\"dweb:/ipfs/QmWXdYNfzhqCBnjsPHwFjrv899F491shkjeh5orNPNkU6F\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 15,
"contract": "contracts/1_Storage.sol:AttackAdapter",
"label": "collateralToken",
"offset": 0,
"slot": "0",
"type": "t_address"
},
{
"astId": 17,
"contract": "contracts/1_Storage.sol:AttackAdapter",
"label": "counter",
"offset": 0,
"slot": "1",
"type": "t_uint256"
}
],
"types": {
"t_address": {
"encoding": "inplace",
"label": "address",
"numberOfBytes": "20"
},
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"IERC20": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": "",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"legacyAssembly": null,
"methodIdentifiers": {
"transferFrom(address,address,uint256)": "23b872dd"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/1_Storage.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/1_Storage.sol\":{\"keccak256\":\"0xea4fda6bfe81ce43814a601e2ed9592052e9be2b1a32bd68f38647acf51d6085\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ccfeca257bdf12c74765ee963a5d72e3ec99902b1ecf7ced62f849a8a1328962\",\"dweb:/ipfs/QmWXdYNfzhqCBnjsPHwFjrv899F491shkjeh5orNPNkU6F\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"errors": [
{
"component": "general",
"errorCode": "5667",
"formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/1_Storage.sol:15:22:\n |\n15 | function deposit(address _positionAddress, uint256 _value, bytes32 _data ) external {\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n\n",
"message": "Unused function parameter. Remove or comment out the variable name to silence this warning.",
"severity": "warning",
"sourceLocation": {
"end": 421,
"file": "contracts/1_Storage.sol",
"start": 397
},
"type": "Warning"
},
{
"component": "general",
"errorCode": "5667",
"formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/1_Storage.sol:15:64:\n |\n15 | function deposit(address _positionAddress, uint256 _value, bytes32 _data ) external {\n | ^^^^^^^^^^^^^\n\n",
"message": "Unused function parameter. Remove or comment out the variable name to silence this warning.",
"severity": "warning",
"sourceLocation": {
"end": 452,
"file": "contracts/1_Storage.sol",
"start": 439
},
"type": "Warning"
},
{
"component": "general",
"errorCode": "5667",
"formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/1_Storage.sol:18:31:\n |\n18 | function onAdjustPosition(address src, address dst, int256 collateralValue, int256 debtShare, bytes calldata data) external {\n | ^^^^^^^^^^^\n\n",
"message": "Unused function parameter. Remove or comment out the variable name to silence this warning.",
"severity": "warning",
"sourceLocation": {
"end": 594,
"file": "contracts/1_Storage.sol",
"start": 583
},
"type": "Warning"
},
{
"component": "general",
"errorCode": "5667",
"formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/1_Storage.sol:18:44:\n |\n18 | function onAdjustPosition(address src, address dst, int256 collateralValue, int256 debtShare, bytes calldata data) external {\n | ^^^^^^^^^^^\n\n",
"message": "Unused function parameter. Remove or comment out the variable name to silence this warning.",
"severity": "warning",
"sourceLocation": {
"end": 607,
"file": "contracts/1_Storage.sol",
"start": 596
},
"type": "Warning"
},
{
"component": "general",
"errorCode": "5667",
"formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/1_Storage.sol:18:57:\n |\n18 | function onAdjustPosition(address src, address dst, int256 collateralValue, int256 debtShare, bytes calldata data) external {\n | ^^^^^^^^^^^^^^^^^^^^^^\n\n",
"message": "Unused function parameter. Remove or comment out the variable name to silence this warning.",
"severity": "warning",
"sourceLocation": {
"end": 631,
"file": "contracts/1_Storage.sol",
"start": 609
},
"type": "Warning"
},
{
"component": "general",
"errorCode": "5667",
"formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/1_Storage.sol:18:81:\n |\n18 | function onAdjustPosition(address src, address dst, int256 collateralValue, int256 debtShare, bytes calldata data) external {\n | ^^^^^^^^^^^^^^^^\n\n",
"message": "Unused function parameter. Remove or comment out the variable name to silence this warning.",
"severity": "warning",
"sourceLocation": {
"end": 649,
"file": "contracts/1_Storage.sol",
"start": 633
},
"type": "Warning"
},
{
"component": "general",
"errorCode": "5667",
"formattedMessage": "Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/1_Storage.sol:18:99:\n |\n18 | function onAdjustPosition(address src, address dst, int256 collateralValue, int256 debtShare, bytes calldata data) external {\n | ^^^^^^^^^^^^^^^^^^^\n\n",
"message": "Unused function parameter. Remove or comment out the variable name to silence this warning.",
"severity": "warning",
"sourceLocation": {
"end": 670,
"file": "contracts/1_Storage.sol",
"start": 651
},
"type": "Warning"
}
],
"sources": {
"contracts/1_Storage.sol": {
"ast": {
"absolutePath": "contracts/1_Storage.sol",
"exportedSymbols": {
"AttackAdapter": [
68
],
"IERC20": [
13
]
},
"id": 69,
"license": "GPL-3.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
">=",
"0.8",
".2",
"<",
"0.9",
".0"
],
"nodeType": "PragmaDirective",
"src": "37:31:0"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "IERC20",
"contractDependencies": [],
"contractKind": "interface",
"fullyImplemented": false,
"id": 13,
"linearizedBaseContracts": [
13
],
"name": "IERC20",
"nameLocation": "80:6:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"functionSelector": "23b872dd",
"id": 12,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "transferFrom",
"nameLocation": "102:12:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 8,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3,
"mutability": "mutable",
"name": "sender",
"nameLocation": "123:6:0",
"nodeType": "VariableDeclaration",
"scope": 12,
"src": "115:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "115:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5,
"mutability": "mutable",
"name": "recipient",
"nameLocation": "139:9:0",
"nodeType": "VariableDeclaration",
"scope": 12,
"src": "131:17:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 4,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "131:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 7,
"mutability": "mutable",
"name": "amount",
"nameLocation": "158:6:0",
"nodeType": "VariableDeclaration",
"scope": 12,
"src": "150:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 6,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "150:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "114:51:0"
},
"returnParameters": {
"id": 11,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 10,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 12,
"src": "184:4:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 9,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "184:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "183:6:0"
},
"scope": 13,
"src": "93:97:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 69,
"src": "70:122:0",
"usedErrors": []
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "AttackAdapter",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 68,
"linearizedBaseContracts": [
68
],
"name": "AttackAdapter",
"nameLocation": "203:13:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "b2016bd4",
"id": 15,
"mutability": "mutable",
"name": "collateralToken",
"nameLocation": "237:15:0",
"nodeType": "VariableDeclaration",
"scope": 68,
"src": "222:30:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 14,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "222:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "61bc221a",
"id": 17,
"mutability": "mutable",
"name": "counter",
"nameLocation": "273:7:0",
"nodeType": "VariableDeclaration",
"scope": 68,
"src": "258:22:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 16,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "258:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "public"
},
{
"body": {
"id": 26,
"nodeType": "Block",
"src": "324:51:0",
"statements": [
{
"expression": {
"id": 24,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 22,
"name": "collateralToken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15,
"src": "334:15:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 23,
"name": "_collateralToken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19,
"src": "352:16:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "334:34:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 25,
"nodeType": "ExpressionStatement",
"src": "334:34:0"
}
]
},
"id": 27,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 20,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 19,
"mutability": "mutable",
"name": "_collateralToken",
"nameLocation": "306:16:0",
"nodeType": "VariableDeclaration",
"scope": 27,
"src": "298:24:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 18,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "298:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "297:26:0"
},
"returnParameters": {
"id": 21,
"nodeType": "ParameterList",
"parameters": [],
"src": "324:0:0"
},
"scope": 68,
"src": "286:89:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 49,
"nodeType": "Block",
"src": "464:88:0",
"statements": [
{
"expression": {
"arguments": [
{
"expression": {
"id": 40,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "511:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 41,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "515:6:0",
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "511:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"arguments": [
{
"id": 44,
"name": "this",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967268,
"src": "531:4:0",
"typeDescriptions": {
"typeIdentifier": "t_contract$_AttackAdapter_$68",
"typeString": "contract AttackAdapter"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_AttackAdapter_$68",
"typeString": "contract AttackAdapter"
}
],
"id": 43,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "523:7:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 42,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "523:7:0",
"typeDescriptions": {}
}
},
"id": 45,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "523:13:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 46,
"name": "_value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 31,
"src": "538:6:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"arguments": [
{
"id": 37,
"name": "collateralToken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15,
"src": "481:15:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 36,
"name": "IERC20",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13,
"src": "474:6:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_IERC20_$13_$",
"typeString": "type(contract IERC20)"
}
},
"id": 38,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "474:23:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_IERC20_$13",
"typeString": "contract IERC20"
}
},
"id": 39,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "498:12:0",
"memberName": "transferFrom",
"nodeType": "MemberAccess",
"referencedDeclaration": 12,
"src": "474:36:0",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$",
"typeString": "function (address,address,uint256) external returns (bool)"
}
},
"id": 47,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "474:71:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 48,
"nodeType": "ExpressionStatement",
"src": "474:71:0"
}
]
},
"functionSelector": "26b3293f",
"id": 50,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "deposit",
"nameLocation": "389:7:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 34,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 29,
"mutability": "mutable",
"name": "_positionAddress",
"nameLocation": "405:16:0",
"nodeType": "VariableDeclaration",
"scope": 50,
"src": "397:24:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 28,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "397:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 31,
"mutability": "mutable",
"name": "_value",
"nameLocation": "431:6:0",
"nodeType": "VariableDeclaration",
"scope": 50,
"src": "423:14:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 30,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "423:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 33,
"mutability": "mutable",
"name": "_data",
"nameLocation": "447:5:0",
"nodeType": "VariableDeclaration",
"scope": 50,
"src": "439:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 32,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "439:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"src": "396:58:0"
},
"returnParameters": {
"id": 35,
"nodeType": "ParameterList",
"parameters": [],
"src": "464:0:0"
},
"scope": 68,
"src": "380:172:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 66,
"nodeType": "Block",
"src": "681:26:0",
"statements": [
{
"expression": {
"id": 64,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
"src": "691:9:0",
"subExpression": {
"id": 63,
"name": "counter",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17,
"src": "691:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 65,
"nodeType": "ExpressionStatement",
"src": "691:9:0"
}
]
},
"functionSelector": "f77c4036",
"id": 67,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "onAdjustPosition",
"nameLocation": "566:16:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 61,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 52,
"mutability": "mutable",
"name": "src",
"nameLocation": "591:3:0",
"nodeType": "VariableDeclaration",
"scope": 67,
"src": "583:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 51,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "583:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 54,
"mutability": "mutable",
"name": "dst",
"nameLocation": "604:3:0",
"nodeType": "VariableDeclaration",
"scope": 67,
"src": "596:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 53,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "596:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 56,
"mutability": "mutable",
"name": "collateralValue",
"nameLocation": "616:15:0",
"nodeType": "VariableDeclaration",
"scope": 67,
"src": "609:22:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 55,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "609:6:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 58,
"mutability": "mutable",
"name": "debtShare",
"nameLocation": "640:9:0",
"nodeType": "VariableDeclaration",
"scope": 67,
"src": "633:16:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
},
"typeName": {
"id": 57,
"name": "int256",
"nodeType": "ElementaryTypeName",
"src": "633:6:0",
"typeDescriptions": {
"typeIdentifier": "t_int256",
"typeString": "int256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 60,
"mutability": "mutable",
"name": "data",
"nameLocation": "666:4:0",
"nodeType": "VariableDeclaration",
"scope": 67,
"src": "651:19:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 59,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "651:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"src": "582:89:0"
},
"returnParameters": {
"id": 62,
"nodeType": "ParameterList",
"parameters": [],
"src": "681:0:0"
},
"scope": 68,
"src": "557:150:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 69,
"src": "194:516:0",
"usedErrors": []
}
],
"src": "37:673:0"
},
"id": 0
}
}
}
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"methodIdentifiers": {
"transferFrom(address,address,uint256)": "23b872dd"
}
},
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.17+commit.8df45f5f"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/1_AttackAdapter.sol": "IERC20"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/1_AttackAdapter.sol": {
"keccak256": "0xea4fda6bfe81ce43814a601e2ed9592052e9be2b1a32bd68f38647acf51d6085",
"license": "GPL-3.0",
"urls": [
"bzz-raw://ccfeca257bdf12c74765ee963a5d72e3ec99902b1ecf7ced62f849a8a1328962",
"dweb:/ipfs/QmWXdYNfzhqCBnjsPHwFjrv899F491shkjeh5orNPNkU6F"
]
}
},
"version": 1
}
This file has been truncated, but you can view the full file.
{
"id": "e1003d76e589e020916f13ceecef422d",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.17",
"solcLongVersion": "0.8.17+commit.8df45f5f",
"input": {
"language": "Solidity",
"sources": {
"contracts/1_AttackAdapter.sol": {
"content": "// SPDX-License-Identifier: GPL-3.0\n\npragma solidity >=0.8.2 <0.9.0;\n\ninterface IERC20 {\n function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);\n}\n\ncontract AttackAdapter{\n address public collateralToken;\n uint256 public counter;\n constructor(address _collateralToken) {\n collateralToken = _collateralToken;\n }\n function deposit(address _positionAddress, uint256 _value, bytes32 _data ) external {\n IERC20(collateralToken).transferFrom(msg.sender, address(this), _value);\n }\n function onAdjustPosition(address src, address dst, int256 collateralValue, int256 debtShare, bytes calldata data) external {\n counter++;\n }\n\n}"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"contracts/1_AttackAdapter.sol": {
"AttackAdapter": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_collateralToken",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "collateralToken",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "counter",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_positionAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "_data",
"type": "bytes32"
}
],
"name": "deposit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "src",
"type": "address"
},
{
"internalType": "address",
"name": "dst",
"type": "address"
},
{
"internalType": "int256",
"name": "collateralValue",
"type": "int256"
},
{
"internalType": "int256",
"name": "debtShare",
"type": "int256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "onAdjustPosition",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/1_AttackAdapter.sol\":194:710 contract AttackAdapter{... */\n mstore(0x40, 0x80)\n /* \"contracts/1_AttackAdapter.sol\":286:375 constructor(address _collateralToken) {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n mload(0x40)\n sub(codesize, bytecodeSize)\n dup1\n bytecodeSize\n dup4\n codecopy\n dup2\n dup2\n add\n 0x40\n mstore\n dup2\n add\n swap1\n tag_2\n swap2\n swap1\n tag_3\n jump\t// in\ntag_2:\n /* \"contracts/1_AttackAdapter.sol\":352:368 _collateralToken */\n dup1\n /* \"contracts/1_AttackAdapter.sol\":334:349 collateralToken */\n 0x00\n dup1\n /* \"contracts/1_AttackAdapter.sol\":334:368 collateralToken = _collateralToken */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/1_AttackAdapter.sol\":286:375 constructor(address _collateralToken) {... */\n pop\n /* \"contracts/1_AttackAdapter.sol\":194:710 contract AttackAdapter{... */\n jump(tag_6)\n /* \"#utility.yul\":88:205 */\ntag_8:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":334:460 */\ntag_10:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":411:453 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":404:409 */\n dup3\n /* \"#utility.yul\":400:454 */\n and\n /* \"#utility.yul\":389:454 */\n swap1\n pop\n /* \"#utility.yul\":334:460 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":466:562 */\ntag_11:\n /* \"#utility.yul\":503:510 */\n 0x00\n /* \"#utility.yul\":532:556 */\n tag_20\n /* \"#utility.yul\":550:555 */\n dup3\n /* \"#utility.yul\":532:556 */\n tag_10\n jump\t// in\ntag_20:\n /* \"#utility.yul\":521:556 */\n swap1\n pop\n /* \"#utility.yul\":466:562 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":568:690 */\ntag_12:\n /* \"#utility.yul\":641:665 */\n tag_22\n /* \"#utility.yul\":659:664 */\n dup2\n /* \"#utility.yul\":641:665 */\n tag_11\n jump\t// in\ntag_22:\n /* \"#utility.yul\":634:639 */\n dup2\n /* \"#utility.yul\":631:666 */\n eq\n /* \"#utility.yul\":621:684 */\n tag_23\n jumpi\n /* \"#utility.yul\":680:681 */\n 0x00\n /* \"#utility.yul\":677:678 */\n dup1\n /* \"#utility.yul\":670:682 */\n revert\n /* \"#utility.yul\":621:684 */\ntag_23:\n /* \"#utility.yul\":568:690 */\n pop\n jump\t// out\n /* \"#utility.yul\":696:839 */\ntag_13:\n /* \"#utility.yul\":753:758 */\n 0x00\n /* \"#utility.yul\":784:790 */\n dup2\n /* \"#utility.yul\":778:791 */\n mload\n /* \"#utility.yul\":769:791 */\n swap1\n pop\n /* \"#utility.yul\":800:833 */\n tag_25\n /* \"#utility.yul\":827:832 */\n dup2\n /* \"#utility.yul\":800:833 */\n tag_12\n jump\t// in\ntag_25:\n /* \"#utility.yul\":696:839 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":845:1196 */\ntag_3:\n /* \"#utility.yul\":915:921 */\n 0x00\n /* \"#utility.yul\":964:966 */\n 0x20\n /* \"#utility.yul\":952:961 */\n dup3\n /* \"#utility.yul\":943:950 */\n dup5\n /* \"#utility.yul\":939:962 */\n sub\n /* \"#utility.yul\":935:967 */\n slt\n /* \"#utility.yul\":932:1051 */\n iszero\n tag_27\n jumpi\n /* \"#utility.yul\":970:1049 */\n tag_28\n tag_8\n jump\t// in\ntag_28:\n /* \"#utility.yul\":932:1051 */\ntag_27:\n /* \"#utility.yul\":1090:1091 */\n 0x00\n /* \"#utility.yul\":1115:1179 */\n tag_29\n /* \"#utility.yul\":1171:1178 */\n dup5\n /* \"#utility.yul\":1162:1168 */\n dup3\n /* \"#utility.yul\":1151:1160 */\n dup6\n /* \"#utility.yul\":1147:1169 */\n add\n /* \"#utility.yul\":1115:1179 */\n tag_13\n jump\t// in\ntag_29:\n /* \"#utility.yul\":1105:1179 */\n swap2\n pop\n /* \"#utility.yul\":1061:1189 */\n pop\n /* \"#utility.yul\":845:1196 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"contracts/1_AttackAdapter.sol\":194:710 contract AttackAdapter{... */\ntag_6:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/1_AttackAdapter.sol\":194:710 contract AttackAdapter{... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x26b3293f\n eq\n tag_3\n jumpi\n dup1\n 0x61bc221a\n eq\n tag_4\n jumpi\n dup1\n 0xb2016bd4\n eq\n tag_5\n jumpi\n dup1\n 0xf77c4036\n eq\n tag_6\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/1_AttackAdapter.sol\":380:552 function deposit(address _positionAddress, uint256 _value, bytes32 _data ) external {... */\n tag_3:\n tag_7\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n tag_10\n jump\t// in\n tag_7:\n stop\n /* \"contracts/1_AttackAdapter.sol\":258:280 uint256 public counter */\n tag_4:\n tag_11\n tag_12\n jump\t// in\n tag_11:\n mload(0x40)\n tag_13\n swap2\n swap1\n tag_14\n jump\t// in\n tag_13:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/1_AttackAdapter.sol\":222:252 address public collateralToken */\n tag_5:\n tag_15\n tag_16\n jump\t// in\n tag_15:\n mload(0x40)\n tag_17\n swap2\n swap1\n tag_18\n jump\t// in\n tag_17:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/1_AttackAdapter.sol\":557:707 function onAdjustPosition(address src, address dst, int256 collateralValue, int256 debtShare, bytes calldata data) external {... */\n tag_6:\n tag_19\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_20\n swap2\n swap1\n tag_21\n jump\t// in\n tag_20:\n tag_22\n jump\t// in\n tag_19:\n stop\n /* \"contracts/1_AttackAdapter.sol\":380:552 function deposit(address _positionAddress, uint256 _value, bytes32 _data ) external {... */\n tag_10:\n /* \"contracts/1_AttackAdapter.sol\":481:496 collateralToken */\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/1_AttackAdapter.sol\":474:510 IERC20(collateralToken).transferFrom */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x23b872dd\n /* \"contracts/1_AttackAdapter.sol\":511:521 msg.sender */\n caller\n /* \"contracts/1_AttackAdapter.sol\":531:535 this */\n address\n /* \"contracts/1_AttackAdapter.sol\":538:544 _value */\n dup6\n /* \"contracts/1_AttackAdapter.sol\":474:545 IERC20(collateralToken).transferFrom(msg.sender, address(this), _value) */\n mload(0x40)\n dup5\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n tag_24\n swap4\n swap3\n swap2\n swap1\n tag_25\n jump\t// in\n tag_24:\n 0x20\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n 0x00\n dup8\n gas\n call\n iszero\n dup1\n iszero\n tag_27\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_27:\n pop\n pop\n pop\n pop\n mload(0x40)\n returndatasize\n not(0x1f)\n 0x1f\n dup3\n add\n and\n dup3\n add\n dup1\n 0x40\n mstore\n pop\n dup2\n add\n swap1\n tag_28\n swap2\n swap1\n tag_29\n jump\t// in\n tag_28:\n pop\n /* \"contracts/1_AttackAdapter.sol\":380:552 function deposit(address _positionAddress, uint256 _value, bytes32 _data ) external {... */\n pop\n pop\n pop\n jump\t// out\n /* \"contracts/1_AttackAdapter.sol\":258:280 uint256 public counter */\n tag_12:\n sload(0x01)\n dup2\n jump\t// out\n /* \"contracts/1_AttackAdapter.sol\":222:252 address public collateralToken */\n tag_16:\n 0x00\n dup1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n jump\t// out\n /* \"contracts/1_AttackAdapter.sol\":557:707 function onAdjustPosition(address src, address dst, int256 collateralValue, int256 debtShare, bytes calldata data) external {... */\n tag_22:\n /* \"contracts/1_AttackAdapter.sol\":691:698 counter */\n 0x01\n 0x00\n /* \"contracts/1_AttackAdapter.sol\":691:700 counter++ */\n dup2\n sload\n dup1\n swap3\n swap2\n swap1\n tag_31\n swap1\n tag_32\n jump\t// in\n tag_31:\n swap2\n swap1\n pop\n sstore\n pop\n /* \"contracts/1_AttackAdapter.sol\":557:707 function onAdjustPosition(address src, address dst, int256 collateralValue, int256 debtShare, bytes calldata data) external {... */\n pop\n pop\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_34:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":211:328 */\n tag_35:\n /* \"#utility.yul\":320:321 */\n 0x00\n /* \"#utility.yul\":317:318 */\n dup1\n /* \"#utility.yul\":310:322 */\n revert\n /* \"#utility.yul\":334:460 */\n tag_36:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":411:453 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":404:409 */\n dup3\n /* \"#utility.yul\":400:454 */\n and\n /* \"#utility.yul\":389:454 */\n swap1\n pop\n /* \"#utility.yul\":334:460 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":466:562 */\n tag_37:\n /* \"#utility.yul\":503:510 */\n 0x00\n /* \"#utility.yul\":532:556 */\n tag_65\n /* \"#utility.yul\":550:555 */\n dup3\n /* \"#utility.yul\":532:556 */\n tag_36\n jump\t// in\n tag_65:\n /* \"#utility.yul\":521:556 */\n swap1\n pop\n /* \"#utility.yul\":466:562 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":568:690 */\n tag_38:\n /* \"#utility.yul\":641:665 */\n tag_67\n /* \"#utility.yul\":659:664 */\n dup2\n /* \"#utility.yul\":641:665 */\n tag_37\n jump\t// in\n tag_67:\n /* \"#utility.yul\":634:639 */\n dup2\n /* \"#utility.yul\":631:666 */\n eq\n /* \"#utility.yul\":621:684 */\n tag_68\n jumpi\n /* \"#utility.yul\":680:681 */\n 0x00\n /* \"#utility.yul\":677:678 */\n dup1\n /* \"#utility.yul\":670:682 */\n revert\n /* \"#utility.yul\":621:684 */\n tag_68:\n /* \"#utility.yul\":568:690 */\n pop\n jump\t// out\n /* \"#utility.yul\":696:835 */\n tag_39:\n /* \"#utility.yul\":742:747 */\n 0x00\n /* \"#utility.yul\":780:786 */\n dup2\n /* \"#utility.yul\":767:787 */\n calldataload\n /* \"#utility.yul\":758:787 */\n swap1\n pop\n /* \"#utility.yul\":796:829 */\n tag_70\n /* \"#utility.yul\":823:828 */\n dup2\n /* \"#utility.yul\":796:829 */\n tag_38\n jump\t// in\n tag_70:\n /* \"#utility.yul\":696:835 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":841:918 */\n tag_40:\n /* \"#utility.yul\":878:885 */\n 0x00\n /* \"#utility.yul\":907:912 */\n dup2\n /* \"#utility.yul\":896:912 */\n swap1\n pop\n /* \"#utility.yul\":841:918 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":924:1046 */\n tag_41:\n /* \"#utility.yul\":997:1021 */\n tag_73\n /* \"#utility.yul\":1015:1020 */\n dup2\n /* \"#utility.yul\":997:1021 */\n tag_40\n jump\t// in\n tag_73:\n /* \"#utility.yul\":990:995 */\n dup2\n /* \"#utility.yul\":987:1022 */\n eq\n /* \"#utility.yul\":977:1040 */\n tag_74\n jumpi\n /* \"#utility.yul\":1036:1037 */\n 0x00\n /* \"#utility.yul\":1033:1034 */\n dup1\n /* \"#utility.yul\":1026:1038 */\n revert\n /* \"#utility.yul\":977:1040 */\n tag_74:\n /* \"#utility.yul\":924:1046 */\n pop\n jump\t// out\n /* \"#utility.yul\":1052:1191 */\n tag_42:\n /* \"#utility.yul\":1098:1103 */\n 0x00\n /* \"#utility.yul\":1136:1142 */\n dup2\n /* \"#utility.yul\":1123:1143 */\n calldataload\n /* \"#utility.yul\":1114:1143 */\n swap1\n pop\n /* \"#utility.yul\":1152:1185 */\n tag_76\n /* \"#utility.yul\":1179:1184 */\n dup2\n /* \"#utility.yul\":1152:1185 */\n tag_41\n jump\t// in\n tag_76:\n /* \"#utility.yul\":1052:1191 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1197:1274 */\n tag_43:\n /* \"#utility.yul\":1234:1241 */\n 0x00\n /* \"#utility.yul\":1263:1268 */\n dup2\n /* \"#utility.yul\":1252:1268 */\n swap1\n pop\n /* \"#utility.yul\":1197:1274 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1280:1402 */\n tag_44:\n /* \"#utility.yul\":1353:1377 */\n tag_79\n /* \"#utility.yul\":1371:1376 */\n dup2\n /* \"#utility.yul\":1353:1377 */\n tag_43\n jump\t// in\n tag_79:\n /* \"#utility.yul\":1346:1351 */\n dup2\n /* \"#utility.yul\":1343:1378 */\n eq\n /* \"#utility.yul\":1333:1396 */\n tag_80\n jumpi\n /* \"#utility.yul\":1392:1393 */\n 0x00\n /* \"#utility.yul\":1389:1390 */\n dup1\n /* \"#utility.yul\":1382:1394 */\n revert\n /* \"#utility.yul\":1333:1396 */\n tag_80:\n /* \"#utility.yul\":1280:1402 */\n pop\n jump\t// out\n /* \"#utility.yul\":1408:1547 */\n tag_45:\n /* \"#utility.yul\":1454:1459 */\n 0x00\n /* \"#utility.yul\":1492:1498 */\n dup2\n /* \"#utility.yul\":1479:1499 */\n calldataload\n /* \"#utility.yul\":1470:1499 */\n swap1\n pop\n /* \"#utility.yul\":1508:1541 */\n tag_82\n /* \"#utility.yul\":1535:1540 */\n dup2\n /* \"#utility.yul\":1508:1541 */\n tag_44\n jump\t// in\n tag_82:\n /* \"#utility.yul\":1408:1547 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1553:2172 */\n tag_9:\n /* \"#utility.yul\":1630:1636 */\n 0x00\n /* \"#utility.yul\":1638:1644 */\n dup1\n /* \"#utility.yul\":1646:1652 */\n 0x00\n /* \"#utility.yul\":1695:1697 */\n 0x60\n /* \"#utility.yul\":1683:1692 */\n dup5\n /* \"#utility.yul\":1674:1681 */\n dup7\n /* \"#utility.yul\":1670:1693 */\n sub\n /* \"#utility.yul\":1666:1698 */\n slt\n /* \"#utility.yul\":1663:1782 */\n iszero\n tag_84\n jumpi\n /* \"#utility.yul\":1701:1780 */\n tag_85\n tag_34\n jump\t// in\n tag_85:\n /* \"#utility.yul\":1663:1782 */\n tag_84:\n /* \"#utility.yul\":1821:1822 */\n 0x00\n /* \"#utility.yul\":1846:1899 */\n tag_86\n /* \"#utility.yul\":1891:1898 */\n dup7\n /* \"#utility.yul\":1882:1888 */\n dup3\n /* \"#utility.yul\":1871:1880 */\n dup8\n /* \"#utility.yul\":1867:1889 */\n add\n /* \"#utility.yul\":1846:1899 */\n tag_39\n jump\t// in\n tag_86:\n /* \"#utility.yul\":1836:1899 */\n swap4\n pop\n /* \"#utility.yul\":1792:1909 */\n pop\n /* \"#utility.yul\":1948:1950 */\n 0x20\n /* \"#utility.yul\":1974:2027 */\n tag_87\n /* \"#utility.yul\":2019:2026 */\n dup7\n /* \"#utility.yul\":2010:2016 */\n dup3\n /* \"#utility.yul\":1999:2008 */\n dup8\n /* \"#utility.yul\":1995:2017 */\n add\n /* \"#utility.yul\":1974:2027 */\n tag_42\n jump\t// in\n tag_87:\n /* \"#utility.yul\":1964:2027 */\n swap3\n pop\n /* \"#utility.yul\":1919:2037 */\n pop\n /* \"#utility.yul\":2076:2078 */\n 0x40\n /* \"#utility.yul\":2102:2155 */\n tag_88\n /* \"#utility.yul\":2147:2154 */\n dup7\n /* \"#utility.yul\":2138:2144 */\n dup3\n /* \"#utility.yul\":2127:2136 */\n dup8\n /* \"#utility.yul\":2123:2145 */\n add\n /* \"#utility.yul\":2102:2155 */\n tag_45\n jump\t// in\n tag_88:\n /* \"#utility.yul\":2092:2155 */\n swap2\n pop\n /* \"#utility.yul\":2047:2165 */\n pop\n /* \"#utility.yul\":1553:2172 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":2178:2296 */\n tag_46:\n /* \"#utility.yul\":2265:2289 */\n tag_90\n /* \"#utility.yul\":2283:2288 */\n dup2\n /* \"#utility.yul\":2265:2289 */\n tag_40\n jump\t// in\n tag_90:\n /* \"#utility.yul\":2260:2263 */\n dup3\n /* \"#utility.yul\":2253:2290 */\n mstore\n /* \"#utility.yul\":2178:2296 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2302:2524 */\n tag_14:\n /* \"#utility.yul\":2395:2399 */\n 0x00\n /* \"#utility.yul\":2433:2435 */\n 0x20\n /* \"#utility.yul\":2422:2431 */\n dup3\n /* \"#utility.yul\":2418:2436 */\n add\n /* \"#utility.yul\":2410:2436 */\n swap1\n pop\n /* \"#utility.yul\":2446:2517 */\n tag_92\n /* \"#utility.yul\":2514:2515 */\n 0x00\n /* \"#utility.yul\":2503:2512 */\n dup4\n /* \"#utility.yul\":2499:2516 */\n add\n /* \"#utility.yul\":2490:2496 */\n dup5\n /* \"#utility.yul\":2446:2517 */\n tag_46\n jump\t// in\n tag_92:\n /* \"#utility.yul\":2302:2524 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2530:2648 */\n tag_47:\n /* \"#utility.yul\":2617:2641 */\n tag_94\n /* \"#utility.yul\":2635:2640 */\n dup2\n /* \"#utility.yul\":2617:2641 */\n tag_37\n jump\t// in\n tag_94:\n /* \"#utility.yul\":2612:2615 */\n dup3\n /* \"#utility.yul\":2605:2642 */\n mstore\n /* \"#utility.yul\":2530:2648 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2654:2876 */\n tag_18:\n /* \"#utility.yul\":2747:2751 */\n 0x00\n /* \"#utility.yul\":2785:2787 */\n 0x20\n /* \"#utility.yul\":2774:2783 */\n dup3\n /* \"#utility.yul\":2770:2788 */\n add\n /* \"#utility.yul\":2762:2788 */\n swap1\n pop\n /* \"#utility.yul\":2798:2869 */\n tag_96\n /* \"#utility.yul\":2866:2867 */\n 0x00\n /* \"#utility.yul\":2855:2864 */\n dup4\n /* \"#utility.yul\":2851:2868 */\n add\n /* \"#utility.yul\":2842:2848 */\n dup5\n /* \"#utility.yul\":2798:2869 */\n tag_47\n jump\t// in\n tag_96:\n /* \"#utility.yul\":2654:2876 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2882:2958 */\n tag_48:\n /* \"#utility.yul\":2918:2925 */\n 0x00\n /* \"#utility.yul\":2947:2952 */\n dup2\n /* \"#utility.yul\":2936:2952 */\n swap1\n pop\n /* \"#utility.yul\":2882:2958 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2964:3084 */\n tag_49:\n /* \"#utility.yul\":3036:3059 */\n tag_99\n /* \"#utility.yul\":3053:3058 */\n dup2\n /* \"#utility.yul\":3036:3059 */\n tag_48\n jump\t// in\n tag_99:\n /* \"#utility.yul\":3029:3034 */\n dup2\n /* \"#utility.yul\":3026:3060 */\n eq\n /* \"#utility.yul\":3016:3078 */\n tag_100\n jumpi\n /* \"#utility.yul\":3074:3075 */\n 0x00\n /* \"#utility.yul\":3071:3072 */\n dup1\n /* \"#utility.yul\":3064:3076 */\n revert\n /* \"#utility.yul\":3016:3078 */\n tag_100:\n /* \"#utility.yul\":2964:3084 */\n pop\n jump\t// out\n /* \"#utility.yul\":3090:3227 */\n tag_50:\n /* \"#utility.yul\":3135:3140 */\n 0x00\n /* \"#utility.yul\":3173:3179 */\n dup2\n /* \"#utility.yul\":3160:3180 */\n calldataload\n /* \"#utility.yul\":3151:3180 */\n swap1\n pop\n /* \"#utility.yul\":3189:3221 */\n tag_102\n /* \"#utility.yul\":3215:3220 */\n dup2\n /* \"#utility.yul\":3189:3221 */\n tag_49\n jump\t// in\n tag_102:\n /* \"#utility.yul\":3090:3227 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3233:3350 */\n tag_51:\n /* \"#utility.yul\":3342:3343 */\n 0x00\n /* \"#utility.yul\":3339:3340 */\n dup1\n /* \"#utility.yul\":3332:3344 */\n revert\n /* \"#utility.yul\":3356:3473 */\n tag_52:\n /* \"#utility.yul\":3465:3466 */\n 0x00\n /* \"#utility.yul\":3462:3463 */\n dup1\n /* \"#utility.yul\":3455:3467 */\n revert\n /* \"#utility.yul\":3479:3596 */\n tag_53:\n /* \"#utility.yul\":3588:3589 */\n 0x00\n /* \"#utility.yul\":3585:3586 */\n dup1\n /* \"#utility.yul\":3578:3590 */\n revert\n /* \"#utility.yul\":3615:4167 */\n tag_54:\n /* \"#utility.yul\":3672:3680 */\n 0x00\n /* \"#utility.yul\":3682:3688 */\n dup1\n /* \"#utility.yul\":3732:3735 */\n dup4\n /* \"#utility.yul\":3725:3729 */\n 0x1f\n /* \"#utility.yul\":3717:3723 */\n dup5\n /* \"#utility.yul\":3713:3730 */\n add\n /* \"#utility.yul\":3709:3736 */\n slt\n /* \"#utility.yul\":3699:3821 */\n tag_107\n jumpi\n /* \"#utility.yul\":3740:3819 */\n tag_108\n tag_51\n jump\t// in\n tag_108:\n /* \"#utility.yul\":3699:3821 */\n tag_107:\n /* \"#utility.yul\":3853:3859 */\n dup3\n /* \"#utility.yul\":3840:3860 */\n calldataload\n /* \"#utility.yul\":3830:3860 */\n swap1\n pop\n /* \"#utility.yul\":3883:3901 */\n 0xffffffffffffffff\n /* \"#utility.yul\":3875:3881 */\n dup2\n /* \"#utility.yul\":3872:3902 */\n gt\n /* \"#utility.yul\":3869:3986 */\n iszero\n tag_109\n jumpi\n /* \"#utility.yul\":3905:3984 */\n tag_110\n tag_52\n jump\t// in\n tag_110:\n /* \"#utility.yul\":3869:3986 */\n tag_109:\n /* \"#utility.yul\":4019:4023 */\n 0x20\n /* \"#utility.yul\":4011:4017 */\n dup4\n /* \"#utility.yul\":4007:4024 */\n add\n /* \"#utility.yul\":3995:4024 */\n swap2\n pop\n /* \"#utility.yul\":4073:4076 */\n dup4\n /* \"#utility.yul\":4065:4069 */\n 0x01\n /* \"#utility.yul\":4057:4063 */\n dup3\n /* \"#utility.yul\":4053:4070 */\n mul\n /* \"#utility.yul\":4043:4051 */\n dup4\n /* \"#utility.yul\":4039:4071 */\n add\n /* \"#utility.yul\":4036:4077 */\n gt\n /* \"#utility.yul\":4033:4161 */\n iszero\n tag_111\n jumpi\n /* \"#utility.yul\":4080:4159 */\n tag_112\n tag_53\n jump\t// in\n tag_112:\n /* \"#utility.yul\":4033:4161 */\n tag_111:\n /* \"#utility.yul\":3615:4167 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4173:5278 */\n tag_21:\n /* \"#utility.yul\":4277:4283 */\n 0x00\n /* \"#utility.yul\":4285:4291 */\n dup1\n /* \"#utility.yul\":4293:4299 */\n 0x00\n /* \"#utility.yul\":4301:4307 */\n dup1\n /* \"#utility.yul\":4309:4315 */\n 0x00\n /* \"#utility.yul\":4317:4323 */\n dup1\n /* \"#utility.yul\":4366:4369 */\n 0xa0\n /* \"#utility.yul\":4354:4363 */\n dup8\n /* \"#utility.yul\":4345:4352 */\n dup10\n /* \"#utility.yul\":4341:4364 */\n sub\n /* \"#utility.yul\":4337:4370 */\n slt\n /* \"#utility.yul\":4334:4454 */\n iszero\n tag_114\n jumpi\n /* \"#utility.yul\":4373:4452 */\n tag_115\n tag_34\n jump\t// in\n tag_115:\n /* \"#utility.yul\":4334:4454 */\n tag_114:\n /* \"#utility.yul\":4493:4494 */\n 0x00\n /* \"#utility.yul\":4518:4571 */\n tag_116\n /* \"#utility.yul\":4563:4570 */\n dup10\n /* \"#utility.yul\":4554:4560 */\n dup3\n /* \"#utility.yul\":4543:4552 */\n dup11\n /* \"#utility.yul\":4539:4561 */\n add\n /* \"#utility.yul\":4518:4571 */\n tag_39\n jump\t// in\n tag_116:\n /* \"#utility.yul\":4508:4571 */\n swap7\n pop\n /* \"#utility.yul\":4464:4581 */\n pop\n /* \"#utility.yul\":4620:4622 */\n 0x20\n /* \"#utility.yul\":4646:4699 */\n tag_117\n /* \"#utility.yul\":4691:4698 */\n dup10\n /* \"#utility.yul\":4682:4688 */\n dup3\n /* \"#utility.yul\":4671:4680 */\n dup11\n /* \"#utility.yul\":4667:4689 */\n add\n /* \"#utility.yul\":4646:4699 */\n tag_39\n jump\t// in\n tag_117:\n /* \"#utility.yul\":4636:4699 */\n swap6\n pop\n /* \"#utility.yul\":4591:4709 */\n pop\n /* \"#utility.yul\":4748:4750 */\n 0x40\n /* \"#utility.yul\":4774:4826 */\n tag_118\n /* \"#utility.yul\":4818:4825 */\n dup10\n /* \"#utility.yul\":4809:4815 */\n dup3\n /* \"#utility.yul\":4798:4807 */\n dup11\n /* \"#utility.yul\":4794:4816 */\n add\n /* \"#utility.yul\":4774:4826 */\n tag_50\n jump\t// in\n tag_118:\n /* \"#utility.yul\":4764:4826 */\n swap5\n pop\n /* \"#utility.yul\":4719:4836 */\n pop\n /* \"#utility.yul\":4875:4877 */\n 0x60\n /* \"#utility.yul\":4901:4953 */\n tag_119\n /* \"#utility.yul\":4945:4952 */\n dup10\n /* \"#utility.yul\":4936:4942 */\n dup3\n /* \"#utility.yul\":4925:4934 */\n dup11\n /* \"#utility.yul\":4921:4943 */\n add\n /* \"#utility.yul\":4901:4953 */\n tag_50\n jump\t// in\n tag_119:\n /* \"#utility.yul\":4891:4953 */\n swap4\n pop\n /* \"#utility.yul\":4846:4963 */\n pop\n /* \"#utility.yul\":5030:5033 */\n 0x80\n /* \"#utility.yul\":5019:5028 */\n dup8\n /* \"#utility.yul\":5015:5034 */\n add\n /* \"#utility.yul\":5002:5035 */\n calldataload\n /* \"#utility.yul\":5062:5080 */\n 0xffffffffffffffff\n /* \"#utility.yul\":5054:5060 */\n dup2\n /* \"#utility.yul\":5051:5081 */\n gt\n /* \"#utility.yul\":5048:5165 */\n iszero\n tag_120\n jumpi\n /* \"#utility.yul\":5084:5163 */\n tag_121\n tag_35\n jump\t// in\n tag_121:\n /* \"#utility.yul\":5048:5165 */\n tag_120:\n /* \"#utility.yul\":5197:5261 */\n tag_122\n /* \"#utility.yul\":5253:5260 */\n dup10\n /* \"#utility.yul\":5244:5250 */\n dup3\n /* \"#utility.yul\":5233:5242 */\n dup11\n /* \"#utility.yul\":5229:5251 */\n add\n /* \"#utility.yul\":5197:5261 */\n tag_54\n jump\t// in\n tag_122:\n /* \"#utility.yul\":5179:5261 */\n swap3\n pop\n swap3\n pop\n /* \"#utility.yul\":4973:5271 */\n pop\n /* \"#utility.yul\":4173:5278 */\n swap3\n swap6\n pop\n swap3\n swap6\n pop\n swap3\n swap6\n jump\t// out\n /* \"#utility.yul\":5284:5726 */\n tag_25:\n /* \"#utility.yul\":5433:5437 */\n 0x00\n /* \"#utility.yul\":5471:5473 */\n 0x60\n /* \"#utility.yul\":5460:5469 */\n dup3\n /* \"#utility.yul\":5456:5474 */\n add\n /* \"#utility.yul\":5448:5474 */\n swap1\n pop\n /* \"#utility.yul\":5484:5555 */\n tag_124\n /* \"#utility.yul\":5552:5553 */\n 0x00\n /* \"#utility.yul\":5541:5550 */\n dup4\n /* \"#utility.yul\":5537:5554 */\n add\n /* \"#utility.yul\":5528:5534 */\n dup7\n /* \"#utility.yul\":5484:5555 */\n tag_47\n jump\t// in\n tag_124:\n /* \"#utility.yul\":5565:5637 */\n tag_125\n /* \"#utility.yul\":5633:5635 */\n 0x20\n /* \"#utility.yul\":5622:5631 */\n dup4\n /* \"#utility.yul\":5618:5636 */\n add\n /* \"#utility.yul\":5609:5615 */\n dup6\n /* \"#utility.yul\":5565:5637 */\n tag_47\n jump\t// in\n tag_125:\n /* \"#utility.yul\":5647:5719 */\n tag_126\n /* \"#utility.yul\":5715:5717 */\n 0x40\n /* \"#utility.yul\":5704:5713 */\n dup4\n /* \"#utility.yul\":5700:5718 */\n add\n /* \"#utility.yul\":5691:5697 */\n dup5\n /* \"#utility.yul\":5647:5719 */\n tag_46\n jump\t// in\n tag_126:\n /* \"#utility.yul\":5284:5726 */\n swap5\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5732:5822 */\n tag_55:\n /* \"#utility.yul\":5766:5773 */\n 0x00\n /* \"#utility.yul\":5809:5814 */\n dup2\n /* \"#utility.yul\":5802:5815 */\n iszero\n /* \"#utility.yul\":5795:5816 */\n iszero\n /* \"#utility.yul\":5784:5816 */\n swap1\n pop\n /* \"#utility.yul\":5732:5822 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5828:5944 */\n tag_56:\n /* \"#utility.yul\":5898:5919 */\n tag_129\n /* \"#utility.yul\":5913:5918 */\n dup2\n /* \"#utility.yul\":5898:5919 */\n tag_55\n jump\t// in\n tag_129:\n /* \"#utility.yul\":5891:5896 */\n dup2\n /* \"#utility.yul\":5888:5920 */\n eq\n /* \"#utility.yul\":5878:5938 */\n tag_130\n jumpi\n /* \"#utility.yul\":5934:5935 */\n 0x00\n /* \"#utility.yul\":5931:5932 */\n dup1\n /* \"#utility.yul\":5924:5936 */\n revert\n /* \"#utility.yul\":5878:5938 */\n tag_130:\n /* \"#utility.yul\":5828:5944 */\n pop\n jump\t// out\n /* \"#utility.yul\":5950:6087 */\n tag_57:\n /* \"#utility.yul\":6004:6009 */\n 0x00\n /* \"#utility.yul\":6035:6041 */\n dup2\n /* \"#utility.yul\":6029:6042 */\n mload\n /* \"#utility.yul\":6020:6042 */\n swap1\n pop\n /* \"#utility.yul\":6051:6081 */\n tag_132\n /* \"#utility.yul\":6075:6080 */\n dup2\n /* \"#utility.yul\":6051:6081 */\n tag_56\n jump\t// in\n tag_132:\n /* \"#utility.yul\":5950:6087 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6093:6438 */\n tag_29:\n /* \"#utility.yul\":6160:6166 */\n 0x00\n /* \"#utility.yul\":6209:6211 */\n 0x20\n /* \"#utility.yul\":6197:6206 */\n dup3\n /* \"#utility.yul\":6188:6195 */\n dup5\n /* \"#utility.yul\":6184:6207 */\n sub\n /* \"#utility.yul\":6180:6212 */\n slt\n /* \"#utility.yul\":6177:6296 */\n iszero\n tag_134\n jumpi\n /* \"#utility.yul\":6215:6294 */\n tag_135\n tag_34\n jump\t// in\n tag_135:\n /* \"#utility.yul\":6177:6296 */\n tag_134:\n /* \"#utility.yul\":6335:6336 */\n 0x00\n /* \"#utility.yul\":6360:6421 */\n tag_136\n /* \"#utility.yul\":6413:6420 */\n dup5\n /* \"#utility.yul\":6404:6410 */\n dup3\n /* \"#utility.yul\":6393:6402 */\n dup6\n /* \"#utility.yul\":6389:6411 */\n add\n /* \"#utility.yul\":6360:6421 */\n tag_57\n jump\t// in\n tag_136:\n /* \"#utility.yul\":6350:6421 */\n swap2\n pop\n /* \"#utility.yul\":6306:6431 */\n pop\n /* \"#utility.yul\":6093:6438 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6444:6624 */\n tag_58:\n /* \"#utility.yul\":6492:6569 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6489:6490 */\n 0x00\n /* \"#utility.yul\":6482:6570 */\n mstore\n /* \"#utility.yul\":6589:6593 */\n 0x11\n /* \"#utility.yul\":6586:6587 */\n 0x04\n /* \"#utility.yul\":6579:6594 */\n mstore\n /* \"#utility.yul\":6613:6617 */\n 0x24\n /* \"#utility.yul\":6610:6611 */\n 0x00\n /* \"#utility.yul\":6603:6618 */\n revert\n /* \"#utility.yul\":6630:6863 */\n tag_32:\n /* \"#utility.yul\":6669:6672 */\n 0x00\n /* \"#utility.yul\":6692:6716 */\n tag_139\n /* \"#utility.yul\":6710:6715 */\n dup3\n /* \"#utility.yul\":6692:6716 */\n tag_40\n jump\t// in\n tag_139:\n /* \"#utility.yul\":6683:6716 */\n swap2\n pop\n /* \"#utility.yul\":6738:6804 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":6731:6736 */\n dup3\n /* \"#utility.yul\":6728:6805 */\n sub\n /* \"#utility.yul\":6725:6828 */\n tag_140\n jumpi\n /* \"#utility.yul\":6808:6826 */\n tag_141\n tag_58\n jump\t// in\n tag_141:\n /* \"#utility.yul\":6725:6828 */\n tag_140:\n /* \"#utility.yul\":6855:6856 */\n 0x01\n /* \"#utility.yul\":6848:6853 */\n dup3\n /* \"#utility.yul\":6844:6857 */\n add\n /* \"#utility.yul\":6837:6857 */\n swap1\n pop\n /* \"#utility.yul\":6630:6863 */\n swap2\n swap1\n pop\n jump\t// out\n\n auxdata: 0xa26469706673582212203b249e175ca62b1d65bea93bbbd7468ab3fd160fa55224a806b0cd6cace2e2f464736f6c63430008110033\n}\n",
"bytecode": {
"functionDebugData": {
"@_27": {
"entryPoint": null,
"id": 27,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_address_fromMemory": {
"entryPoint": 198,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address_fromMemory": {
"entryPoint": 219,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 157,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 125,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 120,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 175,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1199:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "404:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "411:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "400:3:1"
},
"nodeType": "YulFunctionCall",
"src": "400:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "511:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "521:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "550:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "532:17:1"
},
"nodeType": "YulFunctionCall",
"src": "532:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "521:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "493:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "503:7:1",
"type": ""
}
],
"src": "466:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "611:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "668:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "677:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "680:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "670:6:1"
},
"nodeType": "YulFunctionCall",
"src": "670:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "670:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "634:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "659:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "641:17:1"
},
"nodeType": "YulFunctionCall",
"src": "641:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "631:2:1"
},
"nodeType": "YulFunctionCall",
"src": "631:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "624:6:1"
},
"nodeType": "YulFunctionCall",
"src": "624:43:1"
},
"nodeType": "YulIf",
"src": "621:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "604:5:1",
"type": ""
}
],
"src": "568:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "759:80:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "769:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "784:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "778:5:1"
},
"nodeType": "YulFunctionCall",
"src": "778:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "769:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "827:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "800:26:1"
},
"nodeType": "YulFunctionCall",
"src": "800:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "800:33:1"
}
]
},
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "737:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "745:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "753:5:1",
"type": ""
}
],
"src": "696:143:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "922:274:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "968:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "970:77:1"
},
"nodeType": "YulFunctionCall",
"src": "970:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "970:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "943:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "952:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "939:3:1"
},
"nodeType": "YulFunctionCall",
"src": "939:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "964:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "935:3:1"
},
"nodeType": "YulFunctionCall",
"src": "935:32:1"
},
"nodeType": "YulIf",
"src": "932:119:1"
},
{
"nodeType": "YulBlock",
"src": "1061:128:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1076:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1090:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1080:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1105:74:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1151:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1162:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1147:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1147:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1171:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulIdentifier",
"src": "1115:31:1"
},
"nodeType": "YulFunctionCall",
"src": "1115:64:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1105:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "892:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "903:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "915:6:1",
"type": ""
}
],
"src": "845:351:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506040516106c53803806106c5833981810160405281019061003291906100db565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610108565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100a88261007d565b9050919050565b6100b88161009d565b81146100c357600080fd5b50565b6000815190506100d5816100af565b92915050565b6000602082840312156100f1576100f0610078565b5b60006100ff848285016100c6565b91505092915050565b6105ae806101176000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806326b3293f1461005157806361bc221a1461006d578063b2016bd41461008b578063f77c4036146100a9575b600080fd5b61006b60048036038101906100669190610289565b6100c5565b005b61007561016b565b60405161008291906102eb565b60405180910390f35b610093610171565b6040516100a09190610315565b60405180910390f35b6100c360048036038101906100be91906103cb565b610195565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b815260040161012293929190610465565b6020604051808303816000875af1158015610141573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016591906104d4565b50505050565b60015481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160008154809291906101a890610530565b9190505550505050505050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101ea826101bf565b9050919050565b6101fa816101df565b811461020557600080fd5b50565b600081359050610217816101f1565b92915050565b6000819050919050565b6102308161021d565b811461023b57600080fd5b50565b60008135905061024d81610227565b92915050565b6000819050919050565b61026681610253565b811461027157600080fd5b50565b6000813590506102838161025d565b92915050565b6000806000606084860312156102a2576102a16101b5565b5b60006102b086828701610208565b93505060206102c18682870161023e565b92505060406102d286828701610274565b9150509250925092565b6102e58161021d565b82525050565b600060208201905061030060008301846102dc565b92915050565b61030f816101df565b82525050565b600060208201905061032a6000830184610306565b92915050565b6000819050919050565b61034381610330565b811461034e57600080fd5b50565b6000813590506103608161033a565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261038b5761038a610366565b5b8235905067ffffffffffffffff8111156103a8576103a761036b565b5b6020830191508360018202830111156103c4576103c3610370565b5b9250929050565b60008060008060008060a087890312156103e8576103e76101b5565b5b60006103f689828a01610208565b965050602061040789828a01610208565b955050604061041889828a01610351565b945050606061042989828a01610351565b935050608087013567ffffffffffffffff81111561044a576104496101ba565b5b61045689828a01610375565b92509250509295509295509295565b600060608201905061047a6000830186610306565b6104876020830185610306565b61049460408301846102dc565b949350505050565b60008115159050919050565b6104b18161049c565b81146104bc57600080fd5b50565b6000815190506104ce816104a8565b92915050565b6000602082840312156104ea576104e96101b5565b5b60006104f8848285016104bf565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061053b8261021d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361056d5761056c610501565b5b60018201905091905056fea26469706673582212203b249e175ca62b1d65bea93bbbd7468ab3fd160fa55224a806b0cd6cace2e2f464736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x6C5 CODESIZE SUB DUP1 PUSH2 0x6C5 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x32 SWAP2 SWAP1 PUSH2 0xDB JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP PUSH2 0x108 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA8 DUP3 PUSH2 0x7D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xB8 DUP2 PUSH2 0x9D JUMP JUMPDEST DUP2 EQ PUSH2 0xC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0xD5 DUP2 PUSH2 0xAF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF1 JUMPI PUSH2 0xF0 PUSH2 0x78 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xFF DUP5 DUP3 DUP6 ADD PUSH2 0xC6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x5AE DUP1 PUSH2 0x117 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 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x26B3293F EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x61BC221A EQ PUSH2 0x6D JUMPI DUP1 PUSH4 0xB2016BD4 EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xF77C4036 EQ PUSH2 0xA9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x289 JUMP JUMPDEST PUSH2 0xC5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x75 PUSH2 0x16B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x82 SWAP2 SWAP1 PUSH2 0x2EB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x93 PUSH2 0x171 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x315 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xBE SWAP2 SWAP1 PUSH2 0x3CB JUMP JUMPDEST PUSH2 0x195 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x23B872DD CALLER ADDRESS DUP6 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x122 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x465 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x141 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x165 SWAP2 SWAP1 PUSH2 0x4D4 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x1A8 SWAP1 PUSH2 0x530 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EA DUP3 PUSH2 0x1BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FA DUP2 PUSH2 0x1DF JUMP JUMPDEST DUP2 EQ PUSH2 0x205 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x217 DUP2 PUSH2 0x1F1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x230 DUP2 PUSH2 0x21D JUMP JUMPDEST DUP2 EQ PUSH2 0x23B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x24D DUP2 PUSH2 0x227 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x266 DUP2 PUSH2 0x253 JUMP JUMPDEST DUP2 EQ PUSH2 0x271 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x283 DUP2 PUSH2 0x25D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2A2 JUMPI PUSH2 0x2A1 PUSH2 0x1B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2B0 DUP7 DUP3 DUP8 ADD PUSH2 0x208 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x2C1 DUP7 DUP3 DUP8 ADD PUSH2 0x23E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x2D2 DUP7 DUP3 DUP8 ADD PUSH2 0x274 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x2E5 DUP2 PUSH2 0x21D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x300 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2DC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x30F DUP2 PUSH2 0x1DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x32A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x306 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x343 DUP2 PUSH2 0x330 JUMP JUMPDEST DUP2 EQ PUSH2 0x34E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x360 DUP2 PUSH2 0x33A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x38B JUMPI PUSH2 0x38A PUSH2 0x366 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3A8 JUMPI PUSH2 0x3A7 PUSH2 0x36B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x3C4 JUMPI PUSH2 0x3C3 PUSH2 0x370 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x3E8 JUMPI PUSH2 0x3E7 PUSH2 0x1B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3F6 DUP10 DUP3 DUP11 ADD PUSH2 0x208 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x20 PUSH2 0x407 DUP10 DUP3 DUP11 ADD PUSH2 0x208 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 PUSH2 0x418 DUP10 DUP3 DUP11 ADD PUSH2 0x351 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x60 PUSH2 0x429 DUP10 DUP3 DUP11 ADD PUSH2 0x351 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x44A JUMPI PUSH2 0x449 PUSH2 0x1BA JUMP JUMPDEST JUMPDEST PUSH2 0x456 DUP10 DUP3 DUP11 ADD PUSH2 0x375 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x47A PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x306 JUMP JUMPDEST PUSH2 0x487 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x306 JUMP JUMPDEST PUSH2 0x494 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x2DC JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4B1 DUP2 PUSH2 0x49C JUMP JUMPDEST DUP2 EQ PUSH2 0x4BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x4CE DUP2 PUSH2 0x4A8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4EA JUMPI PUSH2 0x4E9 PUSH2 0x1B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x4F8 DUP5 DUP3 DUP6 ADD PUSH2 0x4BF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x53B DUP3 PUSH2 0x21D JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x56D JUMPI PUSH2 0x56C PUSH2 0x501 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODESIZE 0x24 SWAP15 OR 0x5C 0xA6 0x2B SAR PUSH6 0xBEA93BBBD746 DUP11 0xB3 REVERT AND 0xF 0xA5 MSTORE 0x24 0xA8 MOD 0xB0 0xCD PUSH13 0xACE2E2F464736F6C6343000811 STOP CALLER ",
"sourceMap": "194:516:0:-:0;;;286:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;352:16;334:15;;:34;;;;;;;;;;;;;;;;;;286:89;194:516;;88:117:1;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:351::-;915:6;964:2;952:9;943:7;939:23;935:32;932:119;;;970:79;;:::i;:::-;932:119;1090:1;1115:64;1171:7;1162:6;1151:9;1147:22;1115:64;:::i;:::-;1105:74;;1061:128;845:351;;;;:::o;194:516:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@collateralToken_15": {
"entryPoint": 369,
"id": 15,
"parameterSlots": 0,
"returnSlots": 0
},
"@counter_17": {
"entryPoint": 363,
"id": 17,
"parameterSlots": 0,
"returnSlots": 0
},
"@deposit_50": {
"entryPoint": 197,
"id": 50,
"parameterSlots": 3,
"returnSlots": 0
},
"@onAdjustPosition_67": {
"entryPoint": 405,
"id": 67,
"parameterSlots": 6,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 520,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bool_fromMemory": {
"entryPoint": 1215,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bytes32": {
"entryPoint": 628,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bytes_calldata_ptr": {
"entryPoint": 885,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_t_int256": {
"entryPoint": 849,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 574,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_addresst_int256t_int256t_bytes_calldata_ptr": {
"entryPoint": 971,
"id": null,
"parameterSlots": 2,
"returnSlots": 6
},
"abi_decode_tuple_t_addresst_uint256t_bytes32": {
"entryPoint": 649,
"id": null,
"parameterSlots": 2,
"returnSlots": 3
},
"abi_decode_tuple_t_bool_fromMemory": {
"entryPoint": 1236,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 774,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 732,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 789,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 1125,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 747,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 479,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 1180,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bytes32": {
"entryPoint": 595,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_int256": {
"entryPoint": 816,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 447,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 541,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"increment_t_uint256": {
"entryPoint": 1328,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 1281,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490": {
"entryPoint": 875,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 870,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef": {
"entryPoint": 880,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 442,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 437,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 497,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bool": {
"entryPoint": 1192,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bytes32": {
"entryPoint": 605,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_int256": {
"entryPoint": 826,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 551,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:6866:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "404:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "411:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "400:3:1"
},
"nodeType": "YulFunctionCall",
"src": "400:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "511:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "521:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "550:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "532:17:1"
},
"nodeType": "YulFunctionCall",
"src": "532:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "521:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "493:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "503:7:1",
"type": ""
}
],
"src": "466:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "611:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "668:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "677:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "680:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "670:6:1"
},
"nodeType": "YulFunctionCall",
"src": "670:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "670:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "634:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "659:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "641:17:1"
},
"nodeType": "YulFunctionCall",
"src": "641:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "631:2:1"
},
"nodeType": "YulFunctionCall",
"src": "631:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "624:6:1"
},
"nodeType": "YulFunctionCall",
"src": "624:43:1"
},
"nodeType": "YulIf",
"src": "621:63:1"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "604:5:1",
"type": ""
}
],
"src": "568:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "748:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "758:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "780:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "767:12:1"
},
"nodeType": "YulFunctionCall",
"src": "767:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "758:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "823:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "796:26:1"
},
"nodeType": "YulFunctionCall",
"src": "796:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "796:33:1"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "726:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "734:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "742:5:1",
"type": ""
}
],
"src": "696:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "886:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "896:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "907:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "896:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "868:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "878:7:1",
"type": ""
}
],
"src": "841:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "967:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1024:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1033:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1036:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1026:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1026:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1026:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "990:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1015:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "997:17:1"
},
"nodeType": "YulFunctionCall",
"src": "997:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "987:2:1"
},
"nodeType": "YulFunctionCall",
"src": "987:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "980:6:1"
},
"nodeType": "YulFunctionCall",
"src": "980:43:1"
},
"nodeType": "YulIf",
"src": "977:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "960:5:1",
"type": ""
}
],
"src": "924:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1104:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1114:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1136:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1123:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1123:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1114:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1179:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "1152:26:1"
},
"nodeType": "YulFunctionCall",
"src": "1152:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1152:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1082:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1090:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1098:5:1",
"type": ""
}
],
"src": "1052:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1242:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1252:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1263:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1252:7:1"
}
]
}
]
},
"name": "cleanup_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1224:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1234:7:1",
"type": ""
}
],
"src": "1197:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1323:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1380:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1389:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1392:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1382:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1382:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1382:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1346:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1371:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nodeType": "YulIdentifier",
"src": "1353:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1353:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1343:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1343:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1336:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1336:43:1"
},
"nodeType": "YulIf",
"src": "1333:63:1"
}
]
},
"name": "validator_revert_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1316:5:1",
"type": ""
}
],
"src": "1280:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1460:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1470:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1492:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1479:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1479:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1470:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1535:5:1"
}
],
"functionName": {
"name": "validator_revert_t_bytes32",
"nodeType": "YulIdentifier",
"src": "1508:26:1"
},
"nodeType": "YulFunctionCall",
"src": "1508:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "1508:33:1"
}
]
},
"name": "abi_decode_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1438:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "1446:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1454:5:1",
"type": ""
}
],
"src": "1408:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1653:519:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1699:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1701:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1701:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1701:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1674:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1683:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1670:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1670:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1695:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1666:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1666:32:1"
},
"nodeType": "YulIf",
"src": "1663:119:1"
},
{
"nodeType": "YulBlock",
"src": "1792:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1807:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1821:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1811:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1836:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1871:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1882:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1867:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1867:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1891:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1846:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1846:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1836:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1919:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1934:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1948:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1938:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1964:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1999:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2010:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1995:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1995:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2019:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1974:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1974:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1964:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "2047:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2062:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2076:2:1",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2066:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2092:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2127:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2138:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2123:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2123:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2147:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bytes32",
"nodeType": "YulIdentifier",
"src": "2102:20:1"
},
"nodeType": "YulFunctionCall",
"src": "2102:53:1"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "2092:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1607:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1618:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1630:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1638:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "1646:6:1",
"type": ""
}
],
"src": "1553:619:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2243:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2260:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2283:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2265:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2265:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2253:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2253:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2253:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2231:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2238:3:1",
"type": ""
}
],
"src": "2178:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2400:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2410:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2422:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2433:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2418:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2418:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2410:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2490:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2503:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2514:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2499:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2499:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "2446:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2446:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2446:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2372:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2384:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2395:4:1",
"type": ""
}
],
"src": "2302:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2595:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2612:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2635:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "2617:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2617:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2605:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2605:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2605:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2583:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2590:3:1",
"type": ""
}
],
"src": "2530:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2752:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2762:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2774:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2785:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2770:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2770:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2762:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2842:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2855:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2866:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2851:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2851:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "2798:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2798:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2798:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2724:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2736:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2747:4:1",
"type": ""
}
],
"src": "2654:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2926:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2936:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "2947:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2936:7:1"
}
]
}
]
},
"name": "cleanup_t_int256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2908:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2918:7:1",
"type": ""
}
],
"src": "2882:76:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3006:78:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3062:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3071:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3074:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3064:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3064:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3064:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3029:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3053:5:1"
}
],
"functionName": {
"name": "cleanup_t_int256",
"nodeType": "YulIdentifier",
"src": "3036:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3036:23:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3026:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3026:34:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3019:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3019:42:1"
},
"nodeType": "YulIf",
"src": "3016:62:1"
}
]
},
"name": "validator_revert_t_int256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2999:5:1",
"type": ""
}
],
"src": "2964:120:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3141:86:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3151:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3173:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "3160:12:1"
},
"nodeType": "YulFunctionCall",
"src": "3160:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3151:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3215:5:1"
}
],
"functionName": {
"name": "validator_revert_t_int256",
"nodeType": "YulIdentifier",
"src": "3189:25:1"
},
"nodeType": "YulFunctionCall",
"src": "3189:32:1"
},
"nodeType": "YulExpressionStatement",
"src": "3189:32:1"
}
]
},
"name": "abi_decode_t_int256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3119:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3127:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3135:5:1",
"type": ""
}
],
"src": "3090:137:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3322:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3339:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3342:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3332:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3332:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3332:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "3233:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3445:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3462:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3465:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3455:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3455:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3455:12:1"
}
]
},
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulFunctionDefinition",
"src": "3356:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3568:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3585:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3588:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "3578:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3578:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "3578:12:1"
}
]
},
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulFunctionDefinition",
"src": "3479:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3689:478:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3738:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "3740:77:1"
},
"nodeType": "YulFunctionCall",
"src": "3740:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "3740:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3717:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3725:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3713:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3713:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3732:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3709:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3709:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3702:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3702:35:1"
},
"nodeType": "YulIf",
"src": "3699:122:1"
},
{
"nodeType": "YulAssignment",
"src": "3830:30:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3853:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "3840:12:1"
},
"nodeType": "YulFunctionCall",
"src": "3840:20:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3830:6:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3903:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nodeType": "YulIdentifier",
"src": "3905:77:1"
},
"nodeType": "YulFunctionCall",
"src": "3905:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "3905:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3875:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3883:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "3872:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3872:30:1"
},
"nodeType": "YulIf",
"src": "3869:117:1"
},
{
"nodeType": "YulAssignment",
"src": "3995:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4011:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4019:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4007:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4007:17:1"
},
"variableNames": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "3995:8:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4078:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nodeType": "YulIdentifier",
"src": "4080:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4080:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4080:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "arrayPos",
"nodeType": "YulIdentifier",
"src": "4043:8:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4057:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4065:4:1",
"type": "",
"value": "0x01"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "4053:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4053:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4039:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4039:32:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4073:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4036:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4036:41:1"
},
"nodeType": "YulIf",
"src": "4033:128:1"
}
]
},
"name": "abi_decode_t_bytes_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3656:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3664:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "arrayPos",
"nodeType": "YulTypedName",
"src": "3672:8:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3682:6:1",
"type": ""
}
],
"src": "3615:552:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4324:954:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4371:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "4373:77:1"
},
"nodeType": "YulFunctionCall",
"src": "4373:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "4373:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4345:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4354:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4341:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4341:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4366:3:1",
"type": "",
"value": "160"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "4337:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4337:33:1"
},
"nodeType": "YulIf",
"src": "4334:120:1"
},
{
"nodeType": "YulBlock",
"src": "4464:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4479:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4493:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4483:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4508:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4543:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4554:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4539:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4539:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4563:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "4518:20:1"
},
"nodeType": "YulFunctionCall",
"src": "4518:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4508:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4591:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4606:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4620:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4610:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4636:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4671:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4682:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4667:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4667:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4691:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "4646:20:1"
},
"nodeType": "YulFunctionCall",
"src": "4646:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4636:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4719:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4734:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4748:2:1",
"type": "",
"value": "64"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4738:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4764:62:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4798:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4809:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4794:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4794:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4818:7:1"
}
],
"functionName": {
"name": "abi_decode_t_int256",
"nodeType": "YulIdentifier",
"src": "4774:19:1"
},
"nodeType": "YulFunctionCall",
"src": "4774:52:1"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "4764:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4846:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4861:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4875:2:1",
"type": "",
"value": "96"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4865:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4891:62:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4925:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "4936:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4921:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4921:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "4945:7:1"
}
],
"functionName": {
"name": "abi_decode_t_int256",
"nodeType": "YulIdentifier",
"src": "4901:19:1"
},
"nodeType": "YulFunctionCall",
"src": "4901:52:1"
},
"variableNames": [
{
"name": "value3",
"nodeType": "YulIdentifier",
"src": "4891:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4973:298:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4988:47:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5019:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5030:3:1",
"type": "",
"value": "128"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5015:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5015:19:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "5002:12:1"
},
"nodeType": "YulFunctionCall",
"src": "5002:33:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "4992:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5082:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "5084:77:1"
},
"nodeType": "YulFunctionCall",
"src": "5084:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "5084:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5054:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5062:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5051:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5051:30:1"
},
"nodeType": "YulIf",
"src": "5048:117:1"
},
{
"nodeType": "YulAssignment",
"src": "5179:82:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5233:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5244:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5229:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5229:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "5253:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bytes_calldata_ptr",
"nodeType": "YulIdentifier",
"src": "5197:31:1"
},
"nodeType": "YulFunctionCall",
"src": "5197:64:1"
},
"variableNames": [
{
"name": "value4",
"nodeType": "YulIdentifier",
"src": "5179:6:1"
},
{
"name": "value5",
"nodeType": "YulIdentifier",
"src": "5187:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_addresst_int256t_int256t_bytes_calldata_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4254:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "4265:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "4277:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "4285:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "4293:6:1",
"type": ""
},
{
"name": "value3",
"nodeType": "YulTypedName",
"src": "4301:6:1",
"type": ""
},
{
"name": "value4",
"nodeType": "YulTypedName",
"src": "4309:6:1",
"type": ""
},
{
"name": "value5",
"nodeType": "YulTypedName",
"src": "4317:6:1",
"type": ""
}
],
"src": "4173:1105:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5438:288:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5448:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5460:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5471:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5456:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5456:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5448:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5528:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5541:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5552:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5537:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5537:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "5484:43:1"
},
"nodeType": "YulFunctionCall",
"src": "5484:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "5484:71:1"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "5609:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5622:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5633:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5618:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5618:18:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "5565:43:1"
},
"nodeType": "YulFunctionCall",
"src": "5565:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "5565:72:1"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "5691:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5704:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5715:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5700:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5700:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "5647:43:1"
},
"nodeType": "YulFunctionCall",
"src": "5647:72:1"
},
"nodeType": "YulExpressionStatement",
"src": "5647:72:1"
}
]
},
"name": "abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5394:9:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "5406:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "5414:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5422:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5433:4:1",
"type": ""
}
],
"src": "5284:442:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5774:48:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5784:32:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5809:5:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5802:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5802:13:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5795:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5795:21:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5784:7:1"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5756:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5766:7:1",
"type": ""
}
],
"src": "5732:90:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5868:76:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5922:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5931:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5934:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5924:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5924:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "5924:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5891:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5913:5:1"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "5898:14:1"
},
"nodeType": "YulFunctionCall",
"src": "5898:21:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "5888:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5888:32:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5881:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5881:40:1"
},
"nodeType": "YulIf",
"src": "5878:60:1"
}
]
},
"name": "validator_revert_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5861:5:1",
"type": ""
}
],
"src": "5828:116:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6010:77:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6020:22:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6035:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "6029:5:1"
},
"nodeType": "YulFunctionCall",
"src": "6029:13:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6020:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6075:5:1"
}
],
"functionName": {
"name": "validator_revert_t_bool",
"nodeType": "YulIdentifier",
"src": "6051:23:1"
},
"nodeType": "YulFunctionCall",
"src": "6051:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "6051:30:1"
}
]
},
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "5988:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "5996:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6004:5:1",
"type": ""
}
],
"src": "5950:137:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6167:271:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "6213:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "6215:77:1"
},
"nodeType": "YulFunctionCall",
"src": "6215:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "6215:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6188:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6197:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6184:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6184:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6209:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "6180:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6180:32:1"
},
"nodeType": "YulIf",
"src": "6177:119:1"
},
{
"nodeType": "YulBlock",
"src": "6306:125:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6321:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6335:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "6325:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "6350:71:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6393:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6404:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6389:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6389:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6413:7:1"
}
],
"functionName": {
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulIdentifier",
"src": "6360:28:1"
},
"nodeType": "YulFunctionCall",
"src": "6360:61:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "6350:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6137:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "6148:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "6160:6:1",
"type": ""
}
],
"src": "6093:345:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6472:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6489:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6492:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6482:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6482:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "6482:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6586:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6589:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6579:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6579:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6579:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6610:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6613:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6603:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6603:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6603:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "6444:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6673:190:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6683:33:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6710:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6692:17:1"
},
"nodeType": "YulFunctionCall",
"src": "6692:24:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6683:5:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6806:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "6808:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6808:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6808:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6731:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6738:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6728:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6728:77:1"
},
"nodeType": "YulIf",
"src": "6725:103:1"
},
{
"nodeType": "YulAssignment",
"src": "6837:20:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "6848:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6855:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6844:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6844:13:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "6837:3:1"
}
]
}
]
},
"name": "increment_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6659:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "6669:3:1",
"type": ""
}
],
"src": "6630:233:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256t_bytes32(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_int256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_int256(value) {\n if iszero(eq(value, cleanup_t_int256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_int256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_int256(value)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // bytes\n function abi_decode_t_bytes_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_addresst_addresst_int256t_int256t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_int256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_int256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value4, value5 := abi_decode_t_bytes_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061004c5760003560e01c806326b3293f1461005157806361bc221a1461006d578063b2016bd41461008b578063f77c4036146100a9575b600080fd5b61006b60048036038101906100669190610289565b6100c5565b005b61007561016b565b60405161008291906102eb565b60405180910390f35b610093610171565b6040516100a09190610315565b60405180910390f35b6100c360048036038101906100be91906103cb565b610195565b005b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b815260040161012293929190610465565b6020604051808303816000875af1158015610141573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016591906104d4565b50505050565b60015481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160008154809291906101a890610530565b9190505550505050505050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006101ea826101bf565b9050919050565b6101fa816101df565b811461020557600080fd5b50565b600081359050610217816101f1565b92915050565b6000819050919050565b6102308161021d565b811461023b57600080fd5b50565b60008135905061024d81610227565b92915050565b6000819050919050565b61026681610253565b811461027157600080fd5b50565b6000813590506102838161025d565b92915050565b6000806000606084860312156102a2576102a16101b5565b5b60006102b086828701610208565b93505060206102c18682870161023e565b92505060406102d286828701610274565b9150509250925092565b6102e58161021d565b82525050565b600060208201905061030060008301846102dc565b92915050565b61030f816101df565b82525050565b600060208201905061032a6000830184610306565b92915050565b6000819050919050565b61034381610330565b811461034e57600080fd5b50565b6000813590506103608161033a565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261038b5761038a610366565b5b8235905067ffffffffffffffff8111156103a8576103a761036b565b5b6020830191508360018202830111156103c4576103c3610370565b5b9250929050565b60008060008060008060a087890312156103e8576103e76101b5565b5b60006103f689828a01610208565b965050602061040789828a01610208565b955050604061041889828a01610351565b945050606061042989828a01610351565b935050608087013567ffffffffffffffff81111561044a576104496101ba565b5b61045689828a01610375565b92509250509295509295509295565b600060608201905061047a6000830186610306565b6104876020830185610306565b61049460408301846102dc565b949350505050565b60008115159050919050565b6104b18161049c565b81146104bc57600080fd5b50565b6000815190506104ce816104a8565b92915050565b6000602082840312156104ea576104e96101b5565b5b60006104f8848285016104bf565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061053b8261021d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361056d5761056c610501565b5b60018201905091905056fea26469706673582212203b249e175ca62b1d65bea93bbbd7468ab3fd160fa55224a806b0cd6cace2e2f464736f6c63430008110033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x26B3293F EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x61BC221A EQ PUSH2 0x6D JUMPI DUP1 PUSH4 0xB2016BD4 EQ PUSH2 0x8B JUMPI DUP1 PUSH4 0xF77C4036 EQ PUSH2 0xA9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x289 JUMP JUMPDEST PUSH2 0xC5 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x75 PUSH2 0x16B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x82 SWAP2 SWAP1 PUSH2 0x2EB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x93 PUSH2 0x171 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x315 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xBE SWAP2 SWAP1 PUSH2 0x3CB JUMP JUMPDEST PUSH2 0x195 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x23B872DD CALLER ADDRESS DUP6 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x122 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x465 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x141 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x165 SWAP2 SWAP1 PUSH2 0x4D4 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x1A8 SWAP1 PUSH2 0x530 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EA DUP3 PUSH2 0x1BF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1FA DUP2 PUSH2 0x1DF JUMP JUMPDEST DUP2 EQ PUSH2 0x205 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x217 DUP2 PUSH2 0x1F1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x230 DUP2 PUSH2 0x21D JUMP JUMPDEST DUP2 EQ PUSH2 0x23B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x24D DUP2 PUSH2 0x227 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x266 DUP2 PUSH2 0x253 JUMP JUMPDEST DUP2 EQ PUSH2 0x271 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x283 DUP2 PUSH2 0x25D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2A2 JUMPI PUSH2 0x2A1 PUSH2 0x1B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2B0 DUP7 DUP3 DUP8 ADD PUSH2 0x208 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x2C1 DUP7 DUP3 DUP8 ADD PUSH2 0x23E JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x2D2 DUP7 DUP3 DUP8 ADD PUSH2 0x274 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH2 0x2E5 DUP2 PUSH2 0x21D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x300 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2DC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x30F DUP2 PUSH2 0x1DF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x32A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x306 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x343 DUP2 PUSH2 0x330 JUMP JUMPDEST DUP2 EQ PUSH2 0x34E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x360 DUP2 PUSH2 0x33A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x38B JUMPI PUSH2 0x38A PUSH2 0x366 JUMP JUMPDEST JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3A8 JUMPI PUSH2 0x3A7 PUSH2 0x36B JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x1 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x3C4 JUMPI PUSH2 0x3C3 PUSH2 0x370 JUMP JUMPDEST JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x3E8 JUMPI PUSH2 0x3E7 PUSH2 0x1B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x3F6 DUP10 DUP3 DUP11 ADD PUSH2 0x208 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x20 PUSH2 0x407 DUP10 DUP3 DUP11 ADD PUSH2 0x208 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 PUSH2 0x418 DUP10 DUP3 DUP11 ADD PUSH2 0x351 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x60 PUSH2 0x429 DUP10 DUP3 DUP11 ADD PUSH2 0x351 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x44A JUMPI PUSH2 0x449 PUSH2 0x1BA JUMP JUMPDEST JUMPDEST PUSH2 0x456 DUP10 DUP3 DUP11 ADD PUSH2 0x375 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x47A PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x306 JUMP JUMPDEST PUSH2 0x487 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x306 JUMP JUMPDEST PUSH2 0x494 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x2DC JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x4B1 DUP2 PUSH2 0x49C JUMP JUMPDEST DUP2 EQ PUSH2 0x4BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x4CE DUP2 PUSH2 0x4A8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x4EA JUMPI PUSH2 0x4E9 PUSH2 0x1B5 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x4F8 DUP5 DUP3 DUP6 ADD PUSH2 0x4BF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x53B DUP3 PUSH2 0x21D JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x56D JUMPI PUSH2 0x56C PUSH2 0x501 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODESIZE 0x24 SWAP15 OR 0x5C 0xA6 0x2B SAR PUSH6 0xBEA93BBBD746 DUP11 0xB3 REVERT AND 0xF 0xA5 MSTORE 0x24 0xA8 MOD 0xB0 0xCD PUSH13 0xACE2E2F464736F6C6343000811 STOP CALLER ",
"sourceMap": "194:516:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;380:172;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;258:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;222:30;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;557:150;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;380:172;481:15;;;;;;;;;;474:36;;;511:10;531:4;538:6;474:71;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;380:172;;;:::o;258:22::-;;;;:::o;222:30::-;;;;;;;;;;;;:::o;557:150::-;691:7;;:9;;;;;;;;;:::i;:::-;;;;;;557:150;;;;;;:::o;88:117:1:-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:77::-;878:7;907:5;896:16;;841:77;;;:::o;924:122::-;997:24;1015:5;997:24;:::i;:::-;990:5;987:35;977:63;;1036:1;1033;1026:12;977:63;924:122;:::o;1052:139::-;1098:5;1136:6;1123:20;1114:29;;1152:33;1179:5;1152:33;:::i;:::-;1052:139;;;;:::o;1197:77::-;1234:7;1263:5;1252:16;;1197:77;;;:::o;1280:122::-;1353:24;1371:5;1353:24;:::i;:::-;1346:5;1343:35;1333:63;;1392:1;1389;1382:12;1333:63;1280:122;:::o;1408:139::-;1454:5;1492:6;1479:20;1470:29;;1508:33;1535:5;1508:33;:::i;:::-;1408:139;;;;:::o;1553:619::-;1630:6;1638;1646;1695:2;1683:9;1674:7;1670:23;1666:32;1663:119;;;1701:79;;:::i;:::-;1663:119;1821:1;1846:53;1891:7;1882:6;1871:9;1867:22;1846:53;:::i;:::-;1836:63;;1792:117;1948:2;1974:53;2019:7;2010:6;1999:9;1995:22;1974:53;:::i;:::-;1964:63;;1919:118;2076:2;2102:53;2147:7;2138:6;2127:9;2123:22;2102:53;:::i;:::-;2092:63;;2047:118;1553:619;;;;;:::o;2178:118::-;2265:24;2283:5;2265:24;:::i;:::-;2260:3;2253:37;2178:118;;:::o;2302:222::-;2395:4;2433:2;2422:9;2418:18;2410:26;;2446:71;2514:1;2503:9;2499:17;2490:6;2446:71;:::i;:::-;2302:222;;;;:::o;2530:118::-;2617:24;2635:5;2617:24;:::i;:::-;2612:3;2605:37;2530:118;;:::o;2654:222::-;2747:4;2785:2;2774:9;2770:18;2762:26;;2798:71;2866:1;2855:9;2851:17;2842:6;2798:71;:::i;:::-;2654:222;;;;:::o;2882:76::-;2918:7;2947:5;2936:16;;2882:76;;;:::o;2964:120::-;3036:23;3053:5;3036:23;:::i;:::-;3029:5;3026:34;3016:62;;3074:1;3071;3064:12;3016:62;2964:120;:::o;3090:137::-;3135:5;3173:6;3160:20;3151:29;;3189:32;3215:5;3189:32;:::i;:::-;3090:137;;;;:::o;3233:117::-;3342:1;3339;3332:12;3356:117;3465:1;3462;3455:12;3479:117;3588:1;3585;3578:12;3615:552;3672:8;3682:6;3732:3;3725:4;3717:6;3713:17;3709:27;3699:122;;3740:79;;:::i;:::-;3699:122;3853:6;3840:20;3830:30;;3883:18;3875:6;3872:30;3869:117;;;3905:79;;:::i;:::-;3869:117;4019:4;4011:6;4007:17;3995:29;;4073:3;4065:4;4057:6;4053:17;4043:8;4039:32;4036:41;4033:128;;;4080:79;;:::i;:::-;4033:128;3615:552;;;;;:::o;4173:1105::-;4277:6;4285;4293;4301;4309;4317;4366:3;4354:9;4345:7;4341:23;4337:33;4334:120;;;4373:79;;:::i;:::-;4334:120;4493:1;4518:53;4563:7;4554:6;4543:9;4539:22;4518:53;:::i;:::-;4508:63;;4464:117;4620:2;4646:53;4691:7;4682:6;4671:9;4667:22;4646:53;:::i;:::-;4636:63;;4591:118;4748:2;4774:52;4818:7;4809:6;4798:9;4794:22;4774:52;:::i;:::-;4764:62;;4719:117;4875:2;4901:52;4945:7;4936:6;4925:9;4921:22;4901:52;:::i;:::-;4891:62;;4846:117;5030:3;5019:9;5015:19;5002:33;5062:18;5054:6;5051:30;5048:117;;;5084:79;;:::i;:::-;5048:117;5197:64;5253:7;5244:6;5233:9;5229:22;5197:64;:::i;:::-;5179:82;;;;4973:298;4173:1105;;;;;;;;:::o;5284:442::-;5433:4;5471:2;5460:9;5456:18;5448:26;;5484:71;5552:1;5541:9;5537:17;5528:6;5484:71;:::i;:::-;5565:72;5633:2;5622:9;5618:18;5609:6;5565:72;:::i;:::-;5647;5715:2;5704:9;5700:18;5691:6;5647:72;:::i;:::-;5284:442;;;;;;:::o;5732:90::-;5766:7;5809:5;5802:13;5795:21;5784:32;;5732:90;;;:::o;5828:116::-;5898:21;5913:5;5898:21;:::i;:::-;5891:5;5888:32;5878:60;;5934:1;5931;5924:12;5878:60;5828:116;:::o;5950:137::-;6004:5;6035:6;6029:13;6020:22;;6051:30;6075:5;6051:30;:::i;:::-;5950:137;;;;:::o;6093:345::-;6160:6;6209:2;6197:9;6188:7;6184:23;6180:32;6177:119;;;6215:79;;:::i;:::-;6177:119;6335:1;6360:61;6413:7;6404:6;6393:9;6389:22;6360:61;:::i;:::-;6350:71;;6306:125;6093:345;;;;:::o;6444:180::-;6492:77;6489:1;6482:88;6589:4;6586:1;6579:15;6613:4;6610:1;6603:15;6630:233;6669:3;6692:24;6710:5;6692:24;:::i;:::-;6683:33;;6738:66;6731:5;6728:77;6725:103;;6808:18;;:::i;:::-;6725:103;6855:1;6848:5;6844:13;6837:20;;6630:233;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "290800",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"collateralToken()": "2533",
"counter()": "2429",
"deposit(address,uint256,bytes32)": "infinite",
"onAdjustPosition(address,address,int256,int256,bytes)": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 194,
"end": 710,
"name": "MSTORE",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "DUP1",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "ISZERO",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 286,
"end": 375,
"name": "JUMPI",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 286,
"end": 375,
"name": "DUP1",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "REVERT",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 286,
"end": 375,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "POP",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 286,
"end": 375,
"name": "MLOAD",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "PUSHSIZE",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "CODESIZE",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "SUB",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "DUP1",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "PUSHSIZE",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "DUP4",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "CODECOPY",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "DUP2",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "DUP2",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "ADD",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 286,
"end": 375,
"name": "MSTORE",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "DUP2",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "ADD",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "SWAP1",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 286,
"end": 375,
"name": "SWAP2",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "SWAP1",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 286,
"end": 375,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 286,
"end": 375,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 352,
"end": 368,
"name": "DUP1",
"source": 0
},
{
"begin": 334,
"end": 349,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 334,
"end": 349,
"name": "DUP1",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 334,
"end": 368,
"name": "EXP",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "DUP2",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "SLOAD",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "DUP2",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 334,
"end": 368,
"name": "MUL",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "NOT",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "AND",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "SWAP1",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "DUP4",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 334,
"end": 368,
"name": "AND",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "MUL",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "OR",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "SWAP1",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "SSTORE",
"source": 0
},
{
"begin": 334,
"end": 368,
"name": "POP",
"source": 0
},
{
"begin": 286,
"end": 375,
"name": "POP",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 194,
"end": 710,
"name": "JUMP",
"source": 0
},
{
"begin": 88,
"end": 205,
"name": "tag",
"source": 1,
"value": "8"
},
{
"begin": 88,
"end": 205,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 197,
"end": 198,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 194,
"end": 195,
"name": "DUP1",
"source": 1
},
{
"begin": 187,
"end": 199,
"name": "REVERT",
"source": 1
},
{
"begin": 334,
"end": 460,
"name": "tag",
"source": 1,
"value": "10"
},
{
"begin": 334,
"end": 460,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 371,
"end": 378,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 411,
"end": 453,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 404,
"end": 409,
"name": "DUP3",
"source": 1
},
{
"begin": 400,
"end": 454,
"name": "AND",
"source": 1
},
{
"begin": 389,
"end": 454,
"name": "SWAP1",
"source": 1
},
{
"begin": 389,
"end": 454,
"name": "POP",
"source": 1
},
{
"begin": 334,
"end": 460,
"name": "SWAP2",
"source": 1
},
{
"begin": 334,
"end": 460,
"name": "SWAP1",
"source": 1
},
{
"begin": 334,
"end": 460,
"name": "POP",
"source": 1
},
{
"begin": 334,
"end": 460,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 466,
"end": 562,
"name": "tag",
"source": 1,
"value": "11"
},
{
"begin": 466,
"end": 562,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 503,
"end": 510,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 532,
"end": 556,
"name": "PUSH [tag]",
"source": 1,
"value": "20"
},
{
"begin": 550,
"end": 555,
"name": "DUP3",
"source": 1
},
{
"begin": 532,
"end": 556,
"name": "PUSH [tag]",
"source": 1,
"value": "10"
},
{
"begin": 532,
"end": 556,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 532,
"end": 556,
"name": "tag",
"source": 1,
"value": "20"
},
{
"begin": 532,
"end": 556,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 521,
"end": 556,
"name": "SWAP1",
"source": 1
},
{
"begin": 521,
"end": 556,
"name": "POP",
"source": 1
},
{
"begin": 466,
"end": 562,
"name": "SWAP2",
"source": 1
},
{
"begin": 466,
"end": 562,
"name": "SWAP1",
"source": 1
},
{
"begin": 466,
"end": 562,
"name": "POP",
"source": 1
},
{
"begin": 466,
"end": 562,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 568,
"end": 690,
"name": "tag",
"source": 1,
"value": "12"
},
{
"begin": 568,
"end": 690,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 641,
"end": 665,
"name": "PUSH [tag]",
"source": 1,
"value": "22"
},
{
"begin": 659,
"end": 664,
"name": "DUP2",
"source": 1
},
{
"begin": 641,
"end": 665,
"name": "PUSH [tag]",
"source": 1,
"value": "11"
},
{
"begin": 641,
"end": 665,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 641,
"end": 665,
"name": "tag",
"source": 1,
"value": "22"
},
{
"begin": 641,
"end": 665,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 634,
"end": 639,
"name": "DUP2",
"source": 1
},
{
"begin": 631,
"end": 666,
"name": "EQ",
"source": 1
},
{
"begin": 621,
"end": 684,
"name": "PUSH [tag]",
"source": 1,
"value": "23"
},
{
"begin": 621,
"end": 684,
"name": "JUMPI",
"source": 1
},
{
"begin": 680,
"end": 681,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 677,
"end": 678,
"name": "DUP1",
"source": 1
},
{
"begin": 670,
"end": 682,
"name": "REVERT",
"source": 1
},
{
"begin": 621,
"end": 684,
"name": "tag",
"source": 1,
"value": "23"
},
{
"begin": 621,
"end": 684,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 568,
"end": 690,
"name": "POP",
"source": 1
},
{
"begin": 568,
"end": 690,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 696,
"end": 839,
"name": "tag",
"source": 1,
"value": "13"
},
{
"begin": 696,
"end": 839,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 753,
"end": 758,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 784,
"end": 790,
"name": "DUP2",
"source": 1
},
{
"begin": 778,
"end": 791,
"name": "MLOAD",
"source": 1
},
{
"begin": 769,
"end": 791,
"name": "SWAP1",
"source": 1
},
{
"begin": 769,
"end": 791,
"name": "POP",
"source": 1
},
{
"begin": 800,
"end": 833,
"name": "PUSH [tag]",
"source": 1,
"value": "25"
},
{
"begin": 827,
"end": 832,
"name": "DUP2",
"source": 1
},
{
"begin": 800,
"end": 833,
"name": "PUSH [tag]",
"source": 1,
"value": "12"
},
{
"begin": 800,
"end": 833,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 800,
"end": 833,
"name": "tag",
"source": 1,
"value": "25"
},
{
"begin": 800,
"end": 833,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 696,
"end": 839,
"name": "SWAP3",
"source": 1
},
{
"begin": 696,
"end": 839,
"name": "SWAP2",
"source": 1
},
{
"begin": 696,
"end": 839,
"name": "POP",
"source": 1
},
{
"begin": 696,
"end": 839,
"name": "POP",
"source": 1
},
{
"begin": 696,
"end": 839,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 845,
"end": 1196,
"name": "tag",
"source": 1,
"value": "3"
},
{
"begin": 845,
"end": 1196,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 915,
"end": 921,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 964,
"end": 966,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 952,
"end": 961,
"name": "DUP3",
"source": 1
},
{
"begin": 943,
"end": 950,
"name": "DUP5",
"source": 1
},
{
"begin": 939,
"end": 962,
"name": "SUB",
"source": 1
},
{
"begin": 935,
"end": 967,
"name": "SLT",
"source": 1
},
{
"begin": 932,
"end": 1051,
"name": "ISZERO",
"source": 1
},
{
"begin": 932,
"end": 1051,
"name": "PUSH [tag]",
"source": 1,
"value": "27"
},
{
"begin": 932,
"end": 1051,
"name": "JUMPI",
"source": 1
},
{
"begin": 970,
"end": 1049,
"name": "PUSH [tag]",
"source": 1,
"value": "28"
},
{
"begin": 970,
"end": 1049,
"name": "PUSH [tag]",
"source": 1,
"value": "8"
},
{
"begin": 970,
"end": 1049,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 970,
"end": 1049,
"name": "tag",
"source": 1,
"value": "28"
},
{
"begin": 970,
"end": 1049,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 932,
"end": 1051,
"name": "tag",
"source": 1,
"value": "27"
},
{
"begin": 932,
"end": 1051,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1090,
"end": 1091,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1115,
"end": 1179,
"name": "PUSH [tag]",
"source": 1,
"value": "29"
},
{
"begin": 1171,
"end": 1178,
"name": "DUP5",
"source": 1
},
{
"begin": 1162,
"end": 1168,
"name": "DUP3",
"source": 1
},
{
"begin": 1151,
"end": 1160,
"name": "DUP6",
"source": 1
},
{
"begin": 1147,
"end": 1169,
"name": "ADD",
"source": 1
},
{
"begin": 1115,
"end": 1179,
"name": "PUSH [tag]",
"source": 1,
"value": "13"
},
{
"begin": 1115,
"end": 1179,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1115,
"end": 1179,
"name": "tag",
"source": 1,
"value": "29"
},
{
"begin": 1115,
"end": 1179,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1105,
"end": 1179,
"name": "SWAP2",
"source": 1
},
{
"begin": 1105,
"end": 1179,
"name": "POP",
"source": 1
},
{
"begin": 1061,
"end": 1189,
"name": "POP",
"source": 1
},
{
"begin": 845,
"end": 1196,
"name": "SWAP3",
"source": 1
},
{
"begin": 845,
"end": 1196,
"name": "SWAP2",
"source": 1
},
{
"begin": 845,
"end": 1196,
"name": "POP",
"source": 1
},
{
"begin": 845,
"end": 1196,
"name": "POP",
"source": 1
},
{
"begin": 845,
"end": 1196,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 194,
"end": 710,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 194,
"end": 710,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 194,
"end": 710,
"name": "DUP1",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 194,
"end": 710,
"name": "CODECOPY",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 194,
"end": 710,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a26469706673582212203b249e175ca62b1d65bea93bbbd7468ab3fd160fa55224a806b0cd6cace2e2f464736f6c63430008110033",
".code": [
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 194,
"end": 710,
"name": "MSTORE",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "DUP1",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "ISZERO",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 194,
"end": 710,
"name": "JUMPI",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 194,
"end": 710,
"name": "DUP1",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "REVERT",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 194,
"end": 710,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "POP",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 194,
"end": 710,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "LT",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 194,
"end": 710,
"name": "JUMPI",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 194,
"end": 710,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 194,
"end": 710,
"name": "SHR",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "DUP1",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "26B3293F"
},
{
"begin": 194,
"end": 710,
"name": "EQ",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 194,
"end": 710,
"name": "JUMPI",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "DUP1",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "61BC221A"
},
{
"begin": 194,
"end": 710,
"name": "EQ",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 194,
"end": 710,
"name": "JUMPI",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "DUP1",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "B2016BD4"
},
{
"begin": 194,
"end": 710,
"name": "EQ",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 194,
"end": 710,
"name": "JUMPI",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "DUP1",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "F77C4036"
},
{
"begin": 194,
"end": 710,
"name": "EQ",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 194,
"end": 710,
"name": "JUMPI",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 194,
"end": 710,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 194,
"end": 710,
"name": "DUP1",
"source": 0
},
{
"begin": 194,
"end": 710,
"name": "REVERT",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 380,
"end": 552,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 380,
"end": 552,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 380,
"end": 552,
"name": "DUP1",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "SUB",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "DUP2",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "ADD",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "SWAP1",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 380,
"end": 552,
"name": "SWAP2",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "SWAP1",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 380,
"end": 552,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 380,
"end": 552,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 380,
"end": 552,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 380,
"end": 552,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "STOP",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 258,
"end": 280,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 258,
"end": 280,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 258,
"end": 280,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 258,
"end": 280,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 258,
"end": 280,
"name": "MLOAD",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 258,
"end": 280,
"name": "SWAP2",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "SWAP1",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 258,
"end": 280,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 258,
"end": 280,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 258,
"end": 280,
"name": "MLOAD",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "DUP1",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "SWAP2",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "SUB",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "SWAP1",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "RETURN",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 222,
"end": 252,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 222,
"end": 252,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 222,
"end": 252,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 222,
"end": 252,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 222,
"end": 252,
"name": "MLOAD",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 222,
"end": 252,
"name": "SWAP2",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "SWAP1",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 222,
"end": 252,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "tag",
"source": 0,
"value": "17"
},
{
"begin": 222,
"end": 252,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 222,
"end": 252,
"name": "MLOAD",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "DUP1",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "SWAP2",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "SUB",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "SWAP1",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "RETURN",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 557,
"end": 707,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "PUSH [tag]",
"source": 0,
"value": "19"
},
{
"begin": 557,
"end": 707,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 557,
"end": 707,
"name": "DUP1",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "SUB",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "DUP2",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "ADD",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "SWAP1",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "PUSH [tag]",
"source": 0,
"value": "20"
},
{
"begin": 557,
"end": 707,
"name": "SWAP2",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "SWAP1",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "PUSH [tag]",
"source": 0,
"value": "21"
},
{
"begin": 557,
"end": 707,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "tag",
"source": 0,
"value": "20"
},
{
"begin": 557,
"end": 707,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 557,
"end": 707,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "tag",
"source": 0,
"value": "19"
},
{
"begin": 557,
"end": 707,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "STOP",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 380,
"end": 552,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 481,
"end": 496,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 481,
"end": 496,
"name": "DUP1",
"source": 0
},
{
"begin": 481,
"end": 496,
"name": "SLOAD",
"source": 0
},
{
"begin": 481,
"end": 496,
"name": "SWAP1",
"source": 0
},
{
"begin": 481,
"end": 496,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 481,
"end": 496,
"name": "EXP",
"source": 0
},
{
"begin": 481,
"end": 496,
"name": "SWAP1",
"source": 0
},
{
"begin": 481,
"end": 496,
"name": "DIV",
"source": 0
},
{
"begin": 481,
"end": 496,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 481,
"end": 496,
"name": "AND",
"source": 0
},
{
"begin": 474,
"end": 510,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 474,
"end": 510,
"name": "AND",
"source": 0
},
{
"begin": 474,
"end": 510,
"name": "PUSH",
"source": 0,
"value": "23B872DD"
},
{
"begin": 511,
"end": 521,
"name": "CALLER",
"source": 0
},
{
"begin": 531,
"end": 535,
"name": "ADDRESS",
"source": 0
},
{
"begin": 538,
"end": 544,
"name": "DUP6",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 474,
"end": 545,
"name": "MLOAD",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "DUP5",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFF"
},
{
"begin": 474,
"end": 545,
"name": "AND",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 474,
"end": 545,
"name": "SHL",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "DUP2",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "MSTORE",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 474,
"end": 545,
"name": "ADD",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH [tag]",
"source": 0,
"value": "24"
},
{
"begin": 474,
"end": 545,
"name": "SWAP4",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "SWAP3",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "SWAP2",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "SWAP1",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH [tag]",
"source": 0,
"value": "25"
},
{
"begin": 474,
"end": 545,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "tag",
"source": 0,
"value": "24"
},
{
"begin": 474,
"end": 545,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 474,
"end": 545,
"name": "MLOAD",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "DUP1",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "DUP4",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "SUB",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "DUP2",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 474,
"end": 545,
"name": "DUP8",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "GAS",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "CALL",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "ISZERO",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "DUP1",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "ISZERO",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH [tag]",
"source": 0,
"value": "27"
},
{
"begin": 474,
"end": 545,
"name": "JUMPI",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 474,
"end": 545,
"name": "DUP1",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "RETURNDATACOPY",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 474,
"end": 545,
"name": "REVERT",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "tag",
"source": 0,
"value": "27"
},
{
"begin": 474,
"end": 545,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "POP",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "POP",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "POP",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "POP",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 474,
"end": 545,
"name": "MLOAD",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "RETURNDATASIZE",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 474,
"end": 545,
"name": "NOT",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 474,
"end": 545,
"name": "DUP3",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "ADD",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "AND",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "DUP3",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "ADD",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "DUP1",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 474,
"end": 545,
"name": "MSTORE",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "POP",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "DUP2",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "ADD",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "SWAP1",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH [tag]",
"source": 0,
"value": "28"
},
{
"begin": 474,
"end": 545,
"name": "SWAP2",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "SWAP1",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "PUSH [tag]",
"source": 0,
"value": "29"
},
{
"begin": 474,
"end": 545,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "tag",
"source": 0,
"value": "28"
},
{
"begin": 474,
"end": 545,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 474,
"end": 545,
"name": "POP",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "POP",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "POP",
"source": 0
},
{
"begin": 380,
"end": 552,
"name": "POP",
"source": 0
},
{
"begin": 380,
"end": 552,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 258,
"end": 280,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 258,
"end": 280,
"name": "SLOAD",
"source": 0
},
{
"begin": 258,
"end": 280,
"name": "DUP2",
"source": 0
},
{
"begin": 258,
"end": 280,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "tag",
"source": 0,
"value": "16"
},
{
"begin": 222,
"end": 252,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 222,
"end": 252,
"name": "DUP1",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "SLOAD",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "SWAP1",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 222,
"end": 252,
"name": "EXP",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "SWAP1",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "DIV",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 222,
"end": 252,
"name": "AND",
"source": 0
},
{
"begin": 222,
"end": 252,
"name": "DUP2",
"source": 0
},
{
"begin": 222,
"end": 252,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "tag",
"source": 0,
"value": "22"
},
{
"begin": 557,
"end": 707,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 691,
"end": 698,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 691,
"end": 698,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 691,
"end": 700,
"name": "DUP2",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "SLOAD",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "DUP1",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "SWAP3",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "SWAP2",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "SWAP1",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "PUSH [tag]",
"source": 0,
"value": "31"
},
{
"begin": 691,
"end": 700,
"name": "SWAP1",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "PUSH [tag]",
"source": 0,
"value": "32"
},
{
"begin": 691,
"end": 700,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "tag",
"source": 0,
"value": "31"
},
{
"begin": 691,
"end": 700,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "SWAP2",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "SWAP1",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "POP",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "SSTORE",
"source": 0
},
{
"begin": 691,
"end": 700,
"name": "POP",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "POP",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "POP",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "POP",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "POP",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "POP",
"source": 0
},
{
"begin": 557,
"end": 707,
"name": "POP",
"source": 0
},
{
"begin": 557,
"end": 707,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 88,
"end": 205,
"name": "tag",
"source": 1,
"value": "34"
},
{
"begin": 88,
"end": 205,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 197,
"end": 198,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 194,
"end": 195,
"name": "DUP1",
"source": 1
},
{
"begin": 187,
"end": 199,
"name": "REVERT",
"source": 1
},
{
"begin": 211,
"end": 328,
"name": "tag",
"source": 1,
"value": "35"
},
{
"begin": 211,
"end": 328,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 320,
"end": 321,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 317,
"end": 318,
"name": "DUP1",
"source": 1
},
{
"begin": 310,
"end": 322,
"name": "REVERT",
"source": 1
},
{
"begin": 334,
"end": 460,
"name": "tag",
"source": 1,
"value": "36"
},
{
"begin": 334,
"end": 460,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 371,
"end": 378,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 411,
"end": 453,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 404,
"end": 409,
"name": "DUP3",
"source": 1
},
{
"begin": 400,
"end": 454,
"name": "AND",
"source": 1
},
{
"begin": 389,
"end": 454,
"name": "SWAP1",
"source": 1
},
{
"begin": 389,
"end": 454,
"name": "POP",
"source": 1
},
{
"begin": 334,
"end": 460,
"name": "SWAP2",
"source": 1
},
{
"begin": 334,
"end": 460,
"name": "SWAP1",
"source": 1
},
{
"begin": 334,
"end": 460,
"name": "POP",
"source": 1
},
{
"begin": 334,
"end": 460,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 466,
"end": 562,
"name": "tag",
"source": 1,
"value": "37"
},
{
"begin": 466,
"end": 562,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 503,
"end": 510,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 532,
"end": 556,
"name": "PUSH [tag]",
"source": 1,
"value": "65"
},
{
"begin": 550,
"end": 555,
"name": "DUP3",
"source": 1
},
{
"begin": 532,
"end": 556,
"name": "PUSH [tag]",
"source": 1,
"value": "36"
},
{
"begin": 532,
"end": 556,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 532,
"end": 556,
"name": "tag",
"source": 1,
"value": "65"
},
{
"begin": 532,
"end": 556,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 521,
"end": 556,
"name": "SWAP1",
"source": 1
},
{
"begin": 521,
"end": 556,
"name": "POP",
"source": 1
},
{
"begin": 466,
"end": 562,
"name": "SWAP2",
"source": 1
},
{
"begin": 466,
"end": 562,
"name": "SWAP1",
"source": 1
},
{
"begin": 466,
"end": 562,
"name": "POP",
"source": 1
},
{
"begin": 466,
"end": 562,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 568,
"end": 690,
"name": "tag",
"source": 1,
"value": "38"
},
{
"begin": 568,
"end": 690,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 641,
"end": 665,
"name": "PUSH [tag]",
"source": 1,
"value": "67"
},
{
"begin": 659,
"end": 664,
"name": "DUP2",
"source": 1
},
{
"begin": 641,
"end": 665,
"name": "PUSH [tag]",
"source": 1,
"value": "37"
},
{
"begin": 641,
"end": 665,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 641,
"end": 665,
"name": "tag",
"source": 1,
"value": "67"
},
{
"begin": 641,
"end": 665,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 634,
"end": 639,
"name": "DUP2",
"source": 1
},
{
"begin": 631,
"end": 666,
"name": "EQ",
"source": 1
},
{
"begin": 621,
"end": 684,
"name": "PUSH [tag]",
"source": 1,
"value": "68"
},
{
"begin": 621,
"end": 684,
"name": "JUMPI",
"source": 1
},
{
"begin": 680,
"end": 681,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 677,
"end": 678,
"name": "DUP1",
"source": 1
},
{
"begin": 670,
"end": 682,
"name": "REVERT",
"source": 1
},
{
"begin": 621,
"end": 684,
"name": "tag",
"source": 1,
"value": "68"
},
{
"begin": 621,
"end": 684,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 568,
"end": 690,
"name": "POP",
"source": 1
},
{
"begin": 568,
"end": 690,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 696,
"end": 835,
"name": "tag",
"source": 1,
"value": "39"
},
{
"begin": 696,
"end": 835,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 742,
"end": 747,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 780,
"end": 786,
"name": "DUP2",
"source": 1
},
{
"begin": 767,
"end": 787,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 758,
"end": 787,
"name": "SWAP1",
"source": 1
},
{
"begin": 758,
"end": 787,
"name": "POP",
"source": 1
},
{
"begin": 796,
"end": 829,
"name": "PUSH [tag]",
"source": 1,
"value": "70"
},
{
"begin": 823,
"end": 828,
"name": "DUP2",
"source": 1
},
{
"begin": 796,
"end": 829,
"name": "PUSH [tag]",
"source": 1,
"value": "38"
},
{
"begin": 796,
"end": 829,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 796,
"end": 829,
"name": "tag",
"source": 1,
"value": "70"
},
{
"begin": 796,
"end": 829,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 696,
"end": 835,
"name": "SWAP3",
"source": 1
},
{
"begin": 696,
"end": 835,
"name": "SWAP2",
"source": 1
},
{
"begin": 696,
"end": 835,
"name": "POP",
"source": 1
},
{
"begin": 696,
"end": 835,
"name": "POP",
"source": 1
},
{
"begin": 696,
"end": 835,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 841,
"end": 918,
"name": "tag",
"source": 1,
"value": "40"
},
{
"begin": 841,
"end": 918,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 878,
"end": 885,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 907,
"end": 912,
"name": "DUP2",
"source": 1
},
{
"begin": 896,
"end": 912,
"name": "SWAP1",
"source": 1
},
{
"begin": 896,
"end": 912,
"name": "POP",
"source": 1
},
{
"begin": 841,
"end": 918,
"name": "SWAP2",
"source": 1
},
{
"begin": 841,
"end": 918,
"name": "SWAP1",
"source": 1
},
{
"begin": 841,
"end": 918,
"name": "POP",
"source": 1
},
{
"begin": 841,
"end": 918,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 924,
"end": 1046,
"name": "tag",
"source": 1,
"value": "41"
},
{
"begin": 924,
"end": 1046,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 997,
"end": 1021,
"name": "PUSH [tag]",
"source": 1,
"value": "73"
},
{
"begin": 1015,
"end": 1020,
"name": "DUP2",
"source": 1
},
{
"begin": 997,
"end": 1021,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 997,
"end": 1021,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 997,
"end": 1021,
"name": "tag",
"source": 1,
"value": "73"
},
{
"begin": 997,
"end": 1021,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 990,
"end": 995,
"name": "DUP2",
"source": 1
},
{
"begin": 987,
"end": 1022,
"name": "EQ",
"source": 1
},
{
"begin": 977,
"end": 1040,
"name": "PUSH [tag]",
"source": 1,
"value": "74"
},
{
"begin": 977,
"end": 1040,
"name": "JUMPI",
"source": 1
},
{
"begin": 1036,
"end": 1037,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1033,
"end": 1034,
"name": "DUP1",
"source": 1
},
{
"begin": 1026,
"end": 1038,
"name": "REVERT",
"source": 1
},
{
"begin": 977,
"end": 1040,
"name": "tag",
"source": 1,
"value": "74"
},
{
"begin": 977,
"end": 1040,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 924,
"end": 1046,
"name": "POP",
"source": 1
},
{
"begin": 924,
"end": 1046,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1052,
"end": 1191,
"name": "tag",
"source": 1,
"value": "42"
},
{
"begin": 1052,
"end": 1191,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1098,
"end": 1103,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1136,
"end": 1142,
"name": "DUP2",
"source": 1
},
{
"begin": 1123,
"end": 1143,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 1114,
"end": 1143,
"name": "SWAP1",
"source": 1
},
{
"begin": 1114,
"end": 1143,
"name": "POP",
"source": 1
},
{
"begin": 1152,
"end": 1185,
"name": "PUSH [tag]",
"source": 1,
"value": "76"
},
{
"begin": 1179,
"end": 1184,
"name": "DUP2",
"source": 1
},
{
"begin": 1152,
"end": 1185,
"name": "PUSH [tag]",
"source": 1,
"value": "41"
},
{
"begin": 1152,
"end": 1185,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1152,
"end": 1185,
"name": "tag",
"source": 1,
"value": "76"
},
{
"begin": 1152,
"end": 1185,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1052,
"end": 1191,
"name": "SWAP3",
"source": 1
},
{
"begin": 1052,
"end": 1191,
"name": "SWAP2",
"source": 1
},
{
"begin": 1052,
"end": 1191,
"name": "POP",
"source": 1
},
{
"begin": 1052,
"end": 1191,
"name": "POP",
"source": 1
},
{
"begin": 1052,
"end": 1191,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1197,
"end": 1274,
"name": "tag",
"source": 1,
"value": "43"
},
{
"begin": 1197,
"end": 1274,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1234,
"end": 1241,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1263,
"end": 1268,
"name": "DUP2",
"source": 1
},
{
"begin": 1252,
"end": 1268,
"name": "SWAP1",
"source": 1
},
{
"begin": 1252,
"end": 1268,
"name": "POP",
"source": 1
},
{
"begin": 1197,
"end": 1274,
"name": "SWAP2",
"source": 1
},
{
"begin": 1197,
"end": 1274,
"name": "SWAP1",
"source": 1
},
{
"begin": 1197,
"end": 1274,
"name": "POP",
"source": 1
},
{
"begin": 1197,
"end": 1274,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1280,
"end": 1402,
"name": "tag",
"source": 1,
"value": "44"
},
{
"begin": 1280,
"end": 1402,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1353,
"end": 1377,
"name": "PUSH [tag]",
"source": 1,
"value": "79"
},
{
"begin": 1371,
"end": 1376,
"name": "DUP2",
"source": 1
},
{
"begin": 1353,
"end": 1377,
"name": "PUSH [tag]",
"source": 1,
"value": "43"
},
{
"begin": 1353,
"end": 1377,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1353,
"end": 1377,
"name": "tag",
"source": 1,
"value": "79"
},
{
"begin": 1353,
"end": 1377,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1346,
"end": 1351,
"name": "DUP2",
"source": 1
},
{
"begin": 1343,
"end": 1378,
"name": "EQ",
"source": 1
},
{
"begin": 1333,
"end": 1396,
"name": "PUSH [tag]",
"source": 1,
"value": "80"
},
{
"begin": 1333,
"end": 1396,
"name": "JUMPI",
"source": 1
},
{
"begin": 1392,
"end": 1393,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1389,
"end": 1390,
"name": "DUP1",
"source": 1
},
{
"begin": 1382,
"end": 1394,
"name": "REVERT",
"source": 1
},
{
"begin": 1333,
"end": 1396,
"name": "tag",
"source": 1,
"value": "80"
},
{
"begin": 1333,
"end": 1396,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1280,
"end": 1402,
"name": "POP",
"source": 1
},
{
"begin": 1280,
"end": 1402,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1408,
"end": 1547,
"name": "tag",
"source": 1,
"value": "45"
},
{
"begin": 1408,
"end": 1547,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1454,
"end": 1459,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1492,
"end": 1498,
"name": "DUP2",
"source": 1
},
{
"begin": 1479,
"end": 1499,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 1470,
"end": 1499,
"name": "SWAP1",
"source": 1
},
{
"begin": 1470,
"end": 1499,
"name": "POP",
"source": 1
},
{
"begin": 1508,
"end": 1541,
"name": "PUSH [tag]",
"source": 1,
"value": "82"
},
{
"begin": 1535,
"end": 1540,
"name": "DUP2",
"source": 1
},
{
"begin": 1508,
"end": 1541,
"name": "PUSH [tag]",
"source": 1,
"value": "44"
},
{
"begin": 1508,
"end": 1541,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1508,
"end": 1541,
"name": "tag",
"source": 1,
"value": "82"
},
{
"begin": 1508,
"end": 1541,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1408,
"end": 1547,
"name": "SWAP3",
"source": 1
},
{
"begin": 1408,
"end": 1547,
"name": "SWAP2",
"source": 1
},
{
"begin": 1408,
"end": 1547,
"name": "POP",
"source": 1
},
{
"begin": 1408,
"end": 1547,
"name": "POP",
"source": 1
},
{
"begin": 1408,
"end": 1547,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1553,
"end": 2172,
"name": "tag",
"source": 1,
"value": "9"
},
{
"begin": 1553,
"end": 2172,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1630,
"end": 1636,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1638,
"end": 1644,
"name": "DUP1",
"source": 1
},
{
"begin": 1646,
"end": 1652,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1695,
"end": 1697,
"name": "PUSH",
"source": 1,
"value": "60"
},
{
"begin": 1683,
"end": 1692,
"name": "DUP5",
"source": 1
},
{
"begin": 1674,
"end": 1681,
"name": "DUP7",
"source": 1
},
{
"begin": 1670,
"end": 1693,
"name": "SUB",
"source": 1
},
{
"begin": 1666,
"end": 1698,
"name": "SLT",
"source": 1
},
{
"begin": 1663,
"end": 1782,
"name": "ISZERO",
"source": 1
},
{
"begin": 1663,
"end": 1782,
"name": "PUSH [tag]",
"source": 1,
"value": "84"
},
{
"begin": 1663,
"end": 1782,
"name": "JUMPI",
"source": 1
},
{
"begin": 1701,
"end": 1780,
"name": "PUSH [tag]",
"source": 1,
"value": "85"
},
{
"begin": 1701,
"end": 1780,
"name": "PUSH [tag]",
"source": 1,
"value": "34"
},
{
"begin": 1701,
"end": 1780,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1701,
"end": 1780,
"name": "tag",
"source": 1,
"value": "85"
},
{
"begin": 1701,
"end": 1780,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1663,
"end": 1782,
"name": "tag",
"source": 1,
"value": "84"
},
{
"begin": 1663,
"end": 1782,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1821,
"end": 1822,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1846,
"end": 1899,
"name": "PUSH [tag]",
"source": 1,
"value": "86"
},
{
"begin": 1891,
"end": 1898,
"name": "DUP7",
"source": 1
},
{
"begin": 1882,
"end": 1888,
"name": "DUP3",
"source": 1
},
{
"begin": 1871,
"end": 1880,
"name": "DUP8",
"source": 1
},
{
"begin": 1867,
"end": 1889,
"name": "ADD",
"source": 1
},
{
"begin": 1846,
"end": 1899,
"name": "PUSH [tag]",
"source": 1,
"value": "39"
},
{
"begin": 1846,
"end": 1899,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1846,
"end": 1899,
"name": "tag",
"source": 1,
"value": "86"
},
{
"begin": 1846,
"end": 1899,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1836,
"end": 1899,
"name": "SWAP4",
"source": 1
},
{
"begin": 1836,
"end": 1899,
"name": "POP",
"source": 1
},
{
"begin": 1792,
"end": 1909,
"name": "POP",
"source": 1
},
{
"begin": 1948,
"end": 1950,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1974,
"end": 2027,
"name": "PUSH [tag]",
"source": 1,
"value": "87"
},
{
"begin": 2019,
"end": 2026,
"name": "DUP7",
"source": 1
},
{
"begin": 2010,
"end": 2016,
"name": "DUP3",
"source": 1
},
{
"begin": 1999,
"end": 2008,
"name": "DUP8",
"source": 1
},
{
"begin": 1995,
"end": 2017,
"name": "ADD",
"source": 1
},
{
"begin": 1974,
"end": 2027,
"name": "PUSH [tag]",
"source": 1,
"value": "42"
},
{
"begin": 1974,
"end": 2027,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1974,
"end": 2027,
"name": "tag",
"source": 1,
"value": "87"
},
{
"begin": 1974,
"end": 2027,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1964,
"end": 2027,
"name": "SWAP3",
"source": 1
},
{
"begin": 1964,
"end": 2027,
"name": "POP",
"source": 1
},
{
"begin": 1919,
"end": 2037,
"name": "POP",
"source": 1
},
{
"begin": 2076,
"end": 2078,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 2102,
"end": 2155,
"name": "PUSH [tag]",
"source": 1,
"value": "88"
},
{
"begin": 2147,
"end": 2154,
"name": "DUP7",
"source": 1
},
{
"begin": 2138,
"end": 2144,
"name": "DUP3",
"source": 1
},
{
"begin": 2127,
"end": 2136,
"name": "DUP8",
"source": 1
},
{
"begin": 2123,
"end": 2145,
"name": "ADD",
"source": 1
},
{
"begin": 2102,
"end": 2155,
"name": "PUSH [tag]",
"source": 1,
"value": "45"
},
{
"begin": 2102,
"end": 2155,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2102,
"end": 2155,
"name": "tag",
"source": 1,
"value": "88"
},
{
"begin": 2102,
"end": 2155,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2092,
"end": 2155,
"name": "SWAP2",
"source": 1
},
{
"begin": 2092,
"end": 2155,
"name": "POP",
"source": 1
},
{
"begin": 2047,
"end": 2165,
"name": "POP",
"source": 1
},
{
"begin": 1553,
"end": 2172,
"name": "SWAP3",
"source": 1
},
{
"begin": 1553,
"end": 2172,
"name": "POP",
"source": 1
},
{
"begin": 1553,
"end": 2172,
"name": "SWAP3",
"source": 1
},
{
"begin": 1553,
"end": 2172,
"name": "POP",
"source": 1
},
{
"begin": 1553,
"end": 2172,
"name": "SWAP3",
"source": 1
},
{
"begin": 1553,
"end": 2172,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2178,
"end": 2296,
"name": "tag",
"source": 1,
"value": "46"
},
{
"begin": 2178,
"end": 2296,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2265,
"end": 2289,
"name": "PUSH [tag]",
"source": 1,
"value": "90"
},
{
"begin": 2283,
"end": 2288,
"name": "DUP2",
"source": 1
},
{
"begin": 2265,
"end": 2289,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 2265,
"end": 2289,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2265,
"end": 2289,
"name": "tag",
"source": 1,
"value": "90"
},
{
"begin": 2265,
"end": 2289,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2260,
"end": 2263,
"name": "DUP3",
"source": 1
},
{
"begin": 2253,
"end": 2290,
"name": "MSTORE",
"source": 1
},
{
"begin": 2178,
"end": 2296,
"name": "POP",
"source": 1
},
{
"begin": 2178,
"end": 2296,
"name": "POP",
"source": 1
},
{
"begin": 2178,
"end": 2296,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2302,
"end": 2524,
"name": "tag",
"source": 1,
"value": "14"
},
{
"begin": 2302,
"end": 2524,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2395,
"end": 2399,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2433,
"end": 2435,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2422,
"end": 2431,
"name": "DUP3",
"source": 1
},
{
"begin": 2418,
"end": 2436,
"name": "ADD",
"source": 1
},
{
"begin": 2410,
"end": 2436,
"name": "SWAP1",
"source": 1
},
{
"begin": 2410,
"end": 2436,
"name": "POP",
"source": 1
},
{
"begin": 2446,
"end": 2517,
"name": "PUSH [tag]",
"source": 1,
"value": "92"
},
{
"begin": 2514,
"end": 2515,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2503,
"end": 2512,
"name": "DUP4",
"source": 1
},
{
"begin": 2499,
"end": 2516,
"name": "ADD",
"source": 1
},
{
"begin": 2490,
"end": 2496,
"name": "DUP5",
"source": 1
},
{
"begin": 2446,
"end": 2517,
"name": "PUSH [tag]",
"source": 1,
"value": "46"
},
{
"begin": 2446,
"end": 2517,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2446,
"end": 2517,
"name": "tag",
"source": 1,
"value": "92"
},
{
"begin": 2446,
"end": 2517,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2302,
"end": 2524,
"name": "SWAP3",
"source": 1
},
{
"begin": 2302,
"end": 2524,
"name": "SWAP2",
"source": 1
},
{
"begin": 2302,
"end": 2524,
"name": "POP",
"source": 1
},
{
"begin": 2302,
"end": 2524,
"name": "POP",
"source": 1
},
{
"begin": 2302,
"end": 2524,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2530,
"end": 2648,
"name": "tag",
"source": 1,
"value": "47"
},
{
"begin": 2530,
"end": 2648,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2617,
"end": 2641,
"name": "PUSH [tag]",
"source": 1,
"value": "94"
},
{
"begin": 2635,
"end": 2640,
"name": "DUP2",
"source": 1
},
{
"begin": 2617,
"end": 2641,
"name": "PUSH [tag]",
"source": 1,
"value": "37"
},
{
"begin": 2617,
"end": 2641,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2617,
"end": 2641,
"name": "tag",
"source": 1,
"value": "94"
},
{
"begin": 2617,
"end": 2641,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2612,
"end": 2615,
"name": "DUP3",
"source": 1
},
{
"begin": 2605,
"end": 2642,
"name": "MSTORE",
"source": 1
},
{
"begin": 2530,
"end": 2648,
"name": "POP",
"source": 1
},
{
"begin": 2530,
"end": 2648,
"name": "POP",
"source": 1
},
{
"begin": 2530,
"end": 2648,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2654,
"end": 2876,
"name": "tag",
"source": 1,
"value": "18"
},
{
"begin": 2654,
"end": 2876,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2747,
"end": 2751,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2785,
"end": 2787,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2774,
"end": 2783,
"name": "DUP3",
"source": 1
},
{
"begin": 2770,
"end": 2788,
"name": "ADD",
"source": 1
},
{
"begin": 2762,
"end": 2788,
"name": "SWAP1",
"source": 1
},
{
"begin": 2762,
"end": 2788,
"name": "POP",
"source": 1
},
{
"begin": 2798,
"end": 2869,
"name": "PUSH [tag]",
"source": 1,
"value": "96"
},
{
"begin": 2866,
"end": 2867,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2855,
"end": 2864,
"name": "DUP4",
"source": 1
},
{
"begin": 2851,
"end": 2868,
"name": "ADD",
"source": 1
},
{
"begin": 2842,
"end": 2848,
"name": "DUP5",
"source": 1
},
{
"begin": 2798,
"end": 2869,
"name": "PUSH [tag]",
"source": 1,
"value": "47"
},
{
"begin": 2798,
"end": 2869,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2798,
"end": 2869,
"name": "tag",
"source": 1,
"value": "96"
},
{
"begin": 2798,
"end": 2869,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2654,
"end": 2876,
"name": "SWAP3",
"source": 1
},
{
"begin": 2654,
"end": 2876,
"name": "SWAP2",
"source": 1
},
{
"begin": 2654,
"end": 2876,
"name": "POP",
"source": 1
},
{
"begin": 2654,
"end": 2876,
"name": "POP",
"source": 1
},
{
"begin": 2654,
"end": 2876,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2882,
"end": 2958,
"name": "tag",
"source": 1,
"value": "48"
},
{
"begin": 2882,
"end": 2958,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2918,
"end": 2925,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2947,
"end": 2952,
"name": "DUP2",
"source": 1
},
{
"begin": 2936,
"end": 2952,
"name": "SWAP1",
"source": 1
},
{
"begin": 2936,
"end": 2952,
"name": "POP",
"source": 1
},
{
"begin": 2882,
"end": 2958,
"name": "SWAP2",
"source": 1
},
{
"begin": 2882,
"end": 2958,
"name": "SWAP1",
"source": 1
},
{
"begin": 2882,
"end": 2958,
"name": "POP",
"source": 1
},
{
"begin": 2882,
"end": 2958,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2964,
"end": 3084,
"name": "tag",
"source": 1,
"value": "49"
},
{
"begin": 2964,
"end": 3084,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3036,
"end": 3059,
"name": "PUSH [tag]",
"source": 1,
"value": "99"
},
{
"begin": 3053,
"end": 3058,
"name": "DUP2",
"source": 1
},
{
"begin": 3036,
"end": 3059,
"name": "PUSH [tag]",
"source": 1,
"value": "48"
},
{
"begin": 3036,
"end": 3059,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3036,
"end": 3059,
"name": "tag",
"source": 1,
"value": "99"
},
{
"begin": 3036,
"end": 3059,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3029,
"end": 3034,
"name": "DUP2",
"source": 1
},
{
"begin": 3026,
"end": 3060,
"name": "EQ",
"source": 1
},
{
"begin": 3016,
"end": 3078,
"name": "PUSH [tag]",
"source": 1,
"value": "100"
},
{
"begin": 3016,
"end": 3078,
"name": "JUMPI",
"source": 1
},
{
"begin": 3074,
"end": 3075,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3071,
"end": 3072,
"name": "DUP1",
"source": 1
},
{
"begin": 3064,
"end": 3076,
"name": "REVERT",
"source": 1
},
{
"begin": 3016,
"end": 3078,
"name": "tag",
"source": 1,
"value": "100"
},
{
"begin": 3016,
"end": 3078,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2964,
"end": 3084,
"name": "POP",
"source": 1
},
{
"begin": 2964,
"end": 3084,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3090,
"end": 3227,
"name": "tag",
"source": 1,
"value": "50"
},
{
"begin": 3090,
"end": 3227,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3135,
"end": 3140,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3173,
"end": 3179,
"name": "DUP2",
"source": 1
},
{
"begin": 3160,
"end": 3180,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 3151,
"end": 3180,
"name": "SWAP1",
"source": 1
},
{
"begin": 3151,
"end": 3180,
"name": "POP",
"source": 1
},
{
"begin": 3189,
"end": 3221,
"name": "PUSH [tag]",
"source": 1,
"value": "102"
},
{
"begin": 3215,
"end": 3220,
"name": "DUP2",
"source": 1
},
{
"begin": 3189,
"end": 3221,
"name": "PUSH [tag]",
"source": 1,
"value": "49"
},
{
"begin": 3189,
"end": 3221,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3189,
"end": 3221,
"name": "tag",
"source": 1,
"value": "102"
},
{
"begin": 3189,
"end": 3221,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3090,
"end": 3227,
"name": "SWAP3",
"source": 1
},
{
"begin": 3090,
"end": 3227,
"name": "SWAP2",
"source": 1
},
{
"begin": 3090,
"end": 3227,
"name": "POP",
"source": 1
},
{
"begin": 3090,
"end": 3227,
"name": "POP",
"source": 1
},
{
"begin": 3090,
"end": 3227,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3233,
"end": 3350,
"name": "tag",
"source": 1,
"value": "51"
},
{
"begin": 3233,
"end": 3350,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3342,
"end": 3343,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3339,
"end": 3340,
"name": "DUP1",
"source": 1
},
{
"begin": 3332,
"end": 3344,
"name": "REVERT",
"source": 1
},
{
"begin": 3356,
"end": 3473,
"name": "tag",
"source": 1,
"value": "52"
},
{
"begin": 3356,
"end": 3473,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3465,
"end": 3466,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3462,
"end": 3463,
"name": "DUP1",
"source": 1
},
{
"begin": 3455,
"end": 3467,
"name": "REVERT",
"source": 1
},
{
"begin": 3479,
"end": 3596,
"name": "tag",
"source": 1,
"value": "53"
},
{
"begin": 3479,
"end": 3596,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3588,
"end": 3589,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3585,
"end": 3586,
"name": "DUP1",
"source": 1
},
{
"begin": 3578,
"end": 3590,
"name": "REVERT",
"source": 1
},
{
"begin": 3615,
"end": 4167,
"name": "tag",
"source": 1,
"value": "54"
},
{
"begin": 3615,
"end": 4167,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3672,
"end": 3680,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3682,
"end": 3688,
"name": "DUP1",
"source": 1
},
{
"begin": 3732,
"end": 3735,
"name": "DUP4",
"source": 1
},
{
"begin": 3725,
"end": 3729,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 3717,
"end": 3723,
"name": "DUP5",
"source": 1
},
{
"begin": 3713,
"end": 3730,
"name": "ADD",
"source": 1
},
{
"begin": 3709,
"end": 3736,
"name": "SLT",
"source": 1
},
{
"begin": 3699,
"end": 3821,
"name": "PUSH [tag]",
"source": 1,
"value": "107"
},
{
"begin": 3699,
"end": 3821,
"name": "JUMPI",
"source": 1
},
{
"begin": 3740,
"end": 3819,
"name": "PUSH [tag]",
"source": 1,
"value": "108"
},
{
"begin": 3740,
"end": 3819,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 3740,
"end": 3819,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3740,
"end": 3819,
"name": "tag",
"source": 1,
"value": "108"
},
{
"begin": 3740,
"end": 3819,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3699,
"end": 3821,
"name": "tag",
"source": 1,
"value": "107"
},
{
"begin": 3699,
"end": 3821,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3853,
"end": 3859,
"name": "DUP3",
"source": 1
},
{
"begin": 3840,
"end": 3860,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 3830,
"end": 3860,
"name": "SWAP1",
"source": 1
},
{
"begin": 3830,
"end": 3860,
"name": "POP",
"source": 1
},
{
"begin": 3883,
"end": 3901,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 3875,
"end": 3881,
"name": "DUP2",
"source": 1
},
{
"begin": 3872,
"end": 3902,
"name": "GT",
"source": 1
},
{
"begin": 3869,
"end": 3986,
"name": "ISZERO",
"source": 1
},
{
"begin": 3869,
"end": 3986,
"name": "PUSH [tag]",
"source": 1,
"value": "109"
},
{
"begin": 3869,
"end": 3986,
"name": "JUMPI",
"source": 1
},
{
"begin": 3905,
"end": 3984,
"name": "PUSH [tag]",
"source": 1,
"value": "110"
},
{
"begin": 3905,
"end": 3984,
"name": "PUSH [tag]",
"source": 1,
"value": "52"
},
{
"begin": 3905,
"end": 3984,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3905,
"end": 3984,
"name": "tag",
"source": 1,
"value": "110"
},
{
"begin": 3905,
"end": 3984,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3869,
"end": 3986,
"name": "tag",
"source": 1,
"value": "109"
},
{
"begin": 3869,
"end": 3986,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4019,
"end": 4023,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4011,
"end": 4017,
"name": "DUP4",
"source": 1
},
{
"begin": 4007,
"end": 4024,
"name": "ADD",
"source": 1
},
{
"begin": 3995,
"end": 4024,
"name": "SWAP
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment