Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save mateusgalasso/38605ede5b89f18bed2cbf685910d678 to your computer and use it in GitHub Desktop.
Save mateusgalasso/38605ede5b89f18bed2cbf685910d678 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.6.12+commit.27d51765.js&optimize=false&runs=200&gist=
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.
{
"id": "e7779bf484949c547b44aaf0a3e16ee6",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.6.0",
"solcLongVersion": "0.6.0+commit.26b70077",
"input": {
"language": "Solidity",
"sources": {
"SimpleStorage.sol": {
"content": "//SPDX-License-Identifier: MIT\n\npragma solidity ^0.6.0;\n\ncontract SimpleStorage{\n\n //This will get a initalizard to 0\n uint256 favoritenumber;\n\n struct People {\n uint256 favoritenumber;\n string name;\n }\n\n People[] public people;\n\n mapping(string => uint256) public nameToFavoriteNumber;\n\n\n function addPerson(string memory _name, uint256 _favoriteNumber) public {\n people.push(People(_favoriteNumber, _name));\n nameToFavoriteNumber[_name] = _favoriteNumber;\n }\n\n function store(uint256 _favoriteNumber) public {\n favoritenumber = _favoriteNumber;\n\n }\n\n People public person = People({favoritenumber: 2, name: \"Mateus\"});\n\n function retrieve () public view returns (uint256){\n return favoritenumber;\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": {
"SimpleStorage.sol": {
"SimpleStorage": {
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
},
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "addPerson",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"name": "nameToFavoriteNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "people",
"outputs": [
{
"internalType": "uint256",
"name": "favoritenumber",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "person",
"outputs": [
{
"internalType": "uint256",
"name": "favoritenumber",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "retrieve",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"methods": {}
},
"evm": {
"assembly": " /* \"SimpleStorage.sol\":57:784 contract SimpleStorage{... */\n mstore(0x40, 0x80)\n /* \"SimpleStorage.sol\":644:687 People({favoritenumber: 2, name: \"Mateus\"}) */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n /* \"SimpleStorage.sol\":668:669 2 */\n 0x02\n /* \"SimpleStorage.sol\":644:687 People({favoritenumber: 2, name: \"Mateus\"}) */\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x06\n dup2\n mstore\n 0x20\n add\n 0x4d61746575730000000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n pop\n /* \"SimpleStorage.sol\":621:687 People public person = People({favoritenumber: 2, name: \"Mateus\"}) */\n 0x03\n 0x00\n dup3\n add\n mload\n dup2\n 0x00\n add\n sstore\n 0x20\n dup3\n add\n mload\n dup2\n 0x01\n add\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_1\n swap3\n swap2\n swap1\n tag_2\n jump\t// in\ntag_1:\n pop\n pop\n pop\n /* \"SimpleStorage.sol\":57:784 contract SimpleStorage{... */\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_3\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x00\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\ntag_3:\n /* \"SimpleStorage.sol\":57:784 contract SimpleStorage{... */\n pop\n jump(tag_4)\ntag_2:\n dup3\n dup1\n sload\n 0x01\n dup2\n 0x01\n and\n iszero\n 0x0100\n mul\n sub\n and\n 0x02\n swap1\n div\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x1f\n add\n 0x20\n swap1\n div\n dup2\n add\n swap3\n dup3\n 0x1f\n lt\n tag_6\n jumpi\n dup1\n mload\n not(0xff)\n and\n dup4\n dup1\n add\n or\n dup6\n sstore\n jump(tag_5)\ntag_6:\n dup3\n dup1\n add\n 0x01\n add\n dup6\n sstore\n dup3\n iszero\n tag_5\n jumpi\n swap2\n dup3\n add\ntag_7:\n dup3\n dup2\n gt\n iszero\n tag_8\n jumpi\n dup3\n mload\n dup3\n sstore\n swap2\n 0x20\n add\n swap2\n swap1\n 0x01\n add\n swap1\n jump(tag_7)\ntag_8:\ntag_5:\n pop\n swap1\n pop\n tag_9\n swap2\n swap1\n tag_10\n jump\t// in\ntag_9:\n pop\n swap1\n jump\t// out\ntag_10:\n tag_11\n swap2\n swap1\ntag_12:\n dup1\n dup3\n gt\n iszero\n tag_13\n jumpi\n 0x00\n dup2\n 0x00\n swap1\n sstore\n pop\n 0x01\n add\n jump(tag_12)\ntag_13:\n pop\n swap1\n jump\ntag_11:\n swap1\n jump\t// out\ntag_4:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"SimpleStorage.sol\":57:784 contract SimpleStorage{... */\n mstore(0x40, 0x80)\n callvalue\n /* \"--CODEGEN--\":8:17 */\n dup1\n /* \"--CODEGEN--\":5:7 */\n iszero\n tag_1\n jumpi\n /* \"--CODEGEN--\":30:31 */\n 0x00\n /* \"--CODEGEN--\":27:28 */\n dup1\n /* \"--CODEGEN--\":20:32 */\n revert\n /* \"--CODEGEN--\":5:7 */\n tag_1:\n /* \"SimpleStorage.sol\":57:784 contract SimpleStorage{... */\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x2e64cec1\n eq\n tag_3\n jumpi\n dup1\n 0x6057361d\n eq\n tag_4\n jumpi\n dup1\n 0x6f760f41\n eq\n tag_5\n jumpi\n dup1\n 0x77ec2b55\n eq\n tag_6\n jumpi\n dup1\n 0x8bab8dd5\n eq\n tag_7\n jumpi\n dup1\n 0x9e7a13ad\n eq\n tag_8\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"SimpleStorage.sol\":694:782 function retrieve () public view returns (uint256){... */\n tag_3:\n tag_9\n tag_10\n jump\t// in\n tag_9:\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"SimpleStorage.sol\":518:615 function store(uint256 _favoriteNumber) public {... */\n tag_4:\n tag_11\n 0x04\n dup1\n calldatasize\n sub\n /* \"--CODEGEN--\":13:15 */\n 0x20\n /* \"--CODEGEN--\":8:11 */\n dup2\n /* \"--CODEGEN--\":5:16 */\n lt\n /* \"--CODEGEN--\":2:4 */\n iszero\n tag_12\n jumpi\n /* \"--CODEGEN--\":29:30 */\n 0x00\n /* \"--CODEGEN--\":26:27 */\n dup1\n /* \"--CODEGEN--\":19:31 */\n revert\n /* \"--CODEGEN--\":2:4 */\n tag_12:\n /* \"SimpleStorage.sol\":518:615 function store(uint256 _favoriteNumber) public {... */\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n tag_13\n jump\t// in\n tag_11:\n stop\n /* \"SimpleStorage.sol\":325:512 function addPerson(string memory _name, uint256 _favoriteNumber) public {... */\n tag_5:\n tag_14\n 0x04\n dup1\n calldatasize\n sub\n /* \"--CODEGEN--\":13:15 */\n 0x40\n /* \"--CODEGEN--\":8:11 */\n dup2\n /* \"--CODEGEN--\":5:16 */\n lt\n /* \"--CODEGEN--\":2:4 */\n iszero\n tag_15\n jumpi\n /* \"--CODEGEN--\":29:30 */\n 0x00\n /* \"--CODEGEN--\":26:27 */\n dup1\n /* \"--CODEGEN--\":19:31 */\n revert\n /* \"--CODEGEN--\":2:4 */\n tag_15:\n /* \"SimpleStorage.sol\":325:512 function addPerson(string memory _name, uint256 _favoriteNumber) public {... */\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n /* \"--CODEGEN--\":21:32 */\n 0x0100000000\n /* \"--CODEGEN--\":8:19 */\n dup2\n /* \"--CODEGEN--\":5:33 */\n gt\n /* \"--CODEGEN--\":2:4 */\n iszero\n tag_16\n jumpi\n /* \"--CODEGEN--\":46:47 */\n 0x00\n /* \"--CODEGEN--\":43:44 */\n dup1\n /* \"--CODEGEN--\":36:48 */\n revert\n /* \"--CODEGEN--\":2:4 */\n tag_16:\n /* \"SimpleStorage.sol\":325:512 function addPerson(string memory _name, uint256 _favoriteNumber) public {... */\n dup3\n add\n /* \"--CODEGEN--\":35:44 */\n dup4\n /* \"--CODEGEN--\":28:32 */\n 0x20\n /* \"--CODEGEN--\":12:26 */\n dup3\n /* \"--CODEGEN--\":8:33 */\n add\n /* \"--CODEGEN--\":5:45 */\n gt\n /* \"--CODEGEN--\":2:4 */\n iszero\n tag_17\n jumpi\n /* \"--CODEGEN--\":58:59 */\n 0x00\n /* \"--CODEGEN--\":55:56 */\n dup1\n /* \"--CODEGEN--\":48:60 */\n revert\n /* \"--CODEGEN--\":2:4 */\n tag_17:\n /* \"SimpleStorage.sol\":325:512 function addPerson(string memory _name, uint256 _favoriteNumber) public {... */\n dup1\n calldataload\n swap1\n 0x20\n add\n swap2\n /* \"--CODEGEN--\":100:109 */\n dup5\n /* \"--CODEGEN--\":95:96 */\n 0x01\n /* \"--CODEGEN--\":81:93 */\n dup4\n /* \"--CODEGEN--\":77:97 */\n mul\n /* \"--CODEGEN--\":67:75 */\n dup5\n /* \"--CODEGEN--\":63:98 */\n add\n /* \"--CODEGEN--\":60:110 */\n gt\n /* \"--CODEGEN--\":39:50 */\n 0x0100000000\n /* \"--CODEGEN--\":25:37 */\n dup4\n /* \"--CODEGEN--\":22:51 */\n gt\n /* \"--CODEGEN--\":11:118 */\n or\n /* \"--CODEGEN--\":8:10 */\n iszero\n tag_18\n jumpi\n /* \"--CODEGEN--\":131:132 */\n 0x00\n /* \"--CODEGEN--\":128:129 */\n dup1\n /* \"--CODEGEN--\":121:133 */\n revert\n /* \"--CODEGEN--\":8:10 */\n tag_18:\n /* \"SimpleStorage.sol\":325:512 function addPerson(string memory _name, uint256 _favoriteNumber) public {... */\n swap2\n swap1\n dup1\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap4\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup4\n dup4\n /* \"--CODEGEN--\":30:33 */\n dup1\n /* \"--CODEGEN--\":22:28 */\n dup3\n /* \"--CODEGEN--\":14:20 */\n dup5\n /* \"--CODEGEN--\":1:34 */\n calldatacopy\n /* \"--CODEGEN--\":99:100 */\n 0x00\n /* \"--CODEGEN--\":93:96 */\n dup2\n /* \"--CODEGEN--\":85:91 */\n dup5\n /* \"--CODEGEN--\":81:97 */\n add\n /* \"--CODEGEN--\":74:101 */\n mstore\n /* \"--CODEGEN--\":137:141 */\n 0x1f\n /* \"--CODEGEN--\":133:142 */\n not\n /* \"--CODEGEN--\":126:130 */\n 0x1f\n /* \"--CODEGEN--\":121:124 */\n dup3\n /* \"--CODEGEN--\":117:131 */\n add\n /* \"--CODEGEN--\":113:143 */\n and\n /* \"--CODEGEN--\":106:143 */\n swap1\n pop\n /* \"--CODEGEN--\":169:172 */\n dup1\n /* \"--CODEGEN--\":161:167 */\n dup4\n /* \"--CODEGEN--\":157:173 */\n add\n /* \"--CODEGEN--\":147:173 */\n swap3\n pop\n /* \"SimpleStorage.sol\":325:512 function addPerson(string memory _name, uint256 _favoriteNumber) public {... */\n pop\n pop\n pop\n pop\n pop\n pop\n swap2\n swap3\n swap2\n swap3\n swap1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n tag_19\n jump\t// in\n tag_14:\n stop\n /* \"SimpleStorage.sol\":621:687 People public person = People({favoritenumber: 2, name: \"Mateus\"}) */\n tag_6:\n tag_20\n tag_21\n jump\t// in\n tag_20:\n mload(0x40)\n dup1\n dup4\n dup2\n mstore\n 0x20\n add\n dup1\n 0x20\n add\n dup3\n dup2\n sub\n dup3\n mstore\n dup4\n dup2\n dup2\n mload\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n dup1\n dup4\n dup4\n /* \"--CODEGEN--\":23:24 */\n 0x00\n /* \"--CODEGEN--\":8:108 */\n tag_22:\n /* \"--CODEGEN--\":33:36 */\n dup4\n /* \"--CODEGEN--\":30:31 */\n dup2\n /* \"--CODEGEN--\":27:37 */\n lt\n /* \"--CODEGEN--\":8:108 */\n iszero\n tag_24\n jumpi\n /* \"--CODEGEN--\":99:100 */\n dup1\n /* \"--CODEGEN--\":94:97 */\n dup3\n /* \"--CODEGEN--\":90:101 */\n add\n /* \"--CODEGEN--\":84:102 */\n mload\n /* \"--CODEGEN--\":80:81 */\n dup2\n /* \"--CODEGEN--\":75:78 */\n dup5\n /* \"--CODEGEN--\":71:82 */\n add\n /* \"--CODEGEN--\":64:103 */\n mstore\n /* \"--CODEGEN--\":52:54 */\n 0x20\n /* \"--CODEGEN--\":49:50 */\n dup2\n /* \"--CODEGEN--\":45:55 */\n add\n /* \"--CODEGEN--\":40:55 */\n swap1\n pop\n /* \"--CODEGEN--\":8:108 */\n jump(tag_22)\n tag_24:\n /* \"--CODEGEN--\":12:26 */\n pop\n /* \"SimpleStorage.sol\":621:687 People public person = People({favoritenumber: 2, name: \"Mateus\"}) */\n pop\n pop\n pop\n swap1\n pop\n swap1\n dup2\n add\n swap1\n 0x1f\n and\n dup1\n iszero\n tag_25\n jumpi\n dup1\n dup3\n sub\n dup1\n mload\n 0x01\n dup4\n 0x20\n sub\n 0x0100\n exp\n sub\n not\n and\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n tag_25:\n pop\n swap4\n pop\n pop\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"SimpleStorage.sol\":263:317 mapping(string => uint256) public nameToFavoriteNumber */\n tag_7:\n tag_26\n 0x04\n dup1\n calldatasize\n sub\n /* \"--CODEGEN--\":13:15 */\n 0x20\n /* \"--CODEGEN--\":8:11 */\n dup2\n /* \"--CODEGEN--\":5:16 */\n lt\n /* \"--CODEGEN--\":2:4 */\n iszero\n tag_27\n jumpi\n /* \"--CODEGEN--\":29:30 */\n 0x00\n /* \"--CODEGEN--\":26:27 */\n dup1\n /* \"--CODEGEN--\":19:31 */\n revert\n /* \"--CODEGEN--\":2:4 */\n tag_27:\n /* \"SimpleStorage.sol\":263:317 mapping(string => uint256) public nameToFavoriteNumber */\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n /* \"--CODEGEN--\":21:32 */\n 0x0100000000\n /* \"--CODEGEN--\":8:19 */\n dup2\n /* \"--CODEGEN--\":5:33 */\n gt\n /* \"--CODEGEN--\":2:4 */\n iszero\n tag_28\n jumpi\n /* \"--CODEGEN--\":46:47 */\n 0x00\n /* \"--CODEGEN--\":43:44 */\n dup1\n /* \"--CODEGEN--\":36:48 */\n revert\n /* \"--CODEGEN--\":2:4 */\n tag_28:\n /* \"SimpleStorage.sol\":263:317 mapping(string => uint256) public nameToFavoriteNumber */\n dup3\n add\n /* \"--CODEGEN--\":35:44 */\n dup4\n /* \"--CODEGEN--\":28:32 */\n 0x20\n /* \"--CODEGEN--\":12:26 */\n dup3\n /* \"--CODEGEN--\":8:33 */\n add\n /* \"--CODEGEN--\":5:45 */\n gt\n /* \"--CODEGEN--\":2:4 */\n iszero\n tag_29\n jumpi\n /* \"--CODEGEN--\":58:59 */\n 0x00\n /* \"--CODEGEN--\":55:56 */\n dup1\n /* \"--CODEGEN--\":48:60 */\n revert\n /* \"--CODEGEN--\":2:4 */\n tag_29:\n /* \"SimpleStorage.sol\":263:317 mapping(string => uint256) public nameToFavoriteNumber */\n dup1\n calldataload\n swap1\n 0x20\n add\n swap2\n /* \"--CODEGEN--\":100:109 */\n dup5\n /* \"--CODEGEN--\":95:96 */\n 0x01\n /* \"--CODEGEN--\":81:93 */\n dup4\n /* \"--CODEGEN--\":77:97 */\n mul\n /* \"--CODEGEN--\":67:75 */\n dup5\n /* \"--CODEGEN--\":63:98 */\n add\n /* \"--CODEGEN--\":60:110 */\n gt\n /* \"--CODEGEN--\":39:50 */\n 0x0100000000\n /* \"--CODEGEN--\":25:37 */\n dup4\n /* \"--CODEGEN--\":22:51 */\n gt\n /* \"--CODEGEN--\":11:118 */\n or\n /* \"--CODEGEN--\":8:10 */\n iszero\n tag_30\n jumpi\n /* \"--CODEGEN--\":131:132 */\n 0x00\n /* \"--CODEGEN--\":128:129 */\n dup1\n /* \"--CODEGEN--\":121:133 */\n revert\n /* \"--CODEGEN--\":8:10 */\n tag_30:\n /* \"SimpleStorage.sol\":263:317 mapping(string => uint256) public nameToFavoriteNumber */\n swap2\n swap1\n dup1\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap4\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup4\n dup4\n /* \"--CODEGEN--\":30:33 */\n dup1\n /* \"--CODEGEN--\":22:28 */\n dup3\n /* \"--CODEGEN--\":14:20 */\n dup5\n /* \"--CODEGEN--\":1:34 */\n calldatacopy\n /* \"--CODEGEN--\":99:100 */\n 0x00\n /* \"--CODEGEN--\":93:96 */\n dup2\n /* \"--CODEGEN--\":85:91 */\n dup5\n /* \"--CODEGEN--\":81:97 */\n add\n /* \"--CODEGEN--\":74:101 */\n mstore\n /* \"--CODEGEN--\":137:141 */\n 0x1f\n /* \"--CODEGEN--\":133:142 */\n not\n /* \"--CODEGEN--\":126:130 */\n 0x1f\n /* \"--CODEGEN--\":121:124 */\n dup3\n /* \"--CODEGEN--\":117:131 */\n add\n /* \"--CODEGEN--\":113:143 */\n and\n /* \"--CODEGEN--\":106:143 */\n swap1\n pop\n /* \"--CODEGEN--\":169:172 */\n dup1\n /* \"--CODEGEN--\":161:167 */\n dup4\n /* \"--CODEGEN--\":157:173 */\n add\n /* \"--CODEGEN--\":147:173 */\n swap3\n pop\n /* \"SimpleStorage.sol\":263:317 mapping(string => uint256) public nameToFavoriteNumber */\n pop\n pop\n pop\n pop\n pop\n pop\n swap2\n swap3\n swap2\n swap3\n swap1\n pop\n pop\n pop\n tag_31\n jump\t// in\n tag_26:\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"SimpleStorage.sol\":234:256 People[] public people */\n tag_8:\n tag_32\n 0x04\n dup1\n calldatasize\n sub\n /* \"--CODEGEN--\":13:15 */\n 0x20\n /* \"--CODEGEN--\":8:11 */\n dup2\n /* \"--CODEGEN--\":5:16 */\n lt\n /* \"--CODEGEN--\":2:4 */\n iszero\n tag_33\n jumpi\n /* \"--CODEGEN--\":29:30 */\n 0x00\n /* \"--CODEGEN--\":26:27 */\n dup1\n /* \"--CODEGEN--\":19:31 */\n revert\n /* \"--CODEGEN--\":2:4 */\n tag_33:\n /* \"SimpleStorage.sol\":234:256 People[] public people */\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n tag_34\n jump\t// in\n tag_32:\n mload(0x40)\n dup1\n dup4\n dup2\n mstore\n 0x20\n add\n dup1\n 0x20\n add\n dup3\n dup2\n sub\n dup3\n mstore\n dup4\n dup2\n dup2\n mload\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n dup1\n dup4\n dup4\n /* \"--CODEGEN--\":23:24 */\n 0x00\n /* \"--CODEGEN--\":8:108 */\n tag_35:\n /* \"--CODEGEN--\":33:36 */\n dup4\n /* \"--CODEGEN--\":30:31 */\n dup2\n /* \"--CODEGEN--\":27:37 */\n lt\n /* \"--CODEGEN--\":8:108 */\n iszero\n tag_37\n jumpi\n /* \"--CODEGEN--\":99:100 */\n dup1\n /* \"--CODEGEN--\":94:97 */\n dup3\n /* \"--CODEGEN--\":90:101 */\n add\n /* \"--CODEGEN--\":84:102 */\n mload\n /* \"--CODEGEN--\":80:81 */\n dup2\n /* \"--CODEGEN--\":75:78 */\n dup5\n /* \"--CODEGEN--\":71:82 */\n add\n /* \"--CODEGEN--\":64:103 */\n mstore\n /* \"--CODEGEN--\":52:54 */\n 0x20\n /* \"--CODEGEN--\":49:50 */\n dup2\n /* \"--CODEGEN--\":45:55 */\n add\n /* \"--CODEGEN--\":40:55 */\n swap1\n pop\n /* \"--CODEGEN--\":8:108 */\n jump(tag_35)\n tag_37:\n /* \"--CODEGEN--\":12:26 */\n pop\n /* \"SimpleStorage.sol\":234:256 People[] public people */\n pop\n pop\n pop\n swap1\n pop\n swap1\n dup2\n add\n swap1\n 0x1f\n and\n dup1\n iszero\n tag_38\n jumpi\n dup1\n dup3\n sub\n dup1\n mload\n 0x01\n dup4\n 0x20\n sub\n 0x0100\n exp\n sub\n not\n and\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n tag_38:\n pop\n swap4\n pop\n pop\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"SimpleStorage.sol\":694:782 function retrieve () public view returns (uint256){... */\n tag_10:\n /* \"SimpleStorage.sol\":736:743 uint256 */\n 0x00\n /* \"SimpleStorage.sol\":761:775 favoritenumber */\n dup1\n sload\n /* \"SimpleStorage.sol\":754:775 return favoritenumber */\n swap1\n pop\n /* \"SimpleStorage.sol\":694:782 function retrieve () public view returns (uint256){... */\n swap1\n jump\t// out\n /* \"SimpleStorage.sol\":518:615 function store(uint256 _favoriteNumber) public {... */\n tag_13:\n /* \"SimpleStorage.sol\":592:607 _favoriteNumber */\n dup1\n /* \"SimpleStorage.sol\":575:589 favoritenumber */\n 0x00\n /* \"SimpleStorage.sol\":575:607 favoritenumber = _favoriteNumber */\n dup2\n swap1\n sstore\n pop\n /* \"SimpleStorage.sol\":518:615 function store(uint256 _favoriteNumber) public {... */\n pop\n jump\t// out\n /* \"SimpleStorage.sol\":325:512 function addPerson(string memory _name, uint256 _favoriteNumber) public {... */\n tag_19:\n /* \"SimpleStorage.sol\":407:413 people */\n 0x01\n /* \"SimpleStorage.sol\":419:449 People(_favoriteNumber, _name) */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n /* \"SimpleStorage.sol\":426:441 _favoriteNumber */\n dup4\n /* \"SimpleStorage.sol\":419:449 People(_favoriteNumber, _name) */\n dup2\n mstore\n 0x20\n add\n /* \"SimpleStorage.sol\":443:448 _name */\n dup5\n /* \"SimpleStorage.sol\":419:449 People(_favoriteNumber, _name) */\n dup2\n mstore\n pop\n /* \"SimpleStorage.sol\":407:450 people.push(People(_favoriteNumber, _name)) */\n swap1\n dup1\n /* \"--CODEGEN--\":39:40 */\n 0x01\n /* \"--CODEGEN--\":33:36 */\n dup2\n /* \"--CODEGEN--\":27:37 */\n sload\n /* \"--CODEGEN--\":23:41 */\n add\n /* \"--CODEGEN--\":57:67 */\n dup1\n /* \"--CODEGEN--\":52:55 */\n dup3\n /* \"--CODEGEN--\":45:68 */\n sstore\n /* \"--CODEGEN--\":79:89 */\n dup1\n /* \"--CODEGEN--\":72:89 */\n swap2\n pop\n /* \"--CODEGEN--\":0:93 */\n pop\n /* \"SimpleStorage.sol\":407:450 people.push(People(_favoriteNumber, _name)) */\n 0x01\n swap1\n sub\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x02\n mul\n add\n 0x00\n swap1\n swap2\n swap1\n swap2\n swap1\n swap2\n pop\n 0x00\n dup3\n add\n mload\n dup2\n 0x00\n add\n sstore\n 0x20\n dup3\n add\n mload\n dup2\n 0x01\n add\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_43\n swap3\n swap2\n swap1\n tag_44\n jump\t// in\n tag_43:\n pop\n pop\n pop\n /* \"SimpleStorage.sol\":490:505 _favoriteNumber */\n dup1\n /* \"SimpleStorage.sol\":460:480 nameToFavoriteNumber */\n 0x02\n /* \"SimpleStorage.sol\":481:486 _name */\n dup4\n /* \"SimpleStorage.sol\":460:487 nameToFavoriteNumber[_name] */\n mload(0x40)\n dup1\n dup3\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n dup1\n dup4\n dup4\n /* \"--CODEGEN--\":36:189 */\n tag_45:\n /* \"--CODEGEN--\":66:68 */\n 0x20\n /* \"--CODEGEN--\":61:64 */\n dup4\n /* \"--CODEGEN--\":58:69 */\n lt\n /* \"--CODEGEN--\":36:189 */\n tag_47\n jumpi\n /* \"--CODEGEN--\":182:185 */\n dup1\n /* \"--CODEGEN--\":176:186 */\n mload\n /* \"--CODEGEN--\":171:174 */\n dup3\n /* \"--CODEGEN--\":164:187 */\n mstore\n /* \"--CODEGEN--\":98:100 */\n 0x20\n /* \"--CODEGEN--\":93:96 */\n dup3\n /* \"--CODEGEN--\":89:101 */\n add\n /* \"--CODEGEN--\":82:101 */\n swap2\n pop\n /* \"--CODEGEN--\":123:125 */\n 0x20\n /* \"--CODEGEN--\":118:121 */\n dup2\n /* \"--CODEGEN--\":114:126 */\n add\n /* \"--CODEGEN--\":107:126 */\n swap1\n pop\n /* \"--CODEGEN--\":148:150 */\n 0x20\n /* \"--CODEGEN--\":143:146 */\n dup4\n /* \"--CODEGEN--\":139:151 */\n sub\n /* \"--CODEGEN--\":132:151 */\n swap3\n pop\n /* \"--CODEGEN--\":36:189 */\n jump(tag_45)\n tag_47:\n /* \"--CODEGEN--\":274:275 */\n 0x01\n /* \"--CODEGEN--\":267:270 */\n dup4\n /* \"--CODEGEN--\":263:265 */\n 0x20\n /* \"--CODEGEN--\":259:271 */\n sub\n /* \"--CODEGEN--\":254:257 */\n 0x0100\n /* \"--CODEGEN--\":250:272 */\n exp\n /* \"--CODEGEN--\":246:276 */\n sub\n /* \"--CODEGEN--\":315:319 */\n dup1\n /* \"--CODEGEN--\":311:320 */\n not\n /* \"--CODEGEN--\":305:308 */\n dup3\n /* \"--CODEGEN--\":299:309 */\n mload\n /* \"--CODEGEN--\":295:321 */\n and\n /* \"--CODEGEN--\":356:360 */\n dup2\n /* \"--CODEGEN--\":350:353 */\n dup5\n /* \"--CODEGEN--\":344:354 */\n mload\n /* \"--CODEGEN--\":340:361 */\n and\n /* \"--CODEGEN--\":389:396 */\n dup1\n /* \"--CODEGEN--\":380:387 */\n dup3\n /* \"--CODEGEN--\":377:397 */\n or\n /* \"--CODEGEN--\":372:375 */\n dup6\n /* \"--CODEGEN--\":365:398 */\n mstore\n /* \"--CODEGEN--\":3:402 */\n pop\n pop\n pop\n /* \"SimpleStorage.sol\":460:487 nameToFavoriteNumber[_name] */\n pop\n pop\n pop\n swap1\n pop\n add\n swap2\n pop\n pop\n swap1\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n keccak256\n /* \"SimpleStorage.sol\":460:505 nameToFavoriteNumber[_name] = _favoriteNumber */\n dup2\n swap1\n sstore\n pop\n /* \"SimpleStorage.sol\":325:512 function addPerson(string memory _name, uint256 _favoriteNumber) public {... */\n pop\n pop\n jump\t// out\n /* \"SimpleStorage.sol\":621:687 People public person = People({favoritenumber: 2, name: \"Mateus\"}) */\n tag_21:\n 0x03\n dup1\n 0x00\n add\n sload\n swap1\n dup1\n 0x01\n add\n dup1\n sload\n 0x01\n dup2\n 0x01\n and\n iszero\n 0x0100\n mul\n sub\n and\n 0x02\n swap1\n div\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n 0x01\n dup2\n 0x01\n and\n iszero\n 0x0100\n mul\n sub\n and\n 0x02\n swap1\n div\n dup1\n iszero\n tag_48\n jumpi\n dup1\n 0x1f\n lt\n tag_49\n jumpi\n 0x0100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_48)\n tag_49:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_50:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x01\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_50\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_48:\n pop\n pop\n pop\n pop\n pop\n swap1\n pop\n dup3\n jump\t// out\n /* \"SimpleStorage.sol\":263:317 mapping(string => uint256) public nameToFavoriteNumber */\n tag_31:\n 0x02\n dup2\n /* \"--CODEGEN--\":28:35 */\n dup1\n /* \"--CODEGEN--\":22:36 */\n mload\n /* \"--CODEGEN--\":169:173 */\n 0x20\n /* \"--CODEGEN--\":160:167 */\n dup2\n /* \"--CODEGEN--\":156:174 */\n add\n /* \"--CODEGEN--\":147:154 */\n dup3\n /* \"--CODEGEN--\":143:175 */\n add\n /* \"--CODEGEN--\":204:217 */\n dup1\n /* \"--CODEGEN--\":198:218 */\n mload\n /* \"--CODEGEN--\":246:254 */\n dup5\n /* \"--CODEGEN--\":231:244 */\n dup3\n /* \"--CODEGEN--\":224:255 */\n mstore\n /* \"--CODEGEN--\":316:320 */\n 0x20\n /* \"--CODEGEN--\":307:314 */\n dup4\n /* \"--CODEGEN--\":303:321 */\n add\n /* \"--CODEGEN--\":296:300 */\n 0x20\n /* \"--CODEGEN--\":287:294 */\n dup6\n /* \"--CODEGEN--\":283:301 */\n add\n /* \"--CODEGEN--\":273:322 */\n keccak256\n /* \"--CODEGEN--\":350:359 */\n dup2\n /* \"--CODEGEN--\":335:348 */\n dup4\n /* \"--CODEGEN--\":328:360 */\n mstore\n /* \"--CODEGEN--\":378:382 */\n dup1\n /* \"--CODEGEN--\":366:382 */\n swap6\n pop\n /* \"--CODEGEN--\":0:388 */\n pop\n pop\n pop\n pop\n /* \"SimpleStorage.sol\":263:317 mapping(string => uint256) public nameToFavoriteNumber */\n pop\n 0x00\n swap2\n pop\n swap1\n pop\n sload\n dup2\n jump\t// out\n /* \"SimpleStorage.sol\":234:256 People[] public people */\n tag_34:\n 0x01\n dup2\n dup2\n sload\n dup2\n lt\n tag_51\n jumpi\n invalid\n tag_51:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x02\n mul\n add\n 0x00\n swap2\n pop\n swap1\n pop\n dup1\n 0x00\n add\n sload\n swap1\n dup1\n 0x01\n add\n dup1\n sload\n 0x01\n dup2\n 0x01\n and\n iszero\n 0x0100\n mul\n sub\n and\n 0x02\n swap1\n div\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n 0x01\n dup2\n 0x01\n and\n iszero\n 0x0100\n mul\n sub\n and\n 0x02\n swap1\n div\n dup1\n iszero\n tag_53\n jumpi\n dup1\n 0x1f\n lt\n tag_54\n jumpi\n 0x0100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_53)\n tag_54:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_55:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x01\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_55\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_53:\n pop\n pop\n pop\n pop\n pop\n swap1\n pop\n dup3\n jump\t// out\n /* \"SimpleStorage.sol\":57:784 contract SimpleStorage{... */\n tag_44:\n dup3\n dup1\n sload\n 0x01\n dup2\n 0x01\n and\n iszero\n 0x0100\n mul\n sub\n and\n 0x02\n swap1\n div\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x1f\n add\n 0x20\n swap1\n div\n dup2\n add\n swap3\n dup3\n 0x1f\n lt\n tag_57\n jumpi\n dup1\n mload\n not(0xff)\n and\n dup4\n dup1\n add\n or\n dup6\n sstore\n jump(tag_56)\n tag_57:\n dup3\n dup1\n add\n 0x01\n add\n dup6\n sstore\n dup3\n iszero\n tag_56\n jumpi\n swap2\n dup3\n add\n tag_58:\n dup3\n dup2\n gt\n iszero\n tag_59\n jumpi\n dup3\n mload\n dup3\n sstore\n swap2\n 0x20\n add\n swap2\n swap1\n 0x01\n add\n swap1\n jump(tag_58)\n tag_59:\n tag_56:\n pop\n swap1\n pop\n tag_60\n swap2\n swap1\n tag_61\n jump\t// in\n tag_60:\n pop\n swap1\n jump\t// out\n tag_61:\n tag_62\n swap2\n swap1\n tag_63:\n dup1\n dup3\n gt\n iszero\n tag_64\n jumpi\n 0x00\n dup2\n 0x00\n swap1\n sstore\n pop\n 0x01\n add\n jump(tag_63)\n tag_64:\n pop\n swap1\n jump\n tag_62:\n swap1\n jump\t// out\n\n auxdata: 0xa2646970667358221220687543871b7a2c5948c768c715fe21936c8c3eb85a63a48a5791ea6db61085e364736f6c63430006000033\n}\n",
"bytecode": {
"linkReferences": {},
"object": "60806040526040518060400160405280600281526020016040518060400160405280600681526020017f4d61746575730000000000000000000000000000000000000000000000000000815250815250600360008201518160000155602082015181600101908051906020019061007792919061008c565b50505034801561008657600080fd5b50610131565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100cd57805160ff19168380011785556100fb565b828001600101855582156100fb579182015b828111156100fa5782518255916020019190600101906100df565b5b509050610108919061010c565b5090565b61012e91905b8082111561012a576000816000905550600101610112565b5090565b90565b6106e9806101406000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80632e64cec1146100675780636057361d146100855780636f760f41146100b357806377ec2b55146101785780638bab8dd5146102025780639e7a13ad146102d1575b600080fd5b61006f61037f565b6040518082815260200191505060405180910390f35b6100b16004803603602081101561009b57600080fd5b8101908080359060200190929190505050610388565b005b610176600480360360408110156100c957600080fd5b81019080803590602001906401000000008111156100e657600080fd5b8201836020820111156100f857600080fd5b8035906020019184600183028401116401000000008311171561011a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610392565b005b61018061046d565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156101c65780820151818401526020810190506101ab565b50505050905090810190601f1680156101f35780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6102bb6004803603602081101561021857600080fd5b810190808035906020019064010000000081111561023557600080fd5b82018360208201111561024757600080fd5b8035906020019184600183028401116401000000008311171561026957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610517565b6040518082815260200191505060405180910390f35b6102fd600480360360208110156102e757600080fd5b8101908080359060200190929190505050610545565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610343578082015181840152602081019050610328565b50505050905090810190601f1680156103705780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b60008054905090565b8060008190555050565b600160405180604001604052808381526020018481525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010190805190602001906103f892919061060e565b505050806002836040518082805190602001908083835b60208310610432578051825260208201915060208101905060208303925061040f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055505050565b6003806000015490806001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561050d5780601f106104e25761010080835404028352916020019161050d565b820191906000526020600020905b8154815290600101906020018083116104f057829003601f168201915b5050505050905082565b6002818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b6001818154811061055257fe5b9060005260206000209060020201600091509050806000015490806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106045780601f106105d957610100808354040283529160200191610604565b820191906000526020600020905b8154815290600101906020018083116105e757829003601f168201915b5050505050905082565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061064f57805160ff191683800117855561067d565b8280016001018555821561067d579182015b8281111561067c578251825591602001919060010190610661565b5b50905061068a919061068e565b5090565b6106b091905b808211156106ac576000816000905550600101610694565b5090565b9056fea2646970667358221220687543871b7a2c5948c768c715fe21936c8c3eb85a63a48a5791ea6db61085e364736f6c63430006000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4D61746575730000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE POP PUSH1 0x3 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x77 SWAP3 SWAP2 SWAP1 PUSH2 0x8C JUMP JUMPDEST POP POP POP CALLVALUE DUP1 ISZERO PUSH2 0x86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x131 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0xCD JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xFB JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xFB JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xFA JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xDF JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x108 SWAP2 SWAP1 PUSH2 0x10C JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x12E SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x12A JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x112 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x6E9 DUP1 PUSH2 0x140 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 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E64CEC1 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x6F760F41 EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0x77EC2B55 EQ PUSH2 0x178 JUMPI DUP1 PUSH4 0x8BAB8DD5 EQ PUSH2 0x202 JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0x2D1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x37F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x388 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x176 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0xE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0xF8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x11A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x392 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x180 PUSH2 0x46D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1C6 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1AB JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x1F3 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2BB PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x235 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x269 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 POP POP POP PUSH2 0x517 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2FD PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x545 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x343 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x328 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x370 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x3F8 SWAP3 SWAP2 SWAP1 PUSH2 0x60E JUMP JUMPDEST POP POP POP DUP1 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x432 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH1 0x20 DUP4 SUB SWAP3 POP PUSH2 0x40F JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x3 DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x50D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4E2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x50D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4F0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x552 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x604 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5D9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x604 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5E7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x64F JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x67D JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x67D JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x67C JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x661 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x68A SWAP2 SWAP1 PUSH2 0x68E JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x6B0 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x6AC JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x694 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH9 0x7543871B7A2C5948C7 PUSH9 0xC715FE21936C8C3EB8 GAS PUSH4 0xA48A5791 0xEA PUSH14 0xB61085E364736F6C634300060000 CALLER ",
"sourceMap": "57:727:0:-:0;;;644:43;;;;;;;;668:1;644:43;;;;;;;;;;;;;;;;;;;;;;;;621:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;57:727;8:9:-1;5:2;;;30:1;27;20:12;5:2;57:727:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;"
},
"deployedBytecode": {
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100625760003560e01c80632e64cec1146100675780636057361d146100855780636f760f41146100b357806377ec2b55146101785780638bab8dd5146102025780639e7a13ad146102d1575b600080fd5b61006f61037f565b6040518082815260200191505060405180910390f35b6100b16004803603602081101561009b57600080fd5b8101908080359060200190929190505050610388565b005b610176600480360360408110156100c957600080fd5b81019080803590602001906401000000008111156100e657600080fd5b8201836020820111156100f857600080fd5b8035906020019184600183028401116401000000008311171561011a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610392565b005b61018061046d565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156101c65780820151818401526020810190506101ab565b50505050905090810190601f1680156101f35780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6102bb6004803603602081101561021857600080fd5b810190808035906020019064010000000081111561023557600080fd5b82018360208201111561024757600080fd5b8035906020019184600183028401116401000000008311171561026957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610517565b6040518082815260200191505060405180910390f35b6102fd600480360360208110156102e757600080fd5b8101908080359060200190929190505050610545565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610343578082015181840152602081019050610328565b50505050905090810190601f1680156103705780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b60008054905090565b8060008190555050565b600160405180604001604052808381526020018481525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010190805190602001906103f892919061060e565b505050806002836040518082805190602001908083835b60208310610432578051825260208201915060208101905060208303925061040f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055505050565b6003806000015490806001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561050d5780601f106104e25761010080835404028352916020019161050d565b820191906000526020600020905b8154815290600101906020018083116104f057829003601f168201915b5050505050905082565b6002818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b6001818154811061055257fe5b9060005260206000209060020201600091509050806000015490806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106045780601f106105d957610100808354040283529160200191610604565b820191906000526020600020905b8154815290600101906020018083116105e757829003601f168201915b5050505050905082565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061064f57805160ff191683800117855561067d565b8280016001018555821561067d579182015b8281111561067c578251825591602001919060010190610661565b5b50905061068a919061068e565b5090565b6106b091905b808211156106ac576000816000905550600101610694565b5090565b9056fea2646970667358221220687543871b7a2c5948c768c715fe21936c8c3eb85a63a48a5791ea6db61085e364736f6c63430006000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E64CEC1 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x6F760F41 EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0x77EC2B55 EQ PUSH2 0x178 JUMPI DUP1 PUSH4 0x8BAB8DD5 EQ PUSH2 0x202 JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0x2D1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x37F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x388 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x176 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0xE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0xF8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x11A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x392 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x180 PUSH2 0x46D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1C6 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1AB JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x1F3 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2BB PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x235 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x269 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 POP POP POP PUSH2 0x517 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2FD PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x545 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x343 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x328 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x370 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x3F8 SWAP3 SWAP2 SWAP1 PUSH2 0x60E JUMP JUMPDEST POP POP POP DUP1 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x432 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH1 0x20 DUP4 SUB SWAP3 POP PUSH2 0x40F JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x3 DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x50D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4E2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x50D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4F0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x552 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x604 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5D9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x604 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5E7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x64F JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x67D JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x67D JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x67C JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x661 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x68A SWAP2 SWAP1 PUSH2 0x68E JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x6B0 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x6AC JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x694 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH9 0x7543871B7A2C5948C7 PUSH9 0xC715FE21936C8C3EB8 GAS PUSH4 0xA48A5791 0xEA PUSH14 0xB61085E364736F6C634300060000 CALLER ",
"sourceMap": "57:727:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;57:727:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;694:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;518:97;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;518:97:0;;;;;;;;;;;;;;;;;:::i;:::-;;325:187;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;325:187:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;325:187:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;325:187:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;325:187:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;325:187:0;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;621:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;621:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;263:54;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;263:54:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;263:54:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;263:54:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;263:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;263:54:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;234:22;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;234:22:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;234:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;694:88;736:7;761:14;;754:21;;694:88;:::o;518:97::-;592:15;575:14;:32;;;;518:97;:::o;325:187::-;407:6;419:30;;;;;;;;426:15;419:30;;;;443:5;419:30;;;407:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;407:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;490:15;460:20;481:5;460:27;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;460:27:0;;;;;;;;;;;;;;;;;;;;;:45;;;;325:187;;:::o;621:66::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;263:54::-;;;28:7:-1;22:14;169:4;160:7;156:18;147:7;143:32;204:13;198:20;246:8;231:13;224:31;316:4;307:7;303:18;296:4;287:7;283:18;273:49;350:9;335:13;328:32;378:4;366:16;;0:388;;;;263:54:0;;;;;;;;:::o;234:22::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;57:727::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "353800",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"addPerson(string,uint256)": "infinite",
"nameToFavoriteNumber(string)": "infinite",
"people(uint256)": "infinite",
"person()": "infinite",
"retrieve()": "991",
"store(uint256)": "20242"
}
},
"legacyAssembly": {
".code": [
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "80"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "40"
},
{
"begin": 57,
"end": 784,
"name": "MSTORE"
},
{
"begin": 644,
"end": 687,
"name": "PUSH",
"value": "40"
},
{
"begin": 644,
"end": 687,
"name": "MLOAD"
},
{
"begin": 644,
"end": 687,
"name": "DUP1"
},
{
"begin": 644,
"end": 687,
"name": "PUSH",
"value": "40"
},
{
"begin": 644,
"end": 687,
"name": "ADD"
},
{
"begin": 644,
"end": 687,
"name": "PUSH",
"value": "40"
},
{
"begin": 644,
"end": 687,
"name": "MSTORE"
},
{
"begin": 644,
"end": 687,
"name": "DUP1"
},
{
"begin": 668,
"end": 669,
"name": "PUSH",
"value": "2"
},
{
"begin": 644,
"end": 687,
"name": "DUP2"
},
{
"begin": 644,
"end": 687,
"name": "MSTORE"
},
{
"begin": 644,
"end": 687,
"name": "PUSH",
"value": "20"
},
{
"begin": 644,
"end": 687,
"name": "ADD"
},
{
"begin": 644,
"end": 687,
"name": "PUSH",
"value": "40"
},
{
"begin": 644,
"end": 687,
"name": "MLOAD"
},
{
"begin": 644,
"end": 687,
"name": "DUP1"
},
{
"begin": 644,
"end": 687,
"name": "PUSH",
"value": "40"
},
{
"begin": 644,
"end": 687,
"name": "ADD"
},
{
"begin": 644,
"end": 687,
"name": "PUSH",
"value": "40"
},
{
"begin": 644,
"end": 687,
"name": "MSTORE"
},
{
"begin": 644,
"end": 687,
"name": "DUP1"
},
{
"begin": 644,
"end": 687,
"name": "PUSH",
"value": "6"
},
{
"begin": 644,
"end": 687,
"name": "DUP2"
},
{
"begin": 644,
"end": 687,
"name": "MSTORE"
},
{
"begin": 644,
"end": 687,
"name": "PUSH",
"value": "20"
},
{
"begin": 644,
"end": 687,
"name": "ADD"
},
{
"begin": 644,
"end": 687,
"name": "PUSH",
"value": "4D61746575730000000000000000000000000000000000000000000000000000"
},
{
"begin": 644,
"end": 687,
"name": "DUP2"
},
{
"begin": 644,
"end": 687,
"name": "MSTORE"
},
{
"begin": 644,
"end": 687,
"name": "POP"
},
{
"begin": 644,
"end": 687,
"name": "DUP2"
},
{
"begin": 644,
"end": 687,
"name": "MSTORE"
},
{
"begin": 644,
"end": 687,
"name": "POP"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "3"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "0"
},
{
"begin": 621,
"end": 687,
"name": "DUP3"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "MLOAD"
},
{
"begin": 621,
"end": 687,
"name": "DUP2"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "0"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "SSTORE"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "20"
},
{
"begin": 621,
"end": 687,
"name": "DUP3"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "MLOAD"
},
{
"begin": 621,
"end": 687,
"name": "DUP2"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "1"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "SWAP1"
},
{
"begin": 621,
"end": 687,
"name": "DUP1"
},
{
"begin": 621,
"end": 687,
"name": "MLOAD"
},
{
"begin": 621,
"end": 687,
"name": "SWAP1"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "20"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "SWAP1"
},
{
"begin": 621,
"end": 687,
"name": "PUSH [tag]",
"value": "1"
},
{
"begin": 621,
"end": 687,
"name": "SWAP3"
},
{
"begin": 621,
"end": 687,
"name": "SWAP2"
},
{
"begin": 621,
"end": 687,
"name": "SWAP1"
},
{
"begin": 621,
"end": 687,
"name": "PUSH [tag]",
"value": "2"
},
{
"begin": 621,
"end": 687,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 621,
"end": 687,
"name": "tag",
"value": "1"
},
{
"begin": 621,
"end": 687,
"name": "JUMPDEST"
},
{
"begin": 621,
"end": 687,
"name": "POP"
},
{
"begin": 621,
"end": 687,
"name": "POP"
},
{
"begin": 621,
"end": 687,
"name": "POP"
},
{
"begin": 57,
"end": 784,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "3"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "3"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "POP"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "4"
},
{
"begin": 57,
"end": 784,
"name": "JUMP"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "2"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "DUP3"
},
{
"begin": 57,
"end": 784,
"name": "DUP1"
},
{
"begin": 57,
"end": 784,
"name": "SLOAD"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "1"
},
{
"begin": 57,
"end": 784,
"name": "DUP2"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "1"
},
{
"begin": 57,
"end": 784,
"name": "AND"
},
{
"begin": 57,
"end": 784,
"name": "ISZERO"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "100"
},
{
"begin": 57,
"end": 784,
"name": "MUL"
},
{
"begin": 57,
"end": 784,
"name": "SUB"
},
{
"begin": 57,
"end": 784,
"name": "AND"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "2"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "DIV"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "0"
},
{
"begin": 57,
"end": 784,
"name": "MSTORE"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "20"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "0"
},
{
"begin": 57,
"end": 784,
"name": "KECCAK256"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "1F"
},
{
"begin": 57,
"end": 784,
"name": "ADD"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "20"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "DIV"
},
{
"begin": 57,
"end": 784,
"name": "DUP2"
},
{
"begin": 57,
"end": 784,
"name": "ADD"
},
{
"begin": 57,
"end": 784,
"name": "SWAP3"
},
{
"begin": 57,
"end": 784,
"name": "DUP3"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "1F"
},
{
"begin": 57,
"end": 784,
"name": "LT"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "6"
},
{
"begin": 57,
"end": 784,
"name": "JUMPI"
},
{
"begin": 57,
"end": 784,
"name": "DUP1"
},
{
"begin": 57,
"end": 784,
"name": "MLOAD"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "FF"
},
{
"begin": 57,
"end": 784,
"name": "NOT"
},
{
"begin": 57,
"end": 784,
"name": "AND"
},
{
"begin": 57,
"end": 784,
"name": "DUP4"
},
{
"begin": 57,
"end": 784,
"name": "DUP1"
},
{
"begin": 57,
"end": 784,
"name": "ADD"
},
{
"begin": 57,
"end": 784,
"name": "OR"
},
{
"begin": 57,
"end": 784,
"name": "DUP6"
},
{
"begin": 57,
"end": 784,
"name": "SSTORE"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "5"
},
{
"begin": 57,
"end": 784,
"name": "JUMP"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "6"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "DUP3"
},
{
"begin": 57,
"end": 784,
"name": "DUP1"
},
{
"begin": 57,
"end": 784,
"name": "ADD"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "1"
},
{
"begin": 57,
"end": 784,
"name": "ADD"
},
{
"begin": 57,
"end": 784,
"name": "DUP6"
},
{
"begin": 57,
"end": 784,
"name": "SSTORE"
},
{
"begin": 57,
"end": 784,
"name": "DUP3"
},
{
"begin": 57,
"end": 784,
"name": "ISZERO"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "5"
},
{
"begin": 57,
"end": 784,
"name": "JUMPI"
},
{
"begin": 57,
"end": 784,
"name": "SWAP2"
},
{
"begin": 57,
"end": 784,
"name": "DUP3"
},
{
"begin": 57,
"end": 784,
"name": "ADD"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "7"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "DUP3"
},
{
"begin": 57,
"end": 784,
"name": "DUP2"
},
{
"begin": 57,
"end": 784,
"name": "GT"
},
{
"begin": 57,
"end": 784,
"name": "ISZERO"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "8"
},
{
"begin": 57,
"end": 784,
"name": "JUMPI"
},
{
"begin": 57,
"end": 784,
"name": "DUP3"
},
{
"begin": 57,
"end": 784,
"name": "MLOAD"
},
{
"begin": 57,
"end": 784,
"name": "DUP3"
},
{
"begin": 57,
"end": 784,
"name": "SSTORE"
},
{
"begin": 57,
"end": 784,
"name": "SWAP2"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "20"
},
{
"begin": 57,
"end": 784,
"name": "ADD"
},
{
"begin": 57,
"end": 784,
"name": "SWAP2"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "1"
},
{
"begin": 57,
"end": 784,
"name": "ADD"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "7"
},
{
"begin": 57,
"end": 784,
"name": "JUMP"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "8"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "5"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "POP"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "POP"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "9"
},
{
"begin": 57,
"end": 784,
"name": "SWAP2"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "10"
},
{
"begin": 57,
"end": 784,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "9"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "POP"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "10"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "11"
},
{
"begin": 57,
"end": 784,
"name": "SWAP2"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "12"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "DUP1"
},
{
"begin": 57,
"end": 784,
"name": "DUP3"
},
{
"begin": 57,
"end": 784,
"name": "GT"
},
{
"begin": 57,
"end": 784,
"name": "ISZERO"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "13"
},
{
"begin": 57,
"end": 784,
"name": "JUMPI"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "0"
},
{
"begin": 57,
"end": 784,
"name": "DUP2"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "0"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "SSTORE"
},
{
"begin": 57,
"end": 784,
"name": "POP"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "1"
},
{
"begin": 57,
"end": 784,
"name": "ADD"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "12"
},
{
"begin": 57,
"end": 784,
"name": "JUMP"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "13"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "POP"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "JUMP"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "11"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "4"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "PUSH #[$]",
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 57,
"end": 784,
"name": "DUP1"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [$]",
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "0"
},
{
"begin": 57,
"end": 784,
"name": "CODECOPY"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "0"
},
{
"begin": 57,
"end": 784,
"name": "RETURN"
}
],
".data": {
"0": {
".auxdata": "a2646970667358221220687543871b7a2c5948c768c715fe21936c8c3eb85a63a48a5791ea6db61085e364736f6c63430006000033",
".code": [
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "80"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "40"
},
{
"begin": 57,
"end": 784,
"name": "MSTORE"
},
{
"begin": 57,
"end": 784,
"name": "CALLVALUE"
},
{
"begin": 8,
"end": 17,
"name": "DUP1"
},
{
"begin": 5,
"end": 7,
"name": "ISZERO"
},
{
"begin": 5,
"end": 7,
"name": "PUSH [tag]",
"value": "1"
},
{
"begin": 5,
"end": 7,
"name": "JUMPI"
},
{
"begin": 30,
"end": 31,
"name": "PUSH",
"value": "0"
},
{
"begin": 27,
"end": 28,
"name": "DUP1"
},
{
"begin": 20,
"end": 32,
"name": "REVERT"
},
{
"begin": 5,
"end": 7,
"name": "tag",
"value": "1"
},
{
"begin": 5,
"end": 7,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "POP"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "4"
},
{
"begin": 57,
"end": 784,
"name": "CALLDATASIZE"
},
{
"begin": 57,
"end": 784,
"name": "LT"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "2"
},
{
"begin": 57,
"end": 784,
"name": "JUMPI"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "0"
},
{
"begin": 57,
"end": 784,
"name": "CALLDATALOAD"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "E0"
},
{
"begin": 57,
"end": 784,
"name": "SHR"
},
{
"begin": 57,
"end": 784,
"name": "DUP1"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "2E64CEC1"
},
{
"begin": 57,
"end": 784,
"name": "EQ"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "3"
},
{
"begin": 57,
"end": 784,
"name": "JUMPI"
},
{
"begin": 57,
"end": 784,
"name": "DUP1"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "6057361D"
},
{
"begin": 57,
"end": 784,
"name": "EQ"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "4"
},
{
"begin": 57,
"end": 784,
"name": "JUMPI"
},
{
"begin": 57,
"end": 784,
"name": "DUP1"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "6F760F41"
},
{
"begin": 57,
"end": 784,
"name": "EQ"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "5"
},
{
"begin": 57,
"end": 784,
"name": "JUMPI"
},
{
"begin": 57,
"end": 784,
"name": "DUP1"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "77EC2B55"
},
{
"begin": 57,
"end": 784,
"name": "EQ"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "6"
},
{
"begin": 57,
"end": 784,
"name": "JUMPI"
},
{
"begin": 57,
"end": 784,
"name": "DUP1"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "8BAB8DD5"
},
{
"begin": 57,
"end": 784,
"name": "EQ"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "7"
},
{
"begin": 57,
"end": 784,
"name": "JUMPI"
},
{
"begin": 57,
"end": 784,
"name": "DUP1"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "9E7A13AD"
},
{
"begin": 57,
"end": 784,
"name": "EQ"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "8"
},
{
"begin": 57,
"end": 784,
"name": "JUMPI"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "2"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "0"
},
{
"begin": 57,
"end": 784,
"name": "DUP1"
},
{
"begin": 57,
"end": 784,
"name": "REVERT"
},
{
"begin": 694,
"end": 782,
"name": "tag",
"value": "3"
},
{
"begin": 694,
"end": 782,
"name": "JUMPDEST"
},
{
"begin": 694,
"end": 782,
"name": "PUSH [tag]",
"value": "9"
},
{
"begin": 694,
"end": 782,
"name": "PUSH [tag]",
"value": "10"
},
{
"begin": 694,
"end": 782,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 694,
"end": 782,
"name": "tag",
"value": "9"
},
{
"begin": 694,
"end": 782,
"name": "JUMPDEST"
},
{
"begin": 694,
"end": 782,
"name": "PUSH",
"value": "40"
},
{
"begin": 694,
"end": 782,
"name": "MLOAD"
},
{
"begin": 694,
"end": 782,
"name": "DUP1"
},
{
"begin": 694,
"end": 782,
"name": "DUP3"
},
{
"begin": 694,
"end": 782,
"name": "DUP2"
},
{
"begin": 694,
"end": 782,
"name": "MSTORE"
},
{
"begin": 694,
"end": 782,
"name": "PUSH",
"value": "20"
},
{
"begin": 694,
"end": 782,
"name": "ADD"
},
{
"begin": 694,
"end": 782,
"name": "SWAP2"
},
{
"begin": 694,
"end": 782,
"name": "POP"
},
{
"begin": 694,
"end": 782,
"name": "POP"
},
{
"begin": 694,
"end": 782,
"name": "PUSH",
"value": "40"
},
{
"begin": 694,
"end": 782,
"name": "MLOAD"
},
{
"begin": 694,
"end": 782,
"name": "DUP1"
},
{
"begin": 694,
"end": 782,
"name": "SWAP2"
},
{
"begin": 694,
"end": 782,
"name": "SUB"
},
{
"begin": 694,
"end": 782,
"name": "SWAP1"
},
{
"begin": 694,
"end": 782,
"name": "RETURN"
},
{
"begin": 518,
"end": 615,
"name": "tag",
"value": "4"
},
{
"begin": 518,
"end": 615,
"name": "JUMPDEST"
},
{
"begin": 518,
"end": 615,
"name": "PUSH [tag]",
"value": "11"
},
{
"begin": 518,
"end": 615,
"name": "PUSH",
"value": "4"
},
{
"begin": 518,
"end": 615,
"name": "DUP1"
},
{
"begin": 518,
"end": 615,
"name": "CALLDATASIZE"
},
{
"begin": 518,
"end": 615,
"name": "SUB"
},
{
"begin": 13,
"end": 15,
"name": "PUSH",
"value": "20"
},
{
"begin": 8,
"end": 11,
"name": "DUP2"
},
{
"begin": 5,
"end": 16,
"name": "LT"
},
{
"begin": 2,
"end": 4,
"name": "ISZERO"
},
{
"begin": 2,
"end": 4,
"name": "PUSH [tag]",
"value": "12"
},
{
"begin": 2,
"end": 4,
"name": "JUMPI"
},
{
"begin": 29,
"end": 30,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 27,
"name": "DUP1"
},
{
"begin": 19,
"end": 31,
"name": "REVERT"
},
{
"begin": 2,
"end": 4,
"name": "tag",
"value": "12"
},
{
"begin": 2,
"end": 4,
"name": "JUMPDEST"
},
{
"begin": 518,
"end": 615,
"name": "DUP2"
},
{
"begin": 518,
"end": 615,
"name": "ADD"
},
{
"begin": 518,
"end": 615,
"name": "SWAP1"
},
{
"begin": 518,
"end": 615,
"name": "DUP1"
},
{
"begin": 518,
"end": 615,
"name": "DUP1"
},
{
"begin": 518,
"end": 615,
"name": "CALLDATALOAD"
},
{
"begin": 518,
"end": 615,
"name": "SWAP1"
},
{
"begin": 518,
"end": 615,
"name": "PUSH",
"value": "20"
},
{
"begin": 518,
"end": 615,
"name": "ADD"
},
{
"begin": 518,
"end": 615,
"name": "SWAP1"
},
{
"begin": 518,
"end": 615,
"name": "SWAP3"
},
{
"begin": 518,
"end": 615,
"name": "SWAP2"
},
{
"begin": 518,
"end": 615,
"name": "SWAP1"
},
{
"begin": 518,
"end": 615,
"name": "POP"
},
{
"begin": 518,
"end": 615,
"name": "POP"
},
{
"begin": 518,
"end": 615,
"name": "POP"
},
{
"begin": 518,
"end": 615,
"name": "PUSH [tag]",
"value": "13"
},
{
"begin": 518,
"end": 615,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 518,
"end": 615,
"name": "tag",
"value": "11"
},
{
"begin": 518,
"end": 615,
"name": "JUMPDEST"
},
{
"begin": 518,
"end": 615,
"name": "STOP"
},
{
"begin": 325,
"end": 512,
"name": "tag",
"value": "5"
},
{
"begin": 325,
"end": 512,
"name": "JUMPDEST"
},
{
"begin": 325,
"end": 512,
"name": "PUSH [tag]",
"value": "14"
},
{
"begin": 325,
"end": 512,
"name": "PUSH",
"value": "4"
},
{
"begin": 325,
"end": 512,
"name": "DUP1"
},
{
"begin": 325,
"end": 512,
"name": "CALLDATASIZE"
},
{
"begin": 325,
"end": 512,
"name": "SUB"
},
{
"begin": 13,
"end": 15,
"name": "PUSH",
"value": "40"
},
{
"begin": 8,
"end": 11,
"name": "DUP2"
},
{
"begin": 5,
"end": 16,
"name": "LT"
},
{
"begin": 2,
"end": 4,
"name": "ISZERO"
},
{
"begin": 2,
"end": 4,
"name": "PUSH [tag]",
"value": "15"
},
{
"begin": 2,
"end": 4,
"name": "JUMPI"
},
{
"begin": 29,
"end": 30,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 27,
"name": "DUP1"
},
{
"begin": 19,
"end": 31,
"name": "REVERT"
},
{
"begin": 2,
"end": 4,
"name": "tag",
"value": "15"
},
{
"begin": 2,
"end": 4,
"name": "JUMPDEST"
},
{
"begin": 325,
"end": 512,
"name": "DUP2"
},
{
"begin": 325,
"end": 512,
"name": "ADD"
},
{
"begin": 325,
"end": 512,
"name": "SWAP1"
},
{
"begin": 325,
"end": 512,
"name": "DUP1"
},
{
"begin": 325,
"end": 512,
"name": "DUP1"
},
{
"begin": 325,
"end": 512,
"name": "CALLDATALOAD"
},
{
"begin": 325,
"end": 512,
"name": "SWAP1"
},
{
"begin": 325,
"end": 512,
"name": "PUSH",
"value": "20"
},
{
"begin": 325,
"end": 512,
"name": "ADD"
},
{
"begin": 325,
"end": 512,
"name": "SWAP1"
},
{
"begin": 21,
"end": 32,
"name": "PUSH",
"value": "100000000"
},
{
"begin": 8,
"end": 19,
"name": "DUP2"
},
{
"begin": 5,
"end": 33,
"name": "GT"
},
{
"begin": 2,
"end": 4,
"name": "ISZERO"
},
{
"begin": 2,
"end": 4,
"name": "PUSH [tag]",
"value": "16"
},
{
"begin": 2,
"end": 4,
"name": "JUMPI"
},
{
"begin": 46,
"end": 47,
"name": "PUSH",
"value": "0"
},
{
"begin": 43,
"end": 44,
"name": "DUP1"
},
{
"begin": 36,
"end": 48,
"name": "REVERT"
},
{
"begin": 2,
"end": 4,
"name": "tag",
"value": "16"
},
{
"begin": 2,
"end": 4,
"name": "JUMPDEST"
},
{
"begin": 325,
"end": 512,
"name": "DUP3"
},
{
"begin": 325,
"end": 512,
"name": "ADD"
},
{
"begin": 35,
"end": 44,
"name": "DUP4"
},
{
"begin": 28,
"end": 32,
"name": "PUSH",
"value": "20"
},
{
"begin": 12,
"end": 26,
"name": "DUP3"
},
{
"begin": 8,
"end": 33,
"name": "ADD"
},
{
"begin": 5,
"end": 45,
"name": "GT"
},
{
"begin": 2,
"end": 4,
"name": "ISZERO"
},
{
"begin": 2,
"end": 4,
"name": "PUSH [tag]",
"value": "17"
},
{
"begin": 2,
"end": 4,
"name": "JUMPI"
},
{
"begin": 58,
"end": 59,
"name": "PUSH",
"value": "0"
},
{
"begin": 55,
"end": 56,
"name": "DUP1"
},
{
"begin": 48,
"end": 60,
"name": "REVERT"
},
{
"begin": 2,
"end": 4,
"name": "tag",
"value": "17"
},
{
"begin": 2,
"end": 4,
"name": "JUMPDEST"
},
{
"begin": 325,
"end": 512,
"name": "DUP1"
},
{
"begin": 325,
"end": 512,
"name": "CALLDATALOAD"
},
{
"begin": 325,
"end": 512,
"name": "SWAP1"
},
{
"begin": 325,
"end": 512,
"name": "PUSH",
"value": "20"
},
{
"begin": 325,
"end": 512,
"name": "ADD"
},
{
"begin": 325,
"end": 512,
"name": "SWAP2"
},
{
"begin": 100,
"end": 109,
"name": "DUP5"
},
{
"begin": 95,
"end": 96,
"name": "PUSH",
"value": "1"
},
{
"begin": 81,
"end": 93,
"name": "DUP4"
},
{
"begin": 77,
"end": 97,
"name": "MUL"
},
{
"begin": 67,
"end": 75,
"name": "DUP5"
},
{
"begin": 63,
"end": 98,
"name": "ADD"
},
{
"begin": 60,
"end": 110,
"name": "GT"
},
{
"begin": 39,
"end": 50,
"name": "PUSH",
"value": "100000000"
},
{
"begin": 25,
"end": 37,
"name": "DUP4"
},
{
"begin": 22,
"end": 51,
"name": "GT"
},
{
"begin": 11,
"end": 118,
"name": "OR"
},
{
"begin": 8,
"end": 10,
"name": "ISZERO"
},
{
"begin": 8,
"end": 10,
"name": "PUSH [tag]",
"value": "18"
},
{
"begin": 8,
"end": 10,
"name": "JUMPI"
},
{
"begin": 131,
"end": 132,
"name": "PUSH",
"value": "0"
},
{
"begin": 128,
"end": 129,
"name": "DUP1"
},
{
"begin": 121,
"end": 133,
"name": "REVERT"
},
{
"begin": 8,
"end": 10,
"name": "tag",
"value": "18"
},
{
"begin": 8,
"end": 10,
"name": "JUMPDEST"
},
{
"begin": 325,
"end": 512,
"name": "SWAP2"
},
{
"begin": 325,
"end": 512,
"name": "SWAP1"
},
{
"begin": 325,
"end": 512,
"name": "DUP1"
},
{
"begin": 325,
"end": 512,
"name": "DUP1"
},
{
"begin": 325,
"end": 512,
"name": "PUSH",
"value": "1F"
},
{
"begin": 325,
"end": 512,
"name": "ADD"
},
{
"begin": 325,
"end": 512,
"name": "PUSH",
"value": "20"
},
{
"begin": 325,
"end": 512,
"name": "DUP1"
},
{
"begin": 325,
"end": 512,
"name": "SWAP2"
},
{
"begin": 325,
"end": 512,
"name": "DIV"
},
{
"begin": 325,
"end": 512,
"name": "MUL"
},
{
"begin": 325,
"end": 512,
"name": "PUSH",
"value": "20"
},
{
"begin": 325,
"end": 512,
"name": "ADD"
},
{
"begin": 325,
"end": 512,
"name": "PUSH",
"value": "40"
},
{
"begin": 325,
"end": 512,
"name": "MLOAD"
},
{
"begin": 325,
"end": 512,
"name": "SWAP1"
},
{
"begin": 325,
"end": 512,
"name": "DUP2"
},
{
"begin": 325,
"end": 512,
"name": "ADD"
},
{
"begin": 325,
"end": 512,
"name": "PUSH",
"value": "40"
},
{
"begin": 325,
"end": 512,
"name": "MSTORE"
},
{
"begin": 325,
"end": 512,
"name": "DUP1"
},
{
"begin": 325,
"end": 512,
"name": "SWAP4"
},
{
"begin": 325,
"end": 512,
"name": "SWAP3"
},
{
"begin": 325,
"end": 512,
"name": "SWAP2"
},
{
"begin": 325,
"end": 512,
"name": "SWAP1"
},
{
"begin": 325,
"end": 512,
"name": "DUP2"
},
{
"begin": 325,
"end": 512,
"name": "DUP2"
},
{
"begin": 325,
"end": 512,
"name": "MSTORE"
},
{
"begin": 325,
"end": 512,
"name": "PUSH",
"value": "20"
},
{
"begin": 325,
"end": 512,
"name": "ADD"
},
{
"begin": 325,
"end": 512,
"name": "DUP4"
},
{
"begin": 325,
"end": 512,
"name": "DUP4"
},
{
"begin": 30,
"end": 33,
"name": "DUP1"
},
{
"begin": 22,
"end": 28,
"name": "DUP3"
},
{
"begin": 14,
"end": 20,
"name": "DUP5"
},
{
"begin": 1,
"end": 34,
"name": "CALLDATACOPY"
},
{
"begin": 99,
"end": 100,
"name": "PUSH",
"value": "0"
},
{
"begin": 93,
"end": 96,
"name": "DUP2"
},
{
"begin": 85,
"end": 91,
"name": "DUP5"
},
{
"begin": 81,
"end": 97,
"name": "ADD"
},
{
"begin": 74,
"end": 101,
"name": "MSTORE"
},
{
"begin": 137,
"end": 141,
"name": "PUSH",
"value": "1F"
},
{
"begin": 133,
"end": 142,
"name": "NOT"
},
{
"begin": 126,
"end": 130,
"name": "PUSH",
"value": "1F"
},
{
"begin": 121,
"end": 124,
"name": "DUP3"
},
{
"begin": 117,
"end": 131,
"name": "ADD"
},
{
"begin": 113,
"end": 143,
"name": "AND"
},
{
"begin": 106,
"end": 143,
"name": "SWAP1"
},
{
"begin": 106,
"end": 143,
"name": "POP"
},
{
"begin": 169,
"end": 172,
"name": "DUP1"
},
{
"begin": 161,
"end": 167,
"name": "DUP4"
},
{
"begin": 157,
"end": 173,
"name": "ADD"
},
{
"begin": 147,
"end": 173,
"name": "SWAP3"
},
{
"begin": 147,
"end": 173,
"name": "POP"
},
{
"begin": 325,
"end": 512,
"name": "POP"
},
{
"begin": 325,
"end": 512,
"name": "POP"
},
{
"begin": 325,
"end": 512,
"name": "POP"
},
{
"begin": 325,
"end": 512,
"name": "POP"
},
{
"begin": 325,
"end": 512,
"name": "POP"
},
{
"begin": 325,
"end": 512,
"name": "POP"
},
{
"begin": 325,
"end": 512,
"name": "SWAP2"
},
{
"begin": 325,
"end": 512,
"name": "SWAP3"
},
{
"begin": 325,
"end": 512,
"name": "SWAP2"
},
{
"begin": 325,
"end": 512,
"name": "SWAP3"
},
{
"begin": 325,
"end": 512,
"name": "SWAP1"
},
{
"begin": 325,
"end": 512,
"name": "DUP1"
},
{
"begin": 325,
"end": 512,
"name": "CALLDATALOAD"
},
{
"begin": 325,
"end": 512,
"name": "SWAP1"
},
{
"begin": 325,
"end": 512,
"name": "PUSH",
"value": "20"
},
{
"begin": 325,
"end": 512,
"name": "ADD"
},
{
"begin": 325,
"end": 512,
"name": "SWAP1"
},
{
"begin": 325,
"end": 512,
"name": "SWAP3"
},
{
"begin": 325,
"end": 512,
"name": "SWAP2"
},
{
"begin": 325,
"end": 512,
"name": "SWAP1"
},
{
"begin": 325,
"end": 512,
"name": "POP"
},
{
"begin": 325,
"end": 512,
"name": "POP"
},
{
"begin": 325,
"end": 512,
"name": "POP"
},
{
"begin": 325,
"end": 512,
"name": "PUSH [tag]",
"value": "19"
},
{
"begin": 325,
"end": 512,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 325,
"end": 512,
"name": "tag",
"value": "14"
},
{
"begin": 325,
"end": 512,
"name": "JUMPDEST"
},
{
"begin": 325,
"end": 512,
"name": "STOP"
},
{
"begin": 621,
"end": 687,
"name": "tag",
"value": "6"
},
{
"begin": 621,
"end": 687,
"name": "JUMPDEST"
},
{
"begin": 621,
"end": 687,
"name": "PUSH [tag]",
"value": "20"
},
{
"begin": 621,
"end": 687,
"name": "PUSH [tag]",
"value": "21"
},
{
"begin": 621,
"end": 687,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 621,
"end": 687,
"name": "tag",
"value": "20"
},
{
"begin": 621,
"end": 687,
"name": "JUMPDEST"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "40"
},
{
"begin": 621,
"end": 687,
"name": "MLOAD"
},
{
"begin": 621,
"end": 687,
"name": "DUP1"
},
{
"begin": 621,
"end": 687,
"name": "DUP4"
},
{
"begin": 621,
"end": 687,
"name": "DUP2"
},
{
"begin": 621,
"end": 687,
"name": "MSTORE"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "20"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "DUP1"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "20"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "DUP3"
},
{
"begin": 621,
"end": 687,
"name": "DUP2"
},
{
"begin": 621,
"end": 687,
"name": "SUB"
},
{
"begin": 621,
"end": 687,
"name": "DUP3"
},
{
"begin": 621,
"end": 687,
"name": "MSTORE"
},
{
"begin": 621,
"end": 687,
"name": "DUP4"
},
{
"begin": 621,
"end": 687,
"name": "DUP2"
},
{
"begin": 621,
"end": 687,
"name": "DUP2"
},
{
"begin": 621,
"end": 687,
"name": "MLOAD"
},
{
"begin": 621,
"end": 687,
"name": "DUP2"
},
{
"begin": 621,
"end": 687,
"name": "MSTORE"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "20"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "SWAP2"
},
{
"begin": 621,
"end": 687,
"name": "POP"
},
{
"begin": 621,
"end": 687,
"name": "DUP1"
},
{
"begin": 621,
"end": 687,
"name": "MLOAD"
},
{
"begin": 621,
"end": 687,
"name": "SWAP1"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "20"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "SWAP1"
},
{
"begin": 621,
"end": 687,
"name": "DUP1"
},
{
"begin": 621,
"end": 687,
"name": "DUP4"
},
{
"begin": 621,
"end": 687,
"name": "DUP4"
},
{
"begin": 23,
"end": 24,
"name": "PUSH",
"value": "0"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "22"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 33,
"end": 36,
"name": "DUP4"
},
{
"begin": 30,
"end": 31,
"name": "DUP2"
},
{
"begin": 27,
"end": 37,
"name": "LT"
},
{
"begin": 8,
"end": 108,
"name": "ISZERO"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "24"
},
{
"begin": 8,
"end": 108,
"name": "JUMPI"
},
{
"begin": 99,
"end": 100,
"name": "DUP1"
},
{
"begin": 94,
"end": 97,
"name": "DUP3"
},
{
"begin": 90,
"end": 101,
"name": "ADD"
},
{
"begin": 84,
"end": 102,
"name": "MLOAD"
},
{
"begin": 80,
"end": 81,
"name": "DUP2"
},
{
"begin": 75,
"end": 78,
"name": "DUP5"
},
{
"begin": 71,
"end": 82,
"name": "ADD"
},
{
"begin": 64,
"end": 103,
"name": "MSTORE"
},
{
"begin": 52,
"end": 54,
"name": "PUSH",
"value": "20"
},
{
"begin": 49,
"end": 50,
"name": "DUP2"
},
{
"begin": 45,
"end": 55,
"name": "ADD"
},
{
"begin": 40,
"end": 55,
"name": "SWAP1"
},
{
"begin": 40,
"end": 55,
"name": "POP"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "22"
},
{
"begin": 8,
"end": 108,
"name": "JUMP"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "24"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 12,
"end": 26,
"name": "POP"
},
{
"begin": 621,
"end": 687,
"name": "POP"
},
{
"begin": 621,
"end": 687,
"name": "POP"
},
{
"begin": 621,
"end": 687,
"name": "POP"
},
{
"begin": 621,
"end": 687,
"name": "SWAP1"
},
{
"begin": 621,
"end": 687,
"name": "POP"
},
{
"begin": 621,
"end": 687,
"name": "SWAP1"
},
{
"begin": 621,
"end": 687,
"name": "DUP2"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "SWAP1"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "1F"
},
{
"begin": 621,
"end": 687,
"name": "AND"
},
{
"begin": 621,
"end": 687,
"name": "DUP1"
},
{
"begin": 621,
"end": 687,
"name": "ISZERO"
},
{
"begin": 621,
"end": 687,
"name": "PUSH [tag]",
"value": "25"
},
{
"begin": 621,
"end": 687,
"name": "JUMPI"
},
{
"begin": 621,
"end": 687,
"name": "DUP1"
},
{
"begin": 621,
"end": 687,
"name": "DUP3"
},
{
"begin": 621,
"end": 687,
"name": "SUB"
},
{
"begin": 621,
"end": 687,
"name": "DUP1"
},
{
"begin": 621,
"end": 687,
"name": "MLOAD"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "1"
},
{
"begin": 621,
"end": 687,
"name": "DUP4"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "20"
},
{
"begin": 621,
"end": 687,
"name": "SUB"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "100"
},
{
"begin": 621,
"end": 687,
"name": "EXP"
},
{
"begin": 621,
"end": 687,
"name": "SUB"
},
{
"begin": 621,
"end": 687,
"name": "NOT"
},
{
"begin": 621,
"end": 687,
"name": "AND"
},
{
"begin": 621,
"end": 687,
"name": "DUP2"
},
{
"begin": 621,
"end": 687,
"name": "MSTORE"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "20"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "SWAP2"
},
{
"begin": 621,
"end": 687,
"name": "POP"
},
{
"begin": 621,
"end": 687,
"name": "tag",
"value": "25"
},
{
"begin": 621,
"end": 687,
"name": "JUMPDEST"
},
{
"begin": 621,
"end": 687,
"name": "POP"
},
{
"begin": 621,
"end": 687,
"name": "SWAP4"
},
{
"begin": 621,
"end": 687,
"name": "POP"
},
{
"begin": 621,
"end": 687,
"name": "POP"
},
{
"begin": 621,
"end": 687,
"name": "POP"
},
{
"begin": 621,
"end": 687,
"name": "POP"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "40"
},
{
"begin": 621,
"end": 687,
"name": "MLOAD"
},
{
"begin": 621,
"end": 687,
"name": "DUP1"
},
{
"begin": 621,
"end": 687,
"name": "SWAP2"
},
{
"begin": 621,
"end": 687,
"name": "SUB"
},
{
"begin": 621,
"end": 687,
"name": "SWAP1"
},
{
"begin": 621,
"end": 687,
"name": "RETURN"
},
{
"begin": 263,
"end": 317,
"name": "tag",
"value": "7"
},
{
"begin": 263,
"end": 317,
"name": "JUMPDEST"
},
{
"begin": 263,
"end": 317,
"name": "PUSH [tag]",
"value": "26"
},
{
"begin": 263,
"end": 317,
"name": "PUSH",
"value": "4"
},
{
"begin": 263,
"end": 317,
"name": "DUP1"
},
{
"begin": 263,
"end": 317,
"name": "CALLDATASIZE"
},
{
"begin": 263,
"end": 317,
"name": "SUB"
},
{
"begin": 13,
"end": 15,
"name": "PUSH",
"value": "20"
},
{
"begin": 8,
"end": 11,
"name": "DUP2"
},
{
"begin": 5,
"end": 16,
"name": "LT"
},
{
"begin": 2,
"end": 4,
"name": "ISZERO"
},
{
"begin": 2,
"end": 4,
"name": "PUSH [tag]",
"value": "27"
},
{
"begin": 2,
"end": 4,
"name": "JUMPI"
},
{
"begin": 29,
"end": 30,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 27,
"name": "DUP1"
},
{
"begin": 19,
"end": 31,
"name": "REVERT"
},
{
"begin": 2,
"end": 4,
"name": "tag",
"value": "27"
},
{
"begin": 2,
"end": 4,
"name": "JUMPDEST"
},
{
"begin": 263,
"end": 317,
"name": "DUP2"
},
{
"begin": 263,
"end": 317,
"name": "ADD"
},
{
"begin": 263,
"end": 317,
"name": "SWAP1"
},
{
"begin": 263,
"end": 317,
"name": "DUP1"
},
{
"begin": 263,
"end": 317,
"name": "DUP1"
},
{
"begin": 263,
"end": 317,
"name": "CALLDATALOAD"
},
{
"begin": 263,
"end": 317,
"name": "SWAP1"
},
{
"begin": 263,
"end": 317,
"name": "PUSH",
"value": "20"
},
{
"begin": 263,
"end": 317,
"name": "ADD"
},
{
"begin": 263,
"end": 317,
"name": "SWAP1"
},
{
"begin": 21,
"end": 32,
"name": "PUSH",
"value": "100000000"
},
{
"begin": 8,
"end": 19,
"name": "DUP2"
},
{
"begin": 5,
"end": 33,
"name": "GT"
},
{
"begin": 2,
"end": 4,
"name": "ISZERO"
},
{
"begin": 2,
"end": 4,
"name": "PUSH [tag]",
"value": "28"
},
{
"begin": 2,
"end": 4,
"name": "JUMPI"
},
{
"begin": 46,
"end": 47,
"name": "PUSH",
"value": "0"
},
{
"begin": 43,
"end": 44,
"name": "DUP1"
},
{
"begin": 36,
"end": 48,
"name": "REVERT"
},
{
"begin": 2,
"end": 4,
"name": "tag",
"value": "28"
},
{
"begin": 2,
"end": 4,
"name": "JUMPDEST"
},
{
"begin": 263,
"end": 317,
"name": "DUP3"
},
{
"begin": 263,
"end": 317,
"name": "ADD"
},
{
"begin": 35,
"end": 44,
"name": "DUP4"
},
{
"begin": 28,
"end": 32,
"name": "PUSH",
"value": "20"
},
{
"begin": 12,
"end": 26,
"name": "DUP3"
},
{
"begin": 8,
"end": 33,
"name": "ADD"
},
{
"begin": 5,
"end": 45,
"name": "GT"
},
{
"begin": 2,
"end": 4,
"name": "ISZERO"
},
{
"begin": 2,
"end": 4,
"name": "PUSH [tag]",
"value": "29"
},
{
"begin": 2,
"end": 4,
"name": "JUMPI"
},
{
"begin": 58,
"end": 59,
"name": "PUSH",
"value": "0"
},
{
"begin": 55,
"end": 56,
"name": "DUP1"
},
{
"begin": 48,
"end": 60,
"name": "REVERT"
},
{
"begin": 2,
"end": 4,
"name": "tag",
"value": "29"
},
{
"begin": 2,
"end": 4,
"name": "JUMPDEST"
},
{
"begin": 263,
"end": 317,
"name": "DUP1"
},
{
"begin": 263,
"end": 317,
"name": "CALLDATALOAD"
},
{
"begin": 263,
"end": 317,
"name": "SWAP1"
},
{
"begin": 263,
"end": 317,
"name": "PUSH",
"value": "20"
},
{
"begin": 263,
"end": 317,
"name": "ADD"
},
{
"begin": 263,
"end": 317,
"name": "SWAP2"
},
{
"begin": 100,
"end": 109,
"name": "DUP5"
},
{
"begin": 95,
"end": 96,
"name": "PUSH",
"value": "1"
},
{
"begin": 81,
"end": 93,
"name": "DUP4"
},
{
"begin": 77,
"end": 97,
"name": "MUL"
},
{
"begin": 67,
"end": 75,
"name": "DUP5"
},
{
"begin": 63,
"end": 98,
"name": "ADD"
},
{
"begin": 60,
"end": 110,
"name": "GT"
},
{
"begin": 39,
"end": 50,
"name": "PUSH",
"value": "100000000"
},
{
"begin": 25,
"end": 37,
"name": "DUP4"
},
{
"begin": 22,
"end": 51,
"name": "GT"
},
{
"begin": 11,
"end": 118,
"name": "OR"
},
{
"begin": 8,
"end": 10,
"name": "ISZERO"
},
{
"begin": 8,
"end": 10,
"name": "PUSH [tag]",
"value": "30"
},
{
"begin": 8,
"end": 10,
"name": "JUMPI"
},
{
"begin": 131,
"end": 132,
"name": "PUSH",
"value": "0"
},
{
"begin": 128,
"end": 129,
"name": "DUP1"
},
{
"begin": 121,
"end": 133,
"name": "REVERT"
},
{
"begin": 8,
"end": 10,
"name": "tag",
"value": "30"
},
{
"begin": 8,
"end": 10,
"name": "JUMPDEST"
},
{
"begin": 263,
"end": 317,
"name": "SWAP2"
},
{
"begin": 263,
"end": 317,
"name": "SWAP1"
},
{
"begin": 263,
"end": 317,
"name": "DUP1"
},
{
"begin": 263,
"end": 317,
"name": "DUP1"
},
{
"begin": 263,
"end": 317,
"name": "PUSH",
"value": "1F"
},
{
"begin": 263,
"end": 317,
"name": "ADD"
},
{
"begin": 263,
"end": 317,
"name": "PUSH",
"value": "20"
},
{
"begin": 263,
"end": 317,
"name": "DUP1"
},
{
"begin": 263,
"end": 317,
"name": "SWAP2"
},
{
"begin": 263,
"end": 317,
"name": "DIV"
},
{
"begin": 263,
"end": 317,
"name": "MUL"
},
{
"begin": 263,
"end": 317,
"name": "PUSH",
"value": "20"
},
{
"begin": 263,
"end": 317,
"name": "ADD"
},
{
"begin": 263,
"end": 317,
"name": "PUSH",
"value": "40"
},
{
"begin": 263,
"end": 317,
"name": "MLOAD"
},
{
"begin": 263,
"end": 317,
"name": "SWAP1"
},
{
"begin": 263,
"end": 317,
"name": "DUP2"
},
{
"begin": 263,
"end": 317,
"name": "ADD"
},
{
"begin": 263,
"end": 317,
"name": "PUSH",
"value": "40"
},
{
"begin": 263,
"end": 317,
"name": "MSTORE"
},
{
"begin": 263,
"end": 317,
"name": "DUP1"
},
{
"begin": 263,
"end": 317,
"name": "SWAP4"
},
{
"begin": 263,
"end": 317,
"name": "SWAP3"
},
{
"begin": 263,
"end": 317,
"name": "SWAP2"
},
{
"begin": 263,
"end": 317,
"name": "SWAP1"
},
{
"begin": 263,
"end": 317,
"name": "DUP2"
},
{
"begin": 263,
"end": 317,
"name": "DUP2"
},
{
"begin": 263,
"end": 317,
"name": "MSTORE"
},
{
"begin": 263,
"end": 317,
"name": "PUSH",
"value": "20"
},
{
"begin": 263,
"end": 317,
"name": "ADD"
},
{
"begin": 263,
"end": 317,
"name": "DUP4"
},
{
"begin": 263,
"end": 317,
"name": "DUP4"
},
{
"begin": 30,
"end": 33,
"name": "DUP1"
},
{
"begin": 22,
"end": 28,
"name": "DUP3"
},
{
"begin": 14,
"end": 20,
"name": "DUP5"
},
{
"begin": 1,
"end": 34,
"name": "CALLDATACOPY"
},
{
"begin": 99,
"end": 100,
"name": "PUSH",
"value": "0"
},
{
"begin": 93,
"end": 96,
"name": "DUP2"
},
{
"begin": 85,
"end": 91,
"name": "DUP5"
},
{
"begin": 81,
"end": 97,
"name": "ADD"
},
{
"begin": 74,
"end": 101,
"name": "MSTORE"
},
{
"begin": 137,
"end": 141,
"name": "PUSH",
"value": "1F"
},
{
"begin": 133,
"end": 142,
"name": "NOT"
},
{
"begin": 126,
"end": 130,
"name": "PUSH",
"value": "1F"
},
{
"begin": 121,
"end": 124,
"name": "DUP3"
},
{
"begin": 117,
"end": 131,
"name": "ADD"
},
{
"begin": 113,
"end": 143,
"name": "AND"
},
{
"begin": 106,
"end": 143,
"name": "SWAP1"
},
{
"begin": 106,
"end": 143,
"name": "POP"
},
{
"begin": 169,
"end": 172,
"name": "DUP1"
},
{
"begin": 161,
"end": 167,
"name": "DUP4"
},
{
"begin": 157,
"end": 173,
"name": "ADD"
},
{
"begin": 147,
"end": 173,
"name": "SWAP3"
},
{
"begin": 147,
"end": 173,
"name": "POP"
},
{
"begin": 263,
"end": 317,
"name": "POP"
},
{
"begin": 263,
"end": 317,
"name": "POP"
},
{
"begin": 263,
"end": 317,
"name": "POP"
},
{
"begin": 263,
"end": 317,
"name": "POP"
},
{
"begin": 263,
"end": 317,
"name": "POP"
},
{
"begin": 263,
"end": 317,
"name": "POP"
},
{
"begin": 263,
"end": 317,
"name": "SWAP2"
},
{
"begin": 263,
"end": 317,
"name": "SWAP3"
},
{
"begin": 263,
"end": 317,
"name": "SWAP2"
},
{
"begin": 263,
"end": 317,
"name": "SWAP3"
},
{
"begin": 263,
"end": 317,
"name": "SWAP1"
},
{
"begin": 263,
"end": 317,
"name": "POP"
},
{
"begin": 263,
"end": 317,
"name": "POP"
},
{
"begin": 263,
"end": 317,
"name": "POP"
},
{
"begin": 263,
"end": 317,
"name": "PUSH [tag]",
"value": "31"
},
{
"begin": 263,
"end": 317,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 263,
"end": 317,
"name": "tag",
"value": "26"
},
{
"begin": 263,
"end": 317,
"name": "JUMPDEST"
},
{
"begin": 263,
"end": 317,
"name": "PUSH",
"value": "40"
},
{
"begin": 263,
"end": 317,
"name": "MLOAD"
},
{
"begin": 263,
"end": 317,
"name": "DUP1"
},
{
"begin": 263,
"end": 317,
"name": "DUP3"
},
{
"begin": 263,
"end": 317,
"name": "DUP2"
},
{
"begin": 263,
"end": 317,
"name": "MSTORE"
},
{
"begin": 263,
"end": 317,
"name": "PUSH",
"value": "20"
},
{
"begin": 263,
"end": 317,
"name": "ADD"
},
{
"begin": 263,
"end": 317,
"name": "SWAP2"
},
{
"begin": 263,
"end": 317,
"name": "POP"
},
{
"begin": 263,
"end": 317,
"name": "POP"
},
{
"begin": 263,
"end": 317,
"name": "PUSH",
"value": "40"
},
{
"begin": 263,
"end": 317,
"name": "MLOAD"
},
{
"begin": 263,
"end": 317,
"name": "DUP1"
},
{
"begin": 263,
"end": 317,
"name": "SWAP2"
},
{
"begin": 263,
"end": 317,
"name": "SUB"
},
{
"begin": 263,
"end": 317,
"name": "SWAP1"
},
{
"begin": 263,
"end": 317,
"name": "RETURN"
},
{
"begin": 234,
"end": 256,
"name": "tag",
"value": "8"
},
{
"begin": 234,
"end": 256,
"name": "JUMPDEST"
},
{
"begin": 234,
"end": 256,
"name": "PUSH [tag]",
"value": "32"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "4"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "CALLDATASIZE"
},
{
"begin": 234,
"end": 256,
"name": "SUB"
},
{
"begin": 13,
"end": 15,
"name": "PUSH",
"value": "20"
},
{
"begin": 8,
"end": 11,
"name": "DUP2"
},
{
"begin": 5,
"end": 16,
"name": "LT"
},
{
"begin": 2,
"end": 4,
"name": "ISZERO"
},
{
"begin": 2,
"end": 4,
"name": "PUSH [tag]",
"value": "33"
},
{
"begin": 2,
"end": 4,
"name": "JUMPI"
},
{
"begin": 29,
"end": 30,
"name": "PUSH",
"value": "0"
},
{
"begin": 26,
"end": 27,
"name": "DUP1"
},
{
"begin": 19,
"end": 31,
"name": "REVERT"
},
{
"begin": 2,
"end": 4,
"name": "tag",
"value": "33"
},
{
"begin": 2,
"end": 4,
"name": "JUMPDEST"
},
{
"begin": 234,
"end": 256,
"name": "DUP2"
},
{
"begin": 234,
"end": 256,
"name": "ADD"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "CALLDATALOAD"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "20"
},
{
"begin": 234,
"end": 256,
"name": "ADD"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "SWAP3"
},
{
"begin": 234,
"end": 256,
"name": "SWAP2"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "PUSH [tag]",
"value": "34"
},
{
"begin": 234,
"end": 256,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 234,
"end": 256,
"name": "tag",
"value": "32"
},
{
"begin": 234,
"end": 256,
"name": "JUMPDEST"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "40"
},
{
"begin": 234,
"end": 256,
"name": "MLOAD"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "DUP4"
},
{
"begin": 234,
"end": 256,
"name": "DUP2"
},
{
"begin": 234,
"end": 256,
"name": "MSTORE"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "20"
},
{
"begin": 234,
"end": 256,
"name": "ADD"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "20"
},
{
"begin": 234,
"end": 256,
"name": "ADD"
},
{
"begin": 234,
"end": 256,
"name": "DUP3"
},
{
"begin": 234,
"end": 256,
"name": "DUP2"
},
{
"begin": 234,
"end": 256,
"name": "SUB"
},
{
"begin": 234,
"end": 256,
"name": "DUP3"
},
{
"begin": 234,
"end": 256,
"name": "MSTORE"
},
{
"begin": 234,
"end": 256,
"name": "DUP4"
},
{
"begin": 234,
"end": 256,
"name": "DUP2"
},
{
"begin": 234,
"end": 256,
"name": "DUP2"
},
{
"begin": 234,
"end": 256,
"name": "MLOAD"
},
{
"begin": 234,
"end": 256,
"name": "DUP2"
},
{
"begin": 234,
"end": 256,
"name": "MSTORE"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "20"
},
{
"begin": 234,
"end": 256,
"name": "ADD"
},
{
"begin": 234,
"end": 256,
"name": "SWAP2"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "MLOAD"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "20"
},
{
"begin": 234,
"end": 256,
"name": "ADD"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "DUP4"
},
{
"begin": 234,
"end": 256,
"name": "DUP4"
},
{
"begin": 23,
"end": 24,
"name": "PUSH",
"value": "0"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "35"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 33,
"end": 36,
"name": "DUP4"
},
{
"begin": 30,
"end": 31,
"name": "DUP2"
},
{
"begin": 27,
"end": 37,
"name": "LT"
},
{
"begin": 8,
"end": 108,
"name": "ISZERO"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "37"
},
{
"begin": 8,
"end": 108,
"name": "JUMPI"
},
{
"begin": 99,
"end": 100,
"name": "DUP1"
},
{
"begin": 94,
"end": 97,
"name": "DUP3"
},
{
"begin": 90,
"end": 101,
"name": "ADD"
},
{
"begin": 84,
"end": 102,
"name": "MLOAD"
},
{
"begin": 80,
"end": 81,
"name": "DUP2"
},
{
"begin": 75,
"end": 78,
"name": "DUP5"
},
{
"begin": 71,
"end": 82,
"name": "ADD"
},
{
"begin": 64,
"end": 103,
"name": "MSTORE"
},
{
"begin": 52,
"end": 54,
"name": "PUSH",
"value": "20"
},
{
"begin": 49,
"end": 50,
"name": "DUP2"
},
{
"begin": 45,
"end": 55,
"name": "ADD"
},
{
"begin": 40,
"end": 55,
"name": "SWAP1"
},
{
"begin": 40,
"end": 55,
"name": "POP"
},
{
"begin": 8,
"end": 108,
"name": "PUSH [tag]",
"value": "35"
},
{
"begin": 8,
"end": 108,
"name": "JUMP"
},
{
"begin": 8,
"end": 108,
"name": "tag",
"value": "37"
},
{
"begin": 8,
"end": 108,
"name": "JUMPDEST"
},
{
"begin": 12,
"end": 26,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "DUP2"
},
{
"begin": 234,
"end": 256,
"name": "ADD"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "1F"
},
{
"begin": 234,
"end": 256,
"name": "AND"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "ISZERO"
},
{
"begin": 234,
"end": 256,
"name": "PUSH [tag]",
"value": "38"
},
{
"begin": 234,
"end": 256,
"name": "JUMPI"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "DUP3"
},
{
"begin": 234,
"end": 256,
"name": "SUB"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "MLOAD"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "1"
},
{
"begin": 234,
"end": 256,
"name": "DUP4"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "20"
},
{
"begin": 234,
"end": 256,
"name": "SUB"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "100"
},
{
"begin": 234,
"end": 256,
"name": "EXP"
},
{
"begin": 234,
"end": 256,
"name": "SUB"
},
{
"begin": 234,
"end": 256,
"name": "NOT"
},
{
"begin": 234,
"end": 256,
"name": "AND"
},
{
"begin": 234,
"end": 256,
"name": "DUP2"
},
{
"begin": 234,
"end": 256,
"name": "MSTORE"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "20"
},
{
"begin": 234,
"end": 256,
"name": "ADD"
},
{
"begin": 234,
"end": 256,
"name": "SWAP2"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "tag",
"value": "38"
},
{
"begin": 234,
"end": 256,
"name": "JUMPDEST"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "SWAP4"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "40"
},
{
"begin": 234,
"end": 256,
"name": "MLOAD"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "SWAP2"
},
{
"begin": 234,
"end": 256,
"name": "SUB"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "RETURN"
},
{
"begin": 694,
"end": 782,
"name": "tag",
"value": "10"
},
{
"begin": 694,
"end": 782,
"name": "JUMPDEST"
},
{
"begin": 736,
"end": 743,
"name": "PUSH",
"value": "0"
},
{
"begin": 761,
"end": 775,
"name": "DUP1"
},
{
"begin": 761,
"end": 775,
"name": "SLOAD"
},
{
"begin": 754,
"end": 775,
"name": "SWAP1"
},
{
"begin": 754,
"end": 775,
"name": "POP"
},
{
"begin": 694,
"end": 782,
"name": "SWAP1"
},
{
"begin": 694,
"end": 782,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 518,
"end": 615,
"name": "tag",
"value": "13"
},
{
"begin": 518,
"end": 615,
"name": "JUMPDEST"
},
{
"begin": 592,
"end": 607,
"name": "DUP1"
},
{
"begin": 575,
"end": 589,
"name": "PUSH",
"value": "0"
},
{
"begin": 575,
"end": 607,
"name": "DUP2"
},
{
"begin": 575,
"end": 607,
"name": "SWAP1"
},
{
"begin": 575,
"end": 607,
"name": "SSTORE"
},
{
"begin": 575,
"end": 607,
"name": "POP"
},
{
"begin": 518,
"end": 615,
"name": "POP"
},
{
"begin": 518,
"end": 615,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 325,
"end": 512,
"name": "tag",
"value": "19"
},
{
"begin": 325,
"end": 512,
"name": "JUMPDEST"
},
{
"begin": 407,
"end": 413,
"name": "PUSH",
"value": "1"
},
{
"begin": 419,
"end": 449,
"name": "PUSH",
"value": "40"
},
{
"begin": 419,
"end": 449,
"name": "MLOAD"
},
{
"begin": 419,
"end": 449,
"name": "DUP1"
},
{
"begin": 419,
"end": 449,
"name": "PUSH",
"value": "40"
},
{
"begin": 419,
"end": 449,
"name": "ADD"
},
{
"begin": 419,
"end": 449,
"name": "PUSH",
"value": "40"
},
{
"begin": 419,
"end": 449,
"name": "MSTORE"
},
{
"begin": 419,
"end": 449,
"name": "DUP1"
},
{
"begin": 426,
"end": 441,
"name": "DUP4"
},
{
"begin": 419,
"end": 449,
"name": "DUP2"
},
{
"begin": 419,
"end": 449,
"name": "MSTORE"
},
{
"begin": 419,
"end": 449,
"name": "PUSH",
"value": "20"
},
{
"begin": 419,
"end": 449,
"name": "ADD"
},
{
"begin": 443,
"end": 448,
"name": "DUP5"
},
{
"begin": 419,
"end": 449,
"name": "DUP2"
},
{
"begin": 419,
"end": 449,
"name": "MSTORE"
},
{
"begin": 419,
"end": 449,
"name": "POP"
},
{
"begin": 407,
"end": 450,
"name": "SWAP1"
},
{
"begin": 407,
"end": 450,
"name": "DUP1"
},
{
"begin": 39,
"end": 40,
"name": "PUSH",
"value": "1"
},
{
"begin": 33,
"end": 36,
"name": "DUP2"
},
{
"begin": 27,
"end": 37,
"name": "SLOAD"
},
{
"begin": 23,
"end": 41,
"name": "ADD"
},
{
"begin": 57,
"end": 67,
"name": "DUP1"
},
{
"begin": 52,
"end": 55,
"name": "DUP3"
},
{
"begin": 45,
"end": 68,
"name": "SSTORE"
},
{
"begin": 79,
"end": 89,
"name": "DUP1"
},
{
"begin": 72,
"end": 89,
"name": "SWAP2"
},
{
"begin": 72,
"end": 89,
"name": "POP"
},
{
"begin": 0,
"end": 93,
"name": "POP"
},
{
"begin": 407,
"end": 450,
"name": "PUSH",
"value": "1"
},
{
"begin": 407,
"end": 450,
"name": "SWAP1"
},
{
"begin": 407,
"end": 450,
"name": "SUB"
},
{
"begin": 407,
"end": 450,
"name": "SWAP1"
},
{
"begin": 407,
"end": 450,
"name": "PUSH",
"value": "0"
},
{
"begin": 407,
"end": 450,
"name": "MSTORE"
},
{
"begin": 407,
"end": 450,
"name": "PUSH",
"value": "20"
},
{
"begin": 407,
"end": 450,
"name": "PUSH",
"value": "0"
},
{
"begin": 407,
"end": 450,
"name": "KECCAK256"
},
{
"begin": 407,
"end": 450,
"name": "SWAP1"
},
{
"begin": 407,
"end": 450,
"name": "PUSH",
"value": "2"
},
{
"begin": 407,
"end": 450,
"name": "MUL"
},
{
"begin": 407,
"end": 450,
"name": "ADD"
},
{
"begin": 407,
"end": 450,
"name": "PUSH",
"value": "0"
},
{
"begin": 407,
"end": 450,
"name": "SWAP1"
},
{
"begin": 407,
"end": 450,
"name": "SWAP2"
},
{
"begin": 407,
"end": 450,
"name": "SWAP1"
},
{
"begin": 407,
"end": 450,
"name": "SWAP2"
},
{
"begin": 407,
"end": 450,
"name": "SWAP1"
},
{
"begin": 407,
"end": 450,
"name": "SWAP2"
},
{
"begin": 407,
"end": 450,
"name": "POP"
},
{
"begin": 407,
"end": 450,
"name": "PUSH",
"value": "0"
},
{
"begin": 407,
"end": 450,
"name": "DUP3"
},
{
"begin": 407,
"end": 450,
"name": "ADD"
},
{
"begin": 407,
"end": 450,
"name": "MLOAD"
},
{
"begin": 407,
"end": 450,
"name": "DUP2"
},
{
"begin": 407,
"end": 450,
"name": "PUSH",
"value": "0"
},
{
"begin": 407,
"end": 450,
"name": "ADD"
},
{
"begin": 407,
"end": 450,
"name": "SSTORE"
},
{
"begin": 407,
"end": 450,
"name": "PUSH",
"value": "20"
},
{
"begin": 407,
"end": 450,
"name": "DUP3"
},
{
"begin": 407,
"end": 450,
"name": "ADD"
},
{
"begin": 407,
"end": 450,
"name": "MLOAD"
},
{
"begin": 407,
"end": 450,
"name": "DUP2"
},
{
"begin": 407,
"end": 450,
"name": "PUSH",
"value": "1"
},
{
"begin": 407,
"end": 450,
"name": "ADD"
},
{
"begin": 407,
"end": 450,
"name": "SWAP1"
},
{
"begin": 407,
"end": 450,
"name": "DUP1"
},
{
"begin": 407,
"end": 450,
"name": "MLOAD"
},
{
"begin": 407,
"end": 450,
"name": "SWAP1"
},
{
"begin": 407,
"end": 450,
"name": "PUSH",
"value": "20"
},
{
"begin": 407,
"end": 450,
"name": "ADD"
},
{
"begin": 407,
"end": 450,
"name": "SWAP1"
},
{
"begin": 407,
"end": 450,
"name": "PUSH [tag]",
"value": "43"
},
{
"begin": 407,
"end": 450,
"name": "SWAP3"
},
{
"begin": 407,
"end": 450,
"name": "SWAP2"
},
{
"begin": 407,
"end": 450,
"name": "SWAP1"
},
{
"begin": 407,
"end": 450,
"name": "PUSH [tag]",
"value": "44"
},
{
"begin": 407,
"end": 450,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 407,
"end": 450,
"name": "tag",
"value": "43"
},
{
"begin": 407,
"end": 450,
"name": "JUMPDEST"
},
{
"begin": 407,
"end": 450,
"name": "POP"
},
{
"begin": 407,
"end": 450,
"name": "POP"
},
{
"begin": 407,
"end": 450,
"name": "POP"
},
{
"begin": 490,
"end": 505,
"name": "DUP1"
},
{
"begin": 460,
"end": 480,
"name": "PUSH",
"value": "2"
},
{
"begin": 481,
"end": 486,
"name": "DUP4"
},
{
"begin": 460,
"end": 487,
"name": "PUSH",
"value": "40"
},
{
"begin": 460,
"end": 487,
"name": "MLOAD"
},
{
"begin": 460,
"end": 487,
"name": "DUP1"
},
{
"begin": 460,
"end": 487,
"name": "DUP3"
},
{
"begin": 460,
"end": 487,
"name": "DUP1"
},
{
"begin": 460,
"end": 487,
"name": "MLOAD"
},
{
"begin": 460,
"end": 487,
"name": "SWAP1"
},
{
"begin": 460,
"end": 487,
"name": "PUSH",
"value": "20"
},
{
"begin": 460,
"end": 487,
"name": "ADD"
},
{
"begin": 460,
"end": 487,
"name": "SWAP1"
},
{
"begin": 460,
"end": 487,
"name": "DUP1"
},
{
"begin": 460,
"end": 487,
"name": "DUP4"
},
{
"begin": 460,
"end": 487,
"name": "DUP4"
},
{
"begin": 36,
"end": 189,
"name": "tag",
"value": "45"
},
{
"begin": 36,
"end": 189,
"name": "JUMPDEST"
},
{
"begin": 66,
"end": 68,
"name": "PUSH",
"value": "20"
},
{
"begin": 61,
"end": 64,
"name": "DUP4"
},
{
"begin": 58,
"end": 69,
"name": "LT"
},
{
"begin": 36,
"end": 189,
"name": "PUSH [tag]",
"value": "47"
},
{
"begin": 36,
"end": 189,
"name": "JUMPI"
},
{
"begin": 182,
"end": 185,
"name": "DUP1"
},
{
"begin": 176,
"end": 186,
"name": "MLOAD"
},
{
"begin": 171,
"end": 174,
"name": "DUP3"
},
{
"begin": 164,
"end": 187,
"name": "MSTORE"
},
{
"begin": 98,
"end": 100,
"name": "PUSH",
"value": "20"
},
{
"begin": 93,
"end": 96,
"name": "DUP3"
},
{
"begin": 89,
"end": 101,
"name": "ADD"
},
{
"begin": 82,
"end": 101,
"name": "SWAP2"
},
{
"begin": 82,
"end": 101,
"name": "POP"
},
{
"begin": 123,
"end": 125,
"name": "PUSH",
"value": "20"
},
{
"begin": 118,
"end": 121,
"name": "DUP2"
},
{
"begin": 114,
"end": 126,
"name": "ADD"
},
{
"begin": 107,
"end": 126,
"name": "SWAP1"
},
{
"begin": 107,
"end": 126,
"name": "POP"
},
{
"begin": 148,
"end": 150,
"name": "PUSH",
"value": "20"
},
{
"begin": 143,
"end": 146,
"name": "DUP4"
},
{
"begin": 139,
"end": 151,
"name": "SUB"
},
{
"begin": 132,
"end": 151,
"name": "SWAP3"
},
{
"begin": 132,
"end": 151,
"name": "POP"
},
{
"begin": 36,
"end": 189,
"name": "PUSH [tag]",
"value": "45"
},
{
"begin": 36,
"end": 189,
"name": "JUMP"
},
{
"begin": 36,
"end": 189,
"name": "tag",
"value": "47"
},
{
"begin": 36,
"end": 189,
"name": "JUMPDEST"
},
{
"begin": 274,
"end": 275,
"name": "PUSH",
"value": "1"
},
{
"begin": 267,
"end": 270,
"name": "DUP4"
},
{
"begin": 263,
"end": 265,
"name": "PUSH",
"value": "20"
},
{
"begin": 259,
"end": 271,
"name": "SUB"
},
{
"begin": 254,
"end": 257,
"name": "PUSH",
"value": "100"
},
{
"begin": 250,
"end": 272,
"name": "EXP"
},
{
"begin": 246,
"end": 276,
"name": "SUB"
},
{
"begin": 315,
"end": 319,
"name": "DUP1"
},
{
"begin": 311,
"end": 320,
"name": "NOT"
},
{
"begin": 305,
"end": 308,
"name": "DUP3"
},
{
"begin": 299,
"end": 309,
"name": "MLOAD"
},
{
"begin": 295,
"end": 321,
"name": "AND"
},
{
"begin": 356,
"end": 360,
"name": "DUP2"
},
{
"begin": 350,
"end": 353,
"name": "DUP5"
},
{
"begin": 344,
"end": 354,
"name": "MLOAD"
},
{
"begin": 340,
"end": 361,
"name": "AND"
},
{
"begin": 389,
"end": 396,
"name": "DUP1"
},
{
"begin": 380,
"end": 387,
"name": "DUP3"
},
{
"begin": 377,
"end": 397,
"name": "OR"
},
{
"begin": 372,
"end": 375,
"name": "DUP6"
},
{
"begin": 365,
"end": 398,
"name": "MSTORE"
},
{
"begin": 3,
"end": 402,
"name": "POP"
},
{
"begin": 3,
"end": 402,
"name": "POP"
},
{
"begin": 3,
"end": 402,
"name": "POP"
},
{
"begin": 460,
"end": 487,
"name": "POP"
},
{
"begin": 460,
"end": 487,
"name": "POP"
},
{
"begin": 460,
"end": 487,
"name": "POP"
},
{
"begin": 460,
"end": 487,
"name": "SWAP1"
},
{
"begin": 460,
"end": 487,
"name": "POP"
},
{
"begin": 460,
"end": 487,
"name": "ADD"
},
{
"begin": 460,
"end": 487,
"name": "SWAP2"
},
{
"begin": 460,
"end": 487,
"name": "POP"
},
{
"begin": 460,
"end": 487,
"name": "POP"
},
{
"begin": 460,
"end": 487,
"name": "SWAP1"
},
{
"begin": 460,
"end": 487,
"name": "DUP2"
},
{
"begin": 460,
"end": 487,
"name": "MSTORE"
},
{
"begin": 460,
"end": 487,
"name": "PUSH",
"value": "20"
},
{
"begin": 460,
"end": 487,
"name": "ADD"
},
{
"begin": 460,
"end": 487,
"name": "PUSH",
"value": "40"
},
{
"begin": 460,
"end": 487,
"name": "MLOAD"
},
{
"begin": 460,
"end": 487,
"name": "DUP1"
},
{
"begin": 460,
"end": 487,
"name": "SWAP2"
},
{
"begin": 460,
"end": 487,
"name": "SUB"
},
{
"begin": 460,
"end": 487,
"name": "SWAP1"
},
{
"begin": 460,
"end": 487,
"name": "KECCAK256"
},
{
"begin": 460,
"end": 505,
"name": "DUP2"
},
{
"begin": 460,
"end": 505,
"name": "SWAP1"
},
{
"begin": 460,
"end": 505,
"name": "SSTORE"
},
{
"begin": 460,
"end": 505,
"name": "POP"
},
{
"begin": 325,
"end": 512,
"name": "POP"
},
{
"begin": 325,
"end": 512,
"name": "POP"
},
{
"begin": 325,
"end": 512,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 621,
"end": 687,
"name": "tag",
"value": "21"
},
{
"begin": 621,
"end": 687,
"name": "JUMPDEST"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "3"
},
{
"begin": 621,
"end": 687,
"name": "DUP1"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "0"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "SLOAD"
},
{
"begin": 621,
"end": 687,
"name": "SWAP1"
},
{
"begin": 621,
"end": 687,
"name": "DUP1"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "1"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "DUP1"
},
{
"begin": 621,
"end": 687,
"name": "SLOAD"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "1"
},
{
"begin": 621,
"end": 687,
"name": "DUP2"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "1"
},
{
"begin": 621,
"end": 687,
"name": "AND"
},
{
"begin": 621,
"end": 687,
"name": "ISZERO"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "100"
},
{
"begin": 621,
"end": 687,
"name": "MUL"
},
{
"begin": 621,
"end": 687,
"name": "SUB"
},
{
"begin": 621,
"end": 687,
"name": "AND"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "2"
},
{
"begin": 621,
"end": 687,
"name": "SWAP1"
},
{
"begin": 621,
"end": 687,
"name": "DIV"
},
{
"begin": 621,
"end": 687,
"name": "DUP1"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "1F"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "20"
},
{
"begin": 621,
"end": 687,
"name": "DUP1"
},
{
"begin": 621,
"end": 687,
"name": "SWAP2"
},
{
"begin": 621,
"end": 687,
"name": "DIV"
},
{
"begin": 621,
"end": 687,
"name": "MUL"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "20"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "40"
},
{
"begin": 621,
"end": 687,
"name": "MLOAD"
},
{
"begin": 621,
"end": 687,
"name": "SWAP1"
},
{
"begin": 621,
"end": 687,
"name": "DUP2"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "40"
},
{
"begin": 621,
"end": 687,
"name": "MSTORE"
},
{
"begin": 621,
"end": 687,
"name": "DUP1"
},
{
"begin": 621,
"end": 687,
"name": "SWAP3"
},
{
"begin": 621,
"end": 687,
"name": "SWAP2"
},
{
"begin": 621,
"end": 687,
"name": "SWAP1"
},
{
"begin": 621,
"end": 687,
"name": "DUP2"
},
{
"begin": 621,
"end": 687,
"name": "DUP2"
},
{
"begin": 621,
"end": 687,
"name": "MSTORE"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "20"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "DUP3"
},
{
"begin": 621,
"end": 687,
"name": "DUP1"
},
{
"begin": 621,
"end": 687,
"name": "SLOAD"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "1"
},
{
"begin": 621,
"end": 687,
"name": "DUP2"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "1"
},
{
"begin": 621,
"end": 687,
"name": "AND"
},
{
"begin": 621,
"end": 687,
"name": "ISZERO"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "100"
},
{
"begin": 621,
"end": 687,
"name": "MUL"
},
{
"begin": 621,
"end": 687,
"name": "SUB"
},
{
"begin": 621,
"end": 687,
"name": "AND"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "2"
},
{
"begin": 621,
"end": 687,
"name": "SWAP1"
},
{
"begin": 621,
"end": 687,
"name": "DIV"
},
{
"begin": 621,
"end": 687,
"name": "DUP1"
},
{
"begin": 621,
"end": 687,
"name": "ISZERO"
},
{
"begin": 621,
"end": 687,
"name": "PUSH [tag]",
"value": "48"
},
{
"begin": 621,
"end": 687,
"name": "JUMPI"
},
{
"begin": 621,
"end": 687,
"name": "DUP1"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "1F"
},
{
"begin": 621,
"end": 687,
"name": "LT"
},
{
"begin": 621,
"end": 687,
"name": "PUSH [tag]",
"value": "49"
},
{
"begin": 621,
"end": 687,
"name": "JUMPI"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "100"
},
{
"begin": 621,
"end": 687,
"name": "DUP1"
},
{
"begin": 621,
"end": 687,
"name": "DUP4"
},
{
"begin": 621,
"end": 687,
"name": "SLOAD"
},
{
"begin": 621,
"end": 687,
"name": "DIV"
},
{
"begin": 621,
"end": 687,
"name": "MUL"
},
{
"begin": 621,
"end": 687,
"name": "DUP4"
},
{
"begin": 621,
"end": 687,
"name": "MSTORE"
},
{
"begin": 621,
"end": 687,
"name": "SWAP2"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "20"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "SWAP2"
},
{
"begin": 621,
"end": 687,
"name": "PUSH [tag]",
"value": "48"
},
{
"begin": 621,
"end": 687,
"name": "JUMP"
},
{
"begin": 621,
"end": 687,
"name": "tag",
"value": "49"
},
{
"begin": 621,
"end": 687,
"name": "JUMPDEST"
},
{
"begin": 621,
"end": 687,
"name": "DUP3"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "SWAP2"
},
{
"begin": 621,
"end": 687,
"name": "SWAP1"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "0"
},
{
"begin": 621,
"end": 687,
"name": "MSTORE"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "20"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "0"
},
{
"begin": 621,
"end": 687,
"name": "KECCAK256"
},
{
"begin": 621,
"end": 687,
"name": "SWAP1"
},
{
"begin": 621,
"end": 687,
"name": "tag",
"value": "50"
},
{
"begin": 621,
"end": 687,
"name": "JUMPDEST"
},
{
"begin": 621,
"end": 687,
"name": "DUP2"
},
{
"begin": 621,
"end": 687,
"name": "SLOAD"
},
{
"begin": 621,
"end": 687,
"name": "DUP2"
},
{
"begin": 621,
"end": 687,
"name": "MSTORE"
},
{
"begin": 621,
"end": 687,
"name": "SWAP1"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "1"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "SWAP1"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "20"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "DUP1"
},
{
"begin": 621,
"end": 687,
"name": "DUP4"
},
{
"begin": 621,
"end": 687,
"name": "GT"
},
{
"begin": 621,
"end": 687,
"name": "PUSH [tag]",
"value": "50"
},
{
"begin": 621,
"end": 687,
"name": "JUMPI"
},
{
"begin": 621,
"end": 687,
"name": "DUP3"
},
{
"begin": 621,
"end": 687,
"name": "SWAP1"
},
{
"begin": 621,
"end": 687,
"name": "SUB"
},
{
"begin": 621,
"end": 687,
"name": "PUSH",
"value": "1F"
},
{
"begin": 621,
"end": 687,
"name": "AND"
},
{
"begin": 621,
"end": 687,
"name": "DUP3"
},
{
"begin": 621,
"end": 687,
"name": "ADD"
},
{
"begin": 621,
"end": 687,
"name": "SWAP2"
},
{
"begin": 621,
"end": 687,
"name": "tag",
"value": "48"
},
{
"begin": 621,
"end": 687,
"name": "JUMPDEST"
},
{
"begin": 621,
"end": 687,
"name": "POP"
},
{
"begin": 621,
"end": 687,
"name": "POP"
},
{
"begin": 621,
"end": 687,
"name": "POP"
},
{
"begin": 621,
"end": 687,
"name": "POP"
},
{
"begin": 621,
"end": 687,
"name": "POP"
},
{
"begin": 621,
"end": 687,
"name": "SWAP1"
},
{
"begin": 621,
"end": 687,
"name": "POP"
},
{
"begin": 621,
"end": 687,
"name": "DUP3"
},
{
"begin": 621,
"end": 687,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 263,
"end": 317,
"name": "tag",
"value": "31"
},
{
"begin": 263,
"end": 317,
"name": "JUMPDEST"
},
{
"begin": 263,
"end": 317,
"name": "PUSH",
"value": "2"
},
{
"begin": 263,
"end": 317,
"name": "DUP2"
},
{
"begin": 28,
"end": 35,
"name": "DUP1"
},
{
"begin": 22,
"end": 36,
"name": "MLOAD"
},
{
"begin": 169,
"end": 173,
"name": "PUSH",
"value": "20"
},
{
"begin": 160,
"end": 167,
"name": "DUP2"
},
{
"begin": 156,
"end": 174,
"name": "ADD"
},
{
"begin": 147,
"end": 154,
"name": "DUP3"
},
{
"begin": 143,
"end": 175,
"name": "ADD"
},
{
"begin": 204,
"end": 217,
"name": "DUP1"
},
{
"begin": 198,
"end": 218,
"name": "MLOAD"
},
{
"begin": 246,
"end": 254,
"name": "DUP5"
},
{
"begin": 231,
"end": 244,
"name": "DUP3"
},
{
"begin": 224,
"end": 255,
"name": "MSTORE"
},
{
"begin": 316,
"end": 320,
"name": "PUSH",
"value": "20"
},
{
"begin": 307,
"end": 314,
"name": "DUP4"
},
{
"begin": 303,
"end": 321,
"name": "ADD"
},
{
"begin": 296,
"end": 300,
"name": "PUSH",
"value": "20"
},
{
"begin": 287,
"end": 294,
"name": "DUP6"
},
{
"begin": 283,
"end": 301,
"name": "ADD"
},
{
"begin": 273,
"end": 322,
"name": "KECCAK256"
},
{
"begin": 350,
"end": 359,
"name": "DUP2"
},
{
"begin": 335,
"end": 348,
"name": "DUP4"
},
{
"begin": 328,
"end": 360,
"name": "MSTORE"
},
{
"begin": 378,
"end": 382,
"name": "DUP1"
},
{
"begin": 366,
"end": 382,
"name": "SWAP6"
},
{
"begin": 366,
"end": 382,
"name": "POP"
},
{
"begin": 0,
"end": 388,
"name": "POP"
},
{
"begin": 0,
"end": 388,
"name": "POP"
},
{
"begin": 0,
"end": 388,
"name": "POP"
},
{
"begin": 0,
"end": 388,
"name": "POP"
},
{
"begin": 263,
"end": 317,
"name": "POP"
},
{
"begin": 263,
"end": 317,
"name": "PUSH",
"value": "0"
},
{
"begin": 263,
"end": 317,
"name": "SWAP2"
},
{
"begin": 263,
"end": 317,
"name": "POP"
},
{
"begin": 263,
"end": 317,
"name": "SWAP1"
},
{
"begin": 263,
"end": 317,
"name": "POP"
},
{
"begin": 263,
"end": 317,
"name": "SLOAD"
},
{
"begin": 263,
"end": 317,
"name": "DUP2"
},
{
"begin": 263,
"end": 317,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 234,
"end": 256,
"name": "tag",
"value": "34"
},
{
"begin": 234,
"end": 256,
"name": "JUMPDEST"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "1"
},
{
"begin": 234,
"end": 256,
"name": "DUP2"
},
{
"begin": 234,
"end": 256,
"name": "DUP2"
},
{
"begin": 234,
"end": 256,
"name": "SLOAD"
},
{
"begin": 234,
"end": 256,
"name": "DUP2"
},
{
"begin": 234,
"end": 256,
"name": "LT"
},
{
"begin": 234,
"end": 256,
"name": "PUSH [tag]",
"value": "51"
},
{
"begin": 234,
"end": 256,
"name": "JUMPI"
},
{
"begin": 234,
"end": 256,
"name": "INVALID"
},
{
"begin": 234,
"end": 256,
"name": "tag",
"value": "51"
},
{
"begin": 234,
"end": 256,
"name": "JUMPDEST"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "0"
},
{
"begin": 234,
"end": 256,
"name": "MSTORE"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "20"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "0"
},
{
"begin": 234,
"end": 256,
"name": "KECCAK256"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "2"
},
{
"begin": 234,
"end": 256,
"name": "MUL"
},
{
"begin": 234,
"end": 256,
"name": "ADD"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "0"
},
{
"begin": 234,
"end": 256,
"name": "SWAP2"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "0"
},
{
"begin": 234,
"end": 256,
"name": "ADD"
},
{
"begin": 234,
"end": 256,
"name": "SLOAD"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "1"
},
{
"begin": 234,
"end": 256,
"name": "ADD"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "SLOAD"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "1"
},
{
"begin": 234,
"end": 256,
"name": "DUP2"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "1"
},
{
"begin": 234,
"end": 256,
"name": "AND"
},
{
"begin": 234,
"end": 256,
"name": "ISZERO"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "100"
},
{
"begin": 234,
"end": 256,
"name": "MUL"
},
{
"begin": 234,
"end": 256,
"name": "SUB"
},
{
"begin": 234,
"end": 256,
"name": "AND"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "2"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "DIV"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "1F"
},
{
"begin": 234,
"end": 256,
"name": "ADD"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "20"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "SWAP2"
},
{
"begin": 234,
"end": 256,
"name": "DIV"
},
{
"begin": 234,
"end": 256,
"name": "MUL"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "20"
},
{
"begin": 234,
"end": 256,
"name": "ADD"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "40"
},
{
"begin": 234,
"end": 256,
"name": "MLOAD"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "DUP2"
},
{
"begin": 234,
"end": 256,
"name": "ADD"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "40"
},
{
"begin": 234,
"end": 256,
"name": "MSTORE"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "SWAP3"
},
{
"begin": 234,
"end": 256,
"name": "SWAP2"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "DUP2"
},
{
"begin": 234,
"end": 256,
"name": "DUP2"
},
{
"begin": 234,
"end": 256,
"name": "MSTORE"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "20"
},
{
"begin": 234,
"end": 256,
"name": "ADD"
},
{
"begin": 234,
"end": 256,
"name": "DUP3"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "SLOAD"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "1"
},
{
"begin": 234,
"end": 256,
"name": "DUP2"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "1"
},
{
"begin": 234,
"end": 256,
"name": "AND"
},
{
"begin": 234,
"end": 256,
"name": "ISZERO"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "100"
},
{
"begin": 234,
"end": 256,
"name": "MUL"
},
{
"begin": 234,
"end": 256,
"name": "SUB"
},
{
"begin": 234,
"end": 256,
"name": "AND"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "2"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "DIV"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "ISZERO"
},
{
"begin": 234,
"end": 256,
"name": "PUSH [tag]",
"value": "53"
},
{
"begin": 234,
"end": 256,
"name": "JUMPI"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "1F"
},
{
"begin": 234,
"end": 256,
"name": "LT"
},
{
"begin": 234,
"end": 256,
"name": "PUSH [tag]",
"value": "54"
},
{
"begin": 234,
"end": 256,
"name": "JUMPI"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "100"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "DUP4"
},
{
"begin": 234,
"end": 256,
"name": "SLOAD"
},
{
"begin": 234,
"end": 256,
"name": "DIV"
},
{
"begin": 234,
"end": 256,
"name": "MUL"
},
{
"begin": 234,
"end": 256,
"name": "DUP4"
},
{
"begin": 234,
"end": 256,
"name": "MSTORE"
},
{
"begin": 234,
"end": 256,
"name": "SWAP2"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "20"
},
{
"begin": 234,
"end": 256,
"name": "ADD"
},
{
"begin": 234,
"end": 256,
"name": "SWAP2"
},
{
"begin": 234,
"end": 256,
"name": "PUSH [tag]",
"value": "53"
},
{
"begin": 234,
"end": 256,
"name": "JUMP"
},
{
"begin": 234,
"end": 256,
"name": "tag",
"value": "54"
},
{
"begin": 234,
"end": 256,
"name": "JUMPDEST"
},
{
"begin": 234,
"end": 256,
"name": "DUP3"
},
{
"begin": 234,
"end": 256,
"name": "ADD"
},
{
"begin": 234,
"end": 256,
"name": "SWAP2"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "0"
},
{
"begin": 234,
"end": 256,
"name": "MSTORE"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "20"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "0"
},
{
"begin": 234,
"end": 256,
"name": "KECCAK256"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "tag",
"value": "55"
},
{
"begin": 234,
"end": 256,
"name": "JUMPDEST"
},
{
"begin": 234,
"end": 256,
"name": "DUP2"
},
{
"begin": 234,
"end": 256,
"name": "SLOAD"
},
{
"begin": 234,
"end": 256,
"name": "DUP2"
},
{
"begin": 234,
"end": 256,
"name": "MSTORE"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "1"
},
{
"begin": 234,
"end": 256,
"name": "ADD"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "20"
},
{
"begin": 234,
"end": 256,
"name": "ADD"
},
{
"begin": 234,
"end": 256,
"name": "DUP1"
},
{
"begin": 234,
"end": 256,
"name": "DUP4"
},
{
"begin": 234,
"end": 256,
"name": "GT"
},
{
"begin": 234,
"end": 256,
"name": "PUSH [tag]",
"value": "55"
},
{
"begin": 234,
"end": 256,
"name": "JUMPI"
},
{
"begin": 234,
"end": 256,
"name": "DUP3"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "SUB"
},
{
"begin": 234,
"end": 256,
"name": "PUSH",
"value": "1F"
},
{
"begin": 234,
"end": 256,
"name": "AND"
},
{
"begin": 234,
"end": 256,
"name": "DUP3"
},
{
"begin": 234,
"end": 256,
"name": "ADD"
},
{
"begin": 234,
"end": 256,
"name": "SWAP2"
},
{
"begin": 234,
"end": 256,
"name": "tag",
"value": "53"
},
{
"begin": 234,
"end": 256,
"name": "JUMPDEST"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "SWAP1"
},
{
"begin": 234,
"end": 256,
"name": "POP"
},
{
"begin": 234,
"end": 256,
"name": "DUP3"
},
{
"begin": 234,
"end": 256,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "44"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "DUP3"
},
{
"begin": 57,
"end": 784,
"name": "DUP1"
},
{
"begin": 57,
"end": 784,
"name": "SLOAD"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "1"
},
{
"begin": 57,
"end": 784,
"name": "DUP2"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "1"
},
{
"begin": 57,
"end": 784,
"name": "AND"
},
{
"begin": 57,
"end": 784,
"name": "ISZERO"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "100"
},
{
"begin": 57,
"end": 784,
"name": "MUL"
},
{
"begin": 57,
"end": 784,
"name": "SUB"
},
{
"begin": 57,
"end": 784,
"name": "AND"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "2"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "DIV"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "0"
},
{
"begin": 57,
"end": 784,
"name": "MSTORE"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "20"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "0"
},
{
"begin": 57,
"end": 784,
"name": "KECCAK256"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "1F"
},
{
"begin": 57,
"end": 784,
"name": "ADD"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "20"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "DIV"
},
{
"begin": 57,
"end": 784,
"name": "DUP2"
},
{
"begin": 57,
"end": 784,
"name": "ADD"
},
{
"begin": 57,
"end": 784,
"name": "SWAP3"
},
{
"begin": 57,
"end": 784,
"name": "DUP3"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "1F"
},
{
"begin": 57,
"end": 784,
"name": "LT"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "57"
},
{
"begin": 57,
"end": 784,
"name": "JUMPI"
},
{
"begin": 57,
"end": 784,
"name": "DUP1"
},
{
"begin": 57,
"end": 784,
"name": "MLOAD"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "FF"
},
{
"begin": 57,
"end": 784,
"name": "NOT"
},
{
"begin": 57,
"end": 784,
"name": "AND"
},
{
"begin": 57,
"end": 784,
"name": "DUP4"
},
{
"begin": 57,
"end": 784,
"name": "DUP1"
},
{
"begin": 57,
"end": 784,
"name": "ADD"
},
{
"begin": 57,
"end": 784,
"name": "OR"
},
{
"begin": 57,
"end": 784,
"name": "DUP6"
},
{
"begin": 57,
"end": 784,
"name": "SSTORE"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "56"
},
{
"begin": 57,
"end": 784,
"name": "JUMP"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "57"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "DUP3"
},
{
"begin": 57,
"end": 784,
"name": "DUP1"
},
{
"begin": 57,
"end": 784,
"name": "ADD"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "1"
},
{
"begin": 57,
"end": 784,
"name": "ADD"
},
{
"begin": 57,
"end": 784,
"name": "DUP6"
},
{
"begin": 57,
"end": 784,
"name": "SSTORE"
},
{
"begin": 57,
"end": 784,
"name": "DUP3"
},
{
"begin": 57,
"end": 784,
"name": "ISZERO"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "56"
},
{
"begin": 57,
"end": 784,
"name": "JUMPI"
},
{
"begin": 57,
"end": 784,
"name": "SWAP2"
},
{
"begin": 57,
"end": 784,
"name": "DUP3"
},
{
"begin": 57,
"end": 784,
"name": "ADD"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "58"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "DUP3"
},
{
"begin": 57,
"end": 784,
"name": "DUP2"
},
{
"begin": 57,
"end": 784,
"name": "GT"
},
{
"begin": 57,
"end": 784,
"name": "ISZERO"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "59"
},
{
"begin": 57,
"end": 784,
"name": "JUMPI"
},
{
"begin": 57,
"end": 784,
"name": "DUP3"
},
{
"begin": 57,
"end": 784,
"name": "MLOAD"
},
{
"begin": 57,
"end": 784,
"name": "DUP3"
},
{
"begin": 57,
"end": 784,
"name": "SSTORE"
},
{
"begin": 57,
"end": 784,
"name": "SWAP2"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "20"
},
{
"begin": 57,
"end": 784,
"name": "ADD"
},
{
"begin": 57,
"end": 784,
"name": "SWAP2"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "1"
},
{
"begin": 57,
"end": 784,
"name": "ADD"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "58"
},
{
"begin": 57,
"end": 784,
"name": "JUMP"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "59"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "56"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "POP"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "POP"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "60"
},
{
"begin": 57,
"end": 784,
"name": "SWAP2"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "61"
},
{
"begin": 57,
"end": 784,
"name": "JUMP",
"value": "[in]"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "60"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "POP"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "JUMP",
"value": "[out]"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "61"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "62"
},
{
"begin": 57,
"end": 784,
"name": "SWAP2"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "63"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "DUP1"
},
{
"begin": 57,
"end": 784,
"name": "DUP3"
},
{
"begin": 57,
"end": 784,
"name": "GT"
},
{
"begin": 57,
"end": 784,
"name": "ISZERO"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "64"
},
{
"begin": 57,
"end": 784,
"name": "JUMPI"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "0"
},
{
"begin": 57,
"end": 784,
"name": "DUP2"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "0"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "SSTORE"
},
{
"begin": 57,
"end": 784,
"name": "POP"
},
{
"begin": 57,
"end": 784,
"name": "PUSH",
"value": "1"
},
{
"begin": 57,
"end": 784,
"name": "ADD"
},
{
"begin": 57,
"end": 784,
"name": "PUSH [tag]",
"value": "63"
},
{
"begin": 57,
"end": 784,
"name": "JUMP"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "64"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "POP"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "JUMP"
},
{
"begin": 57,
"end": 784,
"name": "tag",
"value": "62"
},
{
"begin": 57,
"end": 784,
"name": "JUMPDEST"
},
{
"begin": 57,
"end": 784,
"name": "SWAP1"
},
{
"begin": 57,
"end": 784,
"name": "JUMP",
"value": "[out]"
}
]
}
}
},
"methodIdentifiers": {
"addPerson(string,uint256)": "6f760f41",
"nameToFavoriteNumber(string)": "8bab8dd5",
"people(uint256)": "9e7a13ad",
"person()": "77ec2b55",
"retrieve()": "2e64cec1",
"store(uint256)": "6057361d"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.6.0+commit.26b70077\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_favoriteNumber\",\"type\":\"uint256\"}],\"name\":\"addPerson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"nameToFavoriteNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"people\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"favoritenumber\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"person\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"favoritenumber\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"retrieve\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_favoriteNumber\",\"type\":\"uint256\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"SimpleStorage.sol\":\"SimpleStorage\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"SimpleStorage.sol\":{\"keccak256\":\"0xc2ab8d8079ae28f57a266def0c607783a347d70fb0b71c546d4b643ba73c7c7b\",\"urls\":[\"bzz-raw://e2bb0919ca1b48b09355cbf3316a3ff440a7d2927c818b92f6424684c88afdf9\",\"dweb:/ipfs/QmUBXr2NptG1nra6ZhmWfMsGwhvkYac7tNqwtWYy6umxzo\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 3,
"contract": "SimpleStorage.sol:SimpleStorage",
"label": "favoritenumber",
"offset": 0,
"slot": "0",
"type": "t_uint256"
},
{
"astId": 11,
"contract": "SimpleStorage.sol:SimpleStorage",
"label": "people",
"offset": 0,
"slot": "1",
"type": "t_array(t_struct(People)8_storage)dyn_storage"
},
{
"astId": 15,
"contract": "SimpleStorage.sol:SimpleStorage",
"label": "nameToFavoriteNumber",
"offset": 0,
"slot": "2",
"type": "t_mapping(t_string_memory,t_uint256)"
},
{
"astId": 54,
"contract": "SimpleStorage.sol:SimpleStorage",
"label": "person",
"offset": 0,
"slot": "3",
"type": "t_struct(People)8_storage"
}
],
"types": {
"t_array(t_struct(People)8_storage)dyn_storage": {
"base": "t_struct(People)8_storage",
"encoding": "dynamic_array",
"label": "struct SimpleStorage.People[]",
"numberOfBytes": "32"
},
"t_mapping(t_string_memory,t_uint256)": {
"encoding": "mapping",
"key": "t_string_memory",
"label": "mapping(string => uint256)",
"numberOfBytes": "32",
"value": "t_uint256"
},
"t_string_memory": {
"encoding": "bytes",
"label": "string",
"numberOfBytes": "32"
},
"t_string_storage": {
"encoding": "bytes",
"label": "string",
"numberOfBytes": "32"
},
"t_struct(People)8_storage": {
"encoding": "inplace",
"label": "struct SimpleStorage.People",
"members": [
{
"astId": 5,
"contract": "SimpleStorage.sol:SimpleStorage",
"label": "favoritenumber",
"offset": 0,
"slot": "0",
"type": "t_uint256"
},
{
"astId": 7,
"contract": "SimpleStorage.sol:SimpleStorage",
"label": "name",
"offset": 0,
"slot": "1",
"type": "t_string_storage"
}
],
"numberOfBytes": "64"
},
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"methods": {}
}
}
}
},
"sources": {
"SimpleStorage.sol": {
"ast": {
"absolutePath": "SimpleStorage.sol",
"exportedSymbols": {
"SimpleStorage": [
63
]
},
"id": 64,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.6",
".0"
],
"nodeType": "PragmaDirective",
"src": "32:23:0"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 63,
"linearizedBaseContracts": [
63
],
"name": "SimpleStorage",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 3,
"name": "favoritenumber",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 63,
"src": "125:22:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "125:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"canonicalName": "SimpleStorage.People",
"id": 8,
"members": [
{
"constant": false,
"id": 5,
"name": "favoritenumber",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 8,
"src": "178:22:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "178:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 7,
"name": "name",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 8,
"src": "210:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 6,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "210:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"name": "People",
"nodeType": "StructDefinition",
"scope": 63,
"src": "154:74:0",
"visibility": "public"
},
{
"constant": false,
"functionSelector": "9e7a13ad",
"id": 11,
"name": "people",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 63,
"src": "234:22:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_People_$8_storage_$dyn_storage",
"typeString": "struct SimpleStorage.People[]"
},
"typeName": {
"baseType": {
"contractScope": null,
"id": 9,
"name": "People",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 8,
"src": "234:6:0",
"typeDescriptions": {
"typeIdentifier": "t_struct$_People_$8_storage_ptr",
"typeString": "struct SimpleStorage.People"
}
},
"id": 10,
"length": null,
"nodeType": "ArrayTypeName",
"src": "234:8:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_People_$8_storage_$dyn_storage_ptr",
"typeString": "struct SimpleStorage.People[]"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"functionSelector": "8bab8dd5",
"id": 15,
"name": "nameToFavoriteNumber",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 63,
"src": "263:54:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
"typeString": "mapping(string => uint256)"
},
"typeName": {
"id": 14,
"keyType": {
"id": 12,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "271:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"nodeType": "Mapping",
"src": "263:26:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
"typeString": "mapping(string => uint256)"
},
"valueType": {
"id": 13,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "281:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
},
"value": null,
"visibility": "public"
},
{
"body": {
"id": 37,
"nodeType": "Block",
"src": "397:115:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 26,
"name": "_favoriteNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19,
"src": "426:15:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
"id": 27,
"name": "_name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17,
"src": "443:5:0",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"id": 25,
"name": "People",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8,
"src": "419:6:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_People_$8_storage_ptr_$",
"typeString": "type(struct SimpleStorage.People storage pointer)"
}
},
"id": 28,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "structConstructorCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "419:30:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_People_$8_memory",
"typeString": "struct SimpleStorage.People memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_struct$_People_$8_memory",
"typeString": "struct SimpleStorage.People memory"
}
],
"expression": {
"argumentTypes": null,
"id": 22,
"name": "people",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11,
"src": "407:6:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_People_$8_storage_$dyn_storage",
"typeString": "struct SimpleStorage.People storage ref[] storage ref"
}
},
"id": 24,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "push",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "407:11:0",
"typeDescriptions": {
"typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_People_$8_storage_$returns$__$",
"typeString": "function (struct SimpleStorage.People storage ref)"
}
},
"id": 29,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "407:43:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 30,
"nodeType": "ExpressionStatement",
"src": "407:43:0"
},
{
"expression": {
"argumentTypes": null,
"id": 35,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 31,
"name": "nameToFavoriteNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15,
"src": "460:20:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
"typeString": "mapping(string memory => uint256)"
}
},
"id": 33,
"indexExpression": {
"argumentTypes": null,
"id": 32,
"name": "_name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17,
"src": "481:5:0",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "460:27:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 34,
"name": "_favoriteNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19,
"src": "490:15:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "460:45:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 36,
"nodeType": "ExpressionStatement",
"src": "460:45:0"
}
]
},
"documentation": null,
"functionSelector": "6f760f41",
"id": 38,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "addPerson",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 20,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 17,
"name": "_name",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 38,
"src": "344:19:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 16,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "344:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 19,
"name": "_favoriteNumber",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 38,
"src": "365:23:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 18,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "365:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "343:46:0"
},
"returnParameters": {
"id": 21,
"nodeType": "ParameterList",
"parameters": [],
"src": "397:0:0"
},
"scope": 63,
"src": "325:187:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 47,
"nodeType": "Block",
"src": "565:50:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 45,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 43,
"name": "favoritenumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "575:14:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 44,
"name": "_favoriteNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 40,
"src": "592:15:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "575:32:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 46,
"nodeType": "ExpressionStatement",
"src": "575:32:0"
}
]
},
"documentation": null,
"functionSelector": "6057361d",
"id": 48,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "store",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 41,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 40,
"name": "_favoriteNumber",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 48,
"src": "533:23:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 39,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "533:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "532:25:0"
},
"returnParameters": {
"id": 42,
"nodeType": "ParameterList",
"parameters": [],
"src": "565:0:0"
},
"scope": 63,
"src": "518:97:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"constant": false,
"functionSelector": "77ec2b55",
"id": 54,
"name": "person",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 63,
"src": "621:66:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_struct$_People_$8_storage",
"typeString": "struct SimpleStorage.People"
},
"typeName": {
"contractScope": null,
"id": 49,
"name": "People",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 8,
"src": "621:6:0",
"typeDescriptions": {
"typeIdentifier": "t_struct$_People_$8_storage_ptr",
"typeString": "struct SimpleStorage.People"
}
},
"value": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "32",
"id": 51,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "668:1:0",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_2_by_1",
"typeString": "int_const 2"
},
"value": "2"
},
{
"argumentTypes": null,
"hexValue": "4d6174657573",
"id": 52,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "677:8:0",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_290fc49a20f35a41959a1a36bcd7d0f83e845421db79c00b09969a52be227145",
"typeString": "literal_string \"Mateus\""
},
"value": "Mateus"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_2_by_1",
"typeString": "int_const 2"
},
{
"typeIdentifier": "t_stringliteral_290fc49a20f35a41959a1a36bcd7d0f83e845421db79c00b09969a52be227145",
"typeString": "literal_string \"Mateus\""
}
],
"id": 50,
"name": "People",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8,
"src": "644:6:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_People_$8_storage_ptr_$",
"typeString": "type(struct SimpleStorage.People storage pointer)"
}
},
"id": 53,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"names": [
"favoritenumber",
"name"
],
"nodeType": "FunctionCall",
"src": "644:43:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_People_$8_memory",
"typeString": "struct SimpleStorage.People memory"
}
},
"visibility": "public"
},
{
"body": {
"id": 61,
"nodeType": "Block",
"src": "744:38:0",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 59,
"name": "favoritenumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "761:14:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 58,
"id": 60,
"nodeType": "Return",
"src": "754:21:0"
}
]
},
"documentation": null,
"functionSelector": "2e64cec1",
"id": 62,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "retrieve",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 55,
"nodeType": "ParameterList",
"parameters": [],
"src": "712:2:0"
},
"returnParameters": {
"id": 58,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 57,
"name": "",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 62,
"src": "736:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 56,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "736:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "735:9:0"
},
"scope": 63,
"src": "694:88:0",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
}
],
"scope": 64,
"src": "57:727:0"
}
],
"src": "32:752:0"
},
"id": 0
}
}
}
}
{
"id": "ee04602afc751e52c3ea5718a7f7313a",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.7",
"solcLongVersion": "0.8.7+commit.e28d00a7",
"input": {
"language": "Solidity",
"sources": {
"SimpleStorage.sol": {
"content": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.9.0;\n\ncontract SimpleStorage {\n\n uint256 favoriteNumber;\n\n // This is a comment!\n struct People {\n uint256 favoriteNumber;\n string name;\n }\n\n People[] public people;\n mapping(string => uint256) public nameToFavoriteNumber;\n\n function store(uint256 _favoriteNumber) public {\n favoriteNumber = _favoriteNumber;\n }\n \n function retrieve() public view returns (uint256){\n return favoriteNumber;\n }\n\n function addPerson(string memory _name, uint256 _favoriteNumber) public {\n people.push(People(_favoriteNumber, _name));\n nameToFavoriteNumber[_name] = _favoriteNumber;\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": {
"SimpleStorage.sol": {
"SimpleStorage": {
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
},
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "addPerson",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"name": "nameToFavoriteNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "people",
"outputs": [
{
"internalType": "uint256",
"name": "favoriteNumber",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "retrieve",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"SimpleStorage.sol\":66:708 contract SimpleStorage {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"SimpleStorage.sol\":66:708 contract SimpleStorage {... */\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 0x2e64cec1\n eq\n tag_3\n jumpi\n dup1\n 0x6057361d\n eq\n tag_4\n jumpi\n dup1\n 0x6f760f41\n eq\n tag_5\n jumpi\n dup1\n 0x8bab8dd5\n eq\n tag_6\n jumpi\n dup1\n 0x9e7a13ad\n eq\n tag_7\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"SimpleStorage.sol\":426:513 function retrieve() public view returns (uint256){... */\n tag_3:\n tag_8\n tag_9\n jump\t// in\n tag_8:\n mload(0x40)\n tag_10\n swap2\n swap1\n tag_11\n jump\t// in\n tag_10:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"SimpleStorage.sol\":320:416 function store(uint256 _favoriteNumber) public {... */\n tag_4:\n tag_12\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_13\n swap2\n swap1\n tag_14\n jump\t// in\n tag_13:\n tag_15\n jump\t// in\n tag_12:\n stop\n /* \"SimpleStorage.sol\":519:706 function addPerson(string memory _name, uint256 _favoriteNumber) public {... */\n tag_5:\n tag_16\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_17\n swap2\n swap1\n tag_18\n jump\t// in\n tag_17:\n tag_19\n jump\t// in\n tag_16:\n stop\n /* \"SimpleStorage.sol\":259:313 mapping(string => uint256) public nameToFavoriteNumber */\n tag_6:\n tag_20\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_21\n swap2\n swap1\n tag_22\n jump\t// in\n tag_21:\n tag_23\n jump\t// in\n tag_20:\n mload(0x40)\n tag_24\n swap2\n swap1\n tag_11\n jump\t// in\n tag_24:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"SimpleStorage.sol\":231:253 People[] public people */\n tag_7:\n tag_25\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_26\n swap2\n swap1\n tag_14\n jump\t// in\n tag_26:\n tag_27\n jump\t// in\n tag_25:\n mload(0x40)\n tag_28\n swap3\n swap2\n swap1\n tag_29\n jump\t// in\n tag_28:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"SimpleStorage.sol\":426:513 function retrieve() public view returns (uint256){... */\n tag_9:\n /* \"SimpleStorage.sol\":467:474 uint256 */\n 0x00\n /* \"SimpleStorage.sol\":492:506 favoriteNumber */\n dup1\n sload\n /* \"SimpleStorage.sol\":485:506 return favoriteNumber */\n swap1\n pop\n /* \"SimpleStorage.sol\":426:513 function retrieve() public view returns (uint256){... */\n swap1\n jump\t// out\n /* \"SimpleStorage.sol\":320:416 function store(uint256 _favoriteNumber) public {... */\n tag_15:\n /* \"SimpleStorage.sol\":394:409 _favoriteNumber */\n dup1\n /* \"SimpleStorage.sol\":377:391 favoriteNumber */\n 0x00\n /* \"SimpleStorage.sol\":377:409 favoriteNumber = _favoriteNumber */\n dup2\n swap1\n sstore\n pop\n /* \"SimpleStorage.sol\":320:416 function store(uint256 _favoriteNumber) public {... */\n pop\n jump\t// out\n /* \"SimpleStorage.sol\":519:706 function addPerson(string memory _name, uint256 _favoriteNumber) public {... */\n tag_19:\n /* \"SimpleStorage.sol\":601:607 people */\n 0x01\n /* \"SimpleStorage.sol\":613:643 People(_favoriteNumber, _name) */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n /* \"SimpleStorage.sol\":620:635 _favoriteNumber */\n dup4\n /* \"SimpleStorage.sol\":613:643 People(_favoriteNumber, _name) */\n dup2\n mstore\n 0x20\n add\n /* \"SimpleStorage.sol\":637:642 _name */\n dup5\n /* \"SimpleStorage.sol\":613:643 People(_favoriteNumber, _name) */\n dup2\n mstore\n pop\n /* \"SimpleStorage.sol\":601:644 people.push(People(_favoriteNumber, _name)) */\n swap1\n dup1\n 0x01\n dup2\n sload\n add\n dup1\n dup3\n sstore\n dup1\n swap2\n pop\n pop\n 0x01\n swap1\n sub\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x02\n mul\n add\n 0x00\n swap1\n swap2\n swap1\n swap2\n swap1\n swap2\n pop\n 0x00\n dup3\n add\n mload\n dup2\n 0x00\n add\n sstore\n 0x20\n dup3\n add\n mload\n dup2\n 0x01\n add\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_34\n swap3\n swap2\n swap1\n tag_35\n jump\t// in\n tag_34:\n pop\n pop\n pop\n /* \"SimpleStorage.sol\":684:699 _favoriteNumber */\n dup1\n /* \"SimpleStorage.sol\":654:674 nameToFavoriteNumber */\n 0x02\n /* \"SimpleStorage.sol\":675:680 _name */\n dup4\n /* \"SimpleStorage.sol\":654:681 nameToFavoriteNumber[_name] */\n mload(0x40)\n tag_36\n swap2\n swap1\n tag_37\n jump\t// in\n tag_36:\n swap1\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n keccak256\n /* \"SimpleStorage.sol\":654:699 nameToFavoriteNumber[_name] = _favoriteNumber */\n dup2\n swap1\n sstore\n pop\n /* \"SimpleStorage.sol\":519:706 function addPerson(string memory _name, uint256 _favoriteNumber) public {... */\n pop\n pop\n jump\t// out\n /* \"SimpleStorage.sol\":259:313 mapping(string => uint256) public nameToFavoriteNumber */\n tag_23:\n 0x02\n dup2\n dup1\n mload\n 0x20\n dup2\n add\n dup3\n add\n dup1\n mload\n dup5\n dup3\n mstore\n 0x20\n dup4\n add\n 0x20\n dup6\n add\n keccak256\n dup2\n dup4\n mstore\n dup1\n swap6\n pop\n pop\n pop\n pop\n pop\n pop\n 0x00\n swap2\n pop\n swap1\n pop\n sload\n dup2\n jump\t// out\n /* \"SimpleStorage.sol\":231:253 People[] public people */\n tag_27:\n 0x01\n dup2\n dup2\n sload\n dup2\n lt\n tag_38\n jumpi\n 0x00\n dup1\n revert\n tag_38:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x02\n mul\n add\n 0x00\n swap2\n pop\n swap1\n pop\n dup1\n 0x00\n add\n sload\n swap1\n dup1\n 0x01\n add\n dup1\n sload\n tag_40\n swap1\n tag_41\n jump\t// in\n tag_40:\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n tag_42\n swap1\n tag_41\n jump\t// in\n tag_42:\n dup1\n iszero\n tag_43\n jumpi\n dup1\n 0x1f\n lt\n tag_44\n jumpi\n 0x0100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_43)\n tag_44:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_45:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x01\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_45\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_43:\n pop\n pop\n pop\n pop\n pop\n swap1\n pop\n dup3\n jump\t// out\n tag_35:\n dup3\n dup1\n sload\n tag_46\n swap1\n tag_41\n jump\t// in\n tag_46:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x1f\n add\n 0x20\n swap1\n div\n dup2\n add\n swap3\n dup3\n tag_48\n jumpi\n 0x00\n dup6\n sstore\n jump(tag_47)\n tag_48:\n dup3\n 0x1f\n lt\n tag_49\n jumpi\n dup1\n mload\n not(0xff)\n and\n dup4\n dup1\n add\n or\n dup6\n sstore\n jump(tag_47)\n tag_49:\n dup3\n dup1\n add\n 0x01\n add\n dup6\n sstore\n dup3\n iszero\n tag_47\n jumpi\n swap2\n dup3\n add\n tag_50:\n dup3\n dup2\n gt\n iszero\n tag_51\n jumpi\n dup3\n mload\n dup3\n sstore\n swap2\n 0x20\n add\n swap2\n swap1\n 0x01\n add\n swap1\n jump(tag_50)\n tag_51:\n tag_47:\n pop\n swap1\n pop\n tag_52\n swap2\n swap1\n tag_53\n jump\t// in\n tag_52:\n pop\n swap1\n jump\t// out\n tag_53:\n tag_54:\n dup1\n dup3\n gt\n iszero\n tag_55\n jumpi\n 0x00\n dup2\n 0x00\n swap1\n sstore\n pop\n 0x01\n add\n jump(tag_54)\n tag_55:\n pop\n swap1\n jump\t// out\n /* \"#utility.yul\":7:419 */\n tag_57:\n /* \"#utility.yul\":85:90 */\n 0x00\n /* \"#utility.yul\":110:176 */\n tag_59\n /* \"#utility.yul\":126:175 */\n tag_60\n /* \"#utility.yul\":168:174 */\n dup5\n /* \"#utility.yul\":126:175 */\n tag_61\n jump\t// in\n tag_60:\n /* \"#utility.yul\":110:176 */\n tag_62\n jump\t// in\n tag_59:\n /* \"#utility.yul\":101:176 */\n swap1\n pop\n /* \"#utility.yul\":199:205 */\n dup3\n /* \"#utility.yul\":192:197 */\n dup2\n /* \"#utility.yul\":185:206 */\n mstore\n /* \"#utility.yul\":237:241 */\n 0x20\n /* \"#utility.yul\":230:235 */\n dup2\n /* \"#utility.yul\":226:242 */\n add\n /* \"#utility.yul\":275:278 */\n dup5\n /* \"#utility.yul\":266:272 */\n dup5\n /* \"#utility.yul\":261:264 */\n dup5\n /* \"#utility.yul\":257:273 */\n add\n /* \"#utility.yul\":254:279 */\n gt\n /* \"#utility.yul\":251:363 */\n iszero\n tag_63\n jumpi\n /* \"#utility.yul\":282:361 */\n tag_64\n tag_65\n jump\t// in\n tag_64:\n /* \"#utility.yul\":251:363 */\n tag_63:\n /* \"#utility.yul\":372:413 */\n tag_66\n /* \"#utility.yul\":406:412 */\n dup5\n /* \"#utility.yul\":401:404 */\n dup3\n /* \"#utility.yul\":396:399 */\n dup6\n /* \"#utility.yul\":372:413 */\n tag_67\n jump\t// in\n tag_66:\n /* \"#utility.yul\":91:419 */\n pop\n /* \"#utility.yul\":7:419 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":439:779 */\n tag_68:\n /* \"#utility.yul\":495:500 */\n 0x00\n /* \"#utility.yul\":544:547 */\n dup3\n /* \"#utility.yul\":537:541 */\n 0x1f\n /* \"#utility.yul\":529:535 */\n dup4\n /* \"#utility.yul\":525:542 */\n add\n /* \"#utility.yul\":521:548 */\n slt\n /* \"#utility.yul\":511:633 */\n tag_70\n jumpi\n /* \"#utility.yul\":552:631 */\n tag_71\n tag_72\n jump\t// in\n tag_71:\n /* \"#utility.yul\":511:633 */\n tag_70:\n /* \"#utility.yul\":669:675 */\n dup2\n /* \"#utility.yul\":656:676 */\n calldataload\n /* \"#utility.yul\":694:773 */\n tag_73\n /* \"#utility.yul\":769:772 */\n dup5\n /* \"#utility.yul\":761:767 */\n dup3\n /* \"#utility.yul\":754:758 */\n 0x20\n /* \"#utility.yul\":746:752 */\n dup7\n /* \"#utility.yul\":742:759 */\n add\n /* \"#utility.yul\":694:773 */\n tag_57\n jump\t// in\n tag_73:\n /* \"#utility.yul\":685:773 */\n swap2\n pop\n /* \"#utility.yul\":501:779 */\n pop\n /* \"#utility.yul\":439:779 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":785:924 */\n tag_74:\n /* \"#utility.yul\":831:836 */\n 0x00\n /* \"#utility.yul\":869:875 */\n dup2\n /* \"#utility.yul\":856:876 */\n calldataload\n /* \"#utility.yul\":847:876 */\n swap1\n pop\n /* \"#utility.yul\":885:918 */\n tag_76\n /* \"#utility.yul\":912:917 */\n dup2\n /* \"#utility.yul\":885:918 */\n tag_77\n jump\t// in\n tag_76:\n /* \"#utility.yul\":785:924 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":930:1439 */\n tag_22:\n /* \"#utility.yul\":999:1005 */\n 0x00\n /* \"#utility.yul\":1048:1050 */\n 0x20\n /* \"#utility.yul\":1036:1045 */\n dup3\n /* \"#utility.yul\":1027:1034 */\n dup5\n /* \"#utility.yul\":1023:1046 */\n sub\n /* \"#utility.yul\":1019:1051 */\n slt\n /* \"#utility.yul\":1016:1135 */\n iszero\n tag_79\n jumpi\n /* \"#utility.yul\":1054:1133 */\n tag_80\n tag_81\n jump\t// in\n tag_80:\n /* \"#utility.yul\":1016:1135 */\n tag_79:\n /* \"#utility.yul\":1202:1203 */\n 0x00\n /* \"#utility.yul\":1191:1200 */\n dup3\n /* \"#utility.yul\":1187:1204 */\n add\n /* \"#utility.yul\":1174:1205 */\n calldataload\n /* \"#utility.yul\":1232:1250 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1224:1230 */\n dup2\n /* \"#utility.yul\":1221:1251 */\n gt\n /* \"#utility.yul\":1218:1335 */\n iszero\n tag_82\n jumpi\n /* \"#utility.yul\":1254:1333 */\n tag_83\n tag_84\n jump\t// in\n tag_83:\n /* \"#utility.yul\":1218:1335 */\n tag_82:\n /* \"#utility.yul\":1359:1422 */\n tag_85\n /* \"#utility.yul\":1414:1421 */\n dup5\n /* \"#utility.yul\":1405:1411 */\n dup3\n /* \"#utility.yul\":1394:1403 */\n dup6\n /* \"#utility.yul\":1390:1412 */\n add\n /* \"#utility.yul\":1359:1422 */\n tag_68\n jump\t// in\n tag_85:\n /* \"#utility.yul\":1349:1422 */\n swap2\n pop\n /* \"#utility.yul\":1145:1432 */\n pop\n /* \"#utility.yul\":930:1439 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1445:2099 */\n tag_18:\n /* \"#utility.yul\":1523:1529 */\n 0x00\n /* \"#utility.yul\":1531:1537 */\n dup1\n /* \"#utility.yul\":1580:1582 */\n 0x40\n /* \"#utility.yul\":1568:1577 */\n dup4\n /* \"#utility.yul\":1559:1566 */\n dup6\n /* \"#utility.yul\":1555:1578 */\n sub\n /* \"#utility.yul\":1551:1583 */\n slt\n /* \"#utility.yul\":1548:1667 */\n iszero\n tag_87\n jumpi\n /* \"#utility.yul\":1586:1665 */\n tag_88\n tag_81\n jump\t// in\n tag_88:\n /* \"#utility.yul\":1548:1667 */\n tag_87:\n /* \"#utility.yul\":1734:1735 */\n 0x00\n /* \"#utility.yul\":1723:1732 */\n dup4\n /* \"#utility.yul\":1719:1736 */\n add\n /* \"#utility.yul\":1706:1737 */\n calldataload\n /* \"#utility.yul\":1764:1782 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1756:1762 */\n dup2\n /* \"#utility.yul\":1753:1783 */\n gt\n /* \"#utility.yul\":1750:1867 */\n iszero\n tag_89\n jumpi\n /* \"#utility.yul\":1786:1865 */\n tag_90\n tag_84\n jump\t// in\n tag_90:\n /* \"#utility.yul\":1750:1867 */\n tag_89:\n /* \"#utility.yul\":1891:1954 */\n tag_91\n /* \"#utility.yul\":1946:1953 */\n dup6\n /* \"#utility.yul\":1937:1943 */\n dup3\n /* \"#utility.yul\":1926:1935 */\n dup7\n /* \"#utility.yul\":1922:1944 */\n add\n /* \"#utility.yul\":1891:1954 */\n tag_68\n jump\t// in\n tag_91:\n /* \"#utility.yul\":1881:1954 */\n swap3\n pop\n /* \"#utility.yul\":1677:1964 */\n pop\n /* \"#utility.yul\":2003:2005 */\n 0x20\n /* \"#utility.yul\":2029:2082 */\n tag_92\n /* \"#utility.yul\":2074:2081 */\n dup6\n /* \"#utility.yul\":2065:2071 */\n dup3\n /* \"#utility.yul\":2054:2063 */\n dup7\n /* \"#utility.yul\":2050:2072 */\n add\n /* \"#utility.yul\":2029:2082 */\n tag_74\n jump\t// in\n tag_92:\n /* \"#utility.yul\":2019:2082 */\n swap2\n pop\n /* \"#utility.yul\":1974:2092 */\n pop\n /* \"#utility.yul\":1445:2099 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2105:2434 */\n tag_14:\n /* \"#utility.yul\":2164:2170 */\n 0x00\n /* \"#utility.yul\":2213:2215 */\n 0x20\n /* \"#utility.yul\":2201:2210 */\n dup3\n /* \"#utility.yul\":2192:2199 */\n dup5\n /* \"#utility.yul\":2188:2211 */\n sub\n /* \"#utility.yul\":2184:2216 */\n slt\n /* \"#utility.yul\":2181:2300 */\n iszero\n tag_94\n jumpi\n /* \"#utility.yul\":2219:2298 */\n tag_95\n tag_81\n jump\t// in\n tag_95:\n /* \"#utility.yul\":2181:2300 */\n tag_94:\n /* \"#utility.yul\":2339:2340 */\n 0x00\n /* \"#utility.yul\":2364:2417 */\n tag_96\n /* \"#utility.yul\":2409:2416 */\n dup5\n /* \"#utility.yul\":2400:2406 */\n dup3\n /* \"#utility.yul\":2389:2398 */\n dup6\n /* \"#utility.yul\":2385:2407 */\n add\n /* \"#utility.yul\":2364:2417 */\n tag_74\n jump\t// in\n tag_96:\n /* \"#utility.yul\":2354:2417 */\n swap2\n pop\n /* \"#utility.yul\":2310:2427 */\n pop\n /* \"#utility.yul\":2105:2434 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2440:2804 */\n tag_97:\n /* \"#utility.yul\":2528:2531 */\n 0x00\n /* \"#utility.yul\":2556:2595 */\n tag_99\n /* \"#utility.yul\":2589:2594 */\n dup3\n /* \"#utility.yul\":2556:2595 */\n tag_100\n jump\t// in\n tag_99:\n /* \"#utility.yul\":2611:2682 */\n tag_101\n /* \"#utility.yul\":2675:2681 */\n dup2\n /* \"#utility.yul\":2670:2673 */\n dup6\n /* \"#utility.yul\":2611:2682 */\n tag_102\n jump\t// in\n tag_101:\n /* \"#utility.yul\":2604:2682 */\n swap4\n pop\n /* \"#utility.yul\":2691:2743 */\n tag_103\n /* \"#utility.yul\":2736:2742 */\n dup2\n /* \"#utility.yul\":2731:2734 */\n dup6\n /* \"#utility.yul\":2724:2728 */\n 0x20\n /* \"#utility.yul\":2717:2722 */\n dup7\n /* \"#utility.yul\":2713:2729 */\n add\n /* \"#utility.yul\":2691:2743 */\n tag_104\n jump\t// in\n tag_103:\n /* \"#utility.yul\":2768:2797 */\n tag_105\n /* \"#utility.yul\":2790:2796 */\n dup2\n /* \"#utility.yul\":2768:2797 */\n tag_106\n jump\t// in\n tag_105:\n /* \"#utility.yul\":2763:2766 */\n dup5\n /* \"#utility.yul\":2759:2798 */\n add\n /* \"#utility.yul\":2752:2798 */\n swap2\n pop\n /* \"#utility.yul\":2532:2804 */\n pop\n /* \"#utility.yul\":2440:2804 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2810:3187 */\n tag_107:\n /* \"#utility.yul\":2916:2919 */\n 0x00\n /* \"#utility.yul\":2944:2983 */\n tag_109\n /* \"#utility.yul\":2977:2982 */\n dup3\n /* \"#utility.yul\":2944:2983 */\n tag_100\n jump\t// in\n tag_109:\n /* \"#utility.yul\":2999:3088 */\n tag_110\n /* \"#utility.yul\":3081:3087 */\n dup2\n /* \"#utility.yul\":3076:3079 */\n dup6\n /* \"#utility.yul\":2999:3088 */\n tag_111\n jump\t// in\n tag_110:\n /* \"#utility.yul\":2992:3088 */\n swap4\n pop\n /* \"#utility.yul\":3097:3149 */\n tag_112\n /* \"#utility.yul\":3142:3148 */\n dup2\n /* \"#utility.yul\":3137:3140 */\n dup6\n /* \"#utility.yul\":3130:3134 */\n 0x20\n /* \"#utility.yul\":3123:3128 */\n dup7\n /* \"#utility.yul\":3119:3135 */\n add\n /* \"#utility.yul\":3097:3149 */\n tag_104\n jump\t// in\n tag_112:\n /* \"#utility.yul\":3174:3180 */\n dup1\n /* \"#utility.yul\":3169:3172 */\n dup5\n /* \"#utility.yul\":3165:3181 */\n add\n /* \"#utility.yul\":3158:3181 */\n swap2\n pop\n /* \"#utility.yul\":2920:3187 */\n pop\n /* \"#utility.yul\":2810:3187 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3193:3311 */\n tag_113:\n /* \"#utility.yul\":3280:3304 */\n tag_115\n /* \"#utility.yul\":3298:3303 */\n dup2\n /* \"#utility.yul\":3280:3304 */\n tag_116\n jump\t// in\n tag_115:\n /* \"#utility.yul\":3275:3278 */\n dup3\n /* \"#utility.yul\":3268:3305 */\n mstore\n /* \"#utility.yul\":3193:3311 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3317:3592 */\n tag_37:\n /* \"#utility.yul\":3449:3452 */\n 0x00\n /* \"#utility.yul\":3471:3566 */\n tag_118\n /* \"#utility.yul\":3562:3565 */\n dup3\n /* \"#utility.yul\":3553:3559 */\n dup5\n /* \"#utility.yul\":3471:3566 */\n tag_107\n jump\t// in\n tag_118:\n /* \"#utility.yul\":3464:3566 */\n swap2\n pop\n /* \"#utility.yul\":3583:3586 */\n dup2\n /* \"#utility.yul\":3576:3586 */\n swap1\n pop\n /* \"#utility.yul\":3317:3592 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3598:3820 */\n tag_11:\n /* \"#utility.yul\":3691:3695 */\n 0x00\n /* \"#utility.yul\":3729:3731 */\n 0x20\n /* \"#utility.yul\":3718:3727 */\n dup3\n /* \"#utility.yul\":3714:3732 */\n add\n /* \"#utility.yul\":3706:3732 */\n swap1\n pop\n /* \"#utility.yul\":3742:3813 */\n tag_120\n /* \"#utility.yul\":3810:3811 */\n 0x00\n /* \"#utility.yul\":3799:3808 */\n dup4\n /* \"#utility.yul\":3795:3812 */\n add\n /* \"#utility.yul\":3786:3792 */\n dup5\n /* \"#utility.yul\":3742:3813 */\n tag_113\n jump\t// in\n tag_120:\n /* \"#utility.yul\":3598:3820 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3826:4249 */\n tag_29:\n /* \"#utility.yul\":3967:3971 */\n 0x00\n /* \"#utility.yul\":4005:4007 */\n 0x40\n /* \"#utility.yul\":3994:4003 */\n dup3\n /* \"#utility.yul\":3990:4008 */\n add\n /* \"#utility.yul\":3982:4008 */\n swap1\n pop\n /* \"#utility.yul\":4018:4089 */\n tag_122\n /* \"#utility.yul\":4086:4087 */\n 0x00\n /* \"#utility.yul\":4075:4084 */\n dup4\n /* \"#utility.yul\":4071:4088 */\n add\n /* \"#utility.yul\":4062:4068 */\n dup6\n /* \"#utility.yul\":4018:4089 */\n tag_113\n jump\t// in\n tag_122:\n /* \"#utility.yul\":4136:4145 */\n dup2\n /* \"#utility.yul\":4130:4134 */\n dup2\n /* \"#utility.yul\":4126:4146 */\n sub\n /* \"#utility.yul\":4121:4123 */\n 0x20\n /* \"#utility.yul\":4110:4119 */\n dup4\n /* \"#utility.yul\":4106:4124 */\n add\n /* \"#utility.yul\":4099:4147 */\n mstore\n /* \"#utility.yul\":4164:4242 */\n tag_123\n /* \"#utility.yul\":4237:4241 */\n dup2\n /* \"#utility.yul\":4228:4234 */\n dup5\n /* \"#utility.yul\":4164:4242 */\n tag_97\n jump\t// in\n tag_123:\n /* \"#utility.yul\":4156:4242 */\n swap1\n pop\n /* \"#utility.yul\":3826:4249 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4255:4384 */\n tag_62:\n /* \"#utility.yul\":4289:4295 */\n 0x00\n /* \"#utility.yul\":4316:4336 */\n tag_125\n tag_126\n jump\t// in\n tag_125:\n /* \"#utility.yul\":4306:4336 */\n swap1\n pop\n /* \"#utility.yul\":4345:4378 */\n tag_127\n /* \"#utility.yul\":4373:4377 */\n dup3\n /* \"#utility.yul\":4365:4371 */\n dup3\n /* \"#utility.yul\":4345:4378 */\n tag_128\n jump\t// in\n tag_127:\n /* \"#utility.yul\":4255:4384 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4390:4465 */\n tag_126:\n /* \"#utility.yul\":4423:4429 */\n 0x00\n /* \"#utility.yul\":4456:4458 */\n 0x40\n /* \"#utility.yul\":4450:4459 */\n mload\n /* \"#utility.yul\":4440:4459 */\n swap1\n pop\n /* \"#utility.yul\":4390:4465 */\n swap1\n jump\t// out\n /* \"#utility.yul\":4471:4779 */\n tag_61:\n /* \"#utility.yul\":4533:4537 */\n 0x00\n /* \"#utility.yul\":4623:4641 */\n 0xffffffffffffffff\n /* \"#utility.yul\":4615:4621 */\n dup3\n /* \"#utility.yul\":4612:4642 */\n gt\n /* \"#utility.yul\":4609:4665 */\n iszero\n tag_131\n jumpi\n /* \"#utility.yul\":4645:4663 */\n tag_132\n tag_133\n jump\t// in\n tag_132:\n /* \"#utility.yul\":4609:4665 */\n tag_131:\n /* \"#utility.yul\":4683:4712 */\n tag_134\n /* \"#utility.yul\":4705:4711 */\n dup3\n /* \"#utility.yul\":4683:4712 */\n tag_106\n jump\t// in\n tag_134:\n /* \"#utility.yul\":4675:4712 */\n swap1\n pop\n /* \"#utility.yul\":4767:4771 */\n 0x20\n /* \"#utility.yul\":4761:4765 */\n dup2\n /* \"#utility.yul\":4757:4772 */\n add\n /* \"#utility.yul\":4749:4772 */\n swap1\n pop\n /* \"#utility.yul\":4471:4779 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4785:4884 */\n tag_100:\n /* \"#utility.yul\":4837:4843 */\n 0x00\n /* \"#utility.yul\":4871:4876 */\n dup2\n /* \"#utility.yul\":4865:4877 */\n mload\n /* \"#utility.yul\":4855:4877 */\n swap1\n pop\n /* \"#utility.yul\":4785:4884 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4890:5059 */\n tag_102:\n /* \"#utility.yul\":4974:4985 */\n 0x00\n /* \"#utility.yul\":5008:5014 */\n dup3\n /* \"#utility.yul\":5003:5006 */\n dup3\n /* \"#utility.yul\":4996:5015 */\n mstore\n /* \"#utility.yul\":5048:5052 */\n 0x20\n /* \"#utility.yul\":5043:5046 */\n dup3\n /* \"#utility.yul\":5039:5053 */\n add\n /* \"#utility.yul\":5024:5053 */\n swap1\n pop\n /* \"#utility.yul\":4890:5059 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5065:5213 */\n tag_111:\n /* \"#utility.yul\":5167:5178 */\n 0x00\n /* \"#utility.yul\":5204:5207 */\n dup2\n /* \"#utility.yul\":5189:5207 */\n swap1\n pop\n /* \"#utility.yul\":5065:5213 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5219:5296 */\n tag_116:\n /* \"#utility.yul\":5256:5263 */\n 0x00\n /* \"#utility.yul\":5285:5290 */\n dup2\n /* \"#utility.yul\":5274:5290 */\n swap1\n pop\n /* \"#utility.yul\":5219:5296 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5302:5456 */\n tag_67:\n /* \"#utility.yul\":5386:5392 */\n dup3\n /* \"#utility.yul\":5381:5384 */\n dup2\n /* \"#utility.yul\":5376:5379 */\n dup4\n /* \"#utility.yul\":5363:5393 */\n calldatacopy\n /* \"#utility.yul\":5448:5449 */\n 0x00\n /* \"#utility.yul\":5439:5445 */\n dup4\n /* \"#utility.yul\":5434:5437 */\n dup4\n /* \"#utility.yul\":5430:5446 */\n add\n /* \"#utility.yul\":5423:5450 */\n mstore\n /* \"#utility.yul\":5302:5456 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5462:5769 */\n tag_104:\n /* \"#utility.yul\":5530:5531 */\n 0x00\n /* \"#utility.yul\":5540:5653 */\n tag_141:\n /* \"#utility.yul\":5554:5560 */\n dup4\n /* \"#utility.yul\":5551:5552 */\n dup2\n /* \"#utility.yul\":5548:5561 */\n lt\n /* \"#utility.yul\":5540:5653 */\n iszero\n tag_143\n jumpi\n /* \"#utility.yul\":5639:5640 */\n dup1\n /* \"#utility.yul\":5634:5637 */\n dup3\n /* \"#utility.yul\":5630:5641 */\n add\n /* \"#utility.yul\":5624:5642 */\n mload\n /* \"#utility.yul\":5620:5621 */\n dup2\n /* \"#utility.yul\":5615:5618 */\n dup5\n /* \"#utility.yul\":5611:5622 */\n add\n /* \"#utility.yul\":5604:5643 */\n mstore\n /* \"#utility.yul\":5576:5578 */\n 0x20\n /* \"#utility.yul\":5573:5574 */\n dup2\n /* \"#utility.yul\":5569:5579 */\n add\n /* \"#utility.yul\":5564:5579 */\n swap1\n pop\n /* \"#utility.yul\":5540:5653 */\n jump(tag_141)\n tag_143:\n /* \"#utility.yul\":5671:5677 */\n dup4\n /* \"#utility.yul\":5668:5669 */\n dup2\n /* \"#utility.yul\":5665:5678 */\n gt\n /* \"#utility.yul\":5662:5763 */\n iszero\n tag_144\n jumpi\n /* \"#utility.yul\":5751:5752 */\n 0x00\n /* \"#utility.yul\":5742:5748 */\n dup5\n /* \"#utility.yul\":5737:5740 */\n dup5\n /* \"#utility.yul\":5733:5749 */\n add\n /* \"#utility.yul\":5726:5753 */\n mstore\n /* \"#utility.yul\":5662:5763 */\n tag_144:\n /* \"#utility.yul\":5511:5769 */\n pop\n /* \"#utility.yul\":5462:5769 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5775:6095 */\n tag_41:\n /* \"#utility.yul\":5819:5825 */\n 0x00\n /* \"#utility.yul\":5856:5857 */\n 0x02\n /* \"#utility.yul\":5850:5854 */\n dup3\n /* \"#utility.yul\":5846:5858 */\n div\n /* \"#utility.yul\":5836:5858 */\n swap1\n pop\n /* \"#utility.yul\":5903:5904 */\n 0x01\n /* \"#utility.yul\":5897:5901 */\n dup3\n /* \"#utility.yul\":5893:5905 */\n and\n /* \"#utility.yul\":5924:5942 */\n dup1\n /* \"#utility.yul\":5914:5995 */\n tag_146\n jumpi\n /* \"#utility.yul\":5980:5984 */\n 0x7f\n /* \"#utility.yul\":5972:5978 */\n dup3\n /* \"#utility.yul\":5968:5985 */\n and\n /* \"#utility.yul\":5958:5985 */\n swap2\n pop\n /* \"#utility.yul\":5914:5995 */\n tag_146:\n /* \"#utility.yul\":6042:6044 */\n 0x20\n /* \"#utility.yul\":6034:6040 */\n dup3\n /* \"#utility.yul\":6031:6045 */\n lt\n /* \"#utility.yul\":6011:6029 */\n dup2\n /* \"#utility.yul\":6008:6046 */\n eq\n /* \"#utility.yul\":6005:6089 */\n iszero\n tag_147\n jumpi\n /* \"#utility.yul\":6061:6079 */\n tag_148\n tag_149\n jump\t// in\n tag_148:\n /* \"#utility.yul\":6005:6089 */\n tag_147:\n /* \"#utility.yul\":5826:6095 */\n pop\n /* \"#utility.yul\":5775:6095 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6101:6382 */\n tag_128:\n /* \"#utility.yul\":6184:6211 */\n tag_151\n /* \"#utility.yul\":6206:6210 */\n dup3\n /* \"#utility.yul\":6184:6211 */\n tag_106\n jump\t// in\n tag_151:\n /* \"#utility.yul\":6176:6182 */\n dup2\n /* \"#utility.yul\":6172:6212 */\n add\n /* \"#utility.yul\":6314:6320 */\n dup2\n /* \"#utility.yul\":6302:6312 */\n dup2\n /* \"#utility.yul\":6299:6321 */\n lt\n /* \"#utility.yul\":6278:6296 */\n 0xffffffffffffffff\n /* \"#utility.yul\":6266:6276 */\n dup3\n /* \"#utility.yul\":6263:6297 */\n gt\n /* \"#utility.yul\":6260:6322 */\n or\n /* \"#utility.yul\":6257:6345 */\n iszero\n tag_152\n jumpi\n /* \"#utility.yul\":6325:6343 */\n tag_153\n tag_133\n jump\t// in\n tag_153:\n /* \"#utility.yul\":6257:6345 */\n tag_152:\n /* \"#utility.yul\":6365:6375 */\n dup1\n /* \"#utility.yul\":6361:6363 */\n 0x40\n /* \"#utility.yul\":6354:6376 */\n mstore\n /* \"#utility.yul\":6144:6382 */\n pop\n /* \"#utility.yul\":6101:6382 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6388:6568 */\n tag_149:\n /* \"#utility.yul\":6436:6513 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6433:6434 */\n 0x00\n /* \"#utility.yul\":6426:6514 */\n mstore\n /* \"#utility.yul\":6533:6537 */\n 0x22\n /* \"#utility.yul\":6530:6531 */\n 0x04\n /* \"#utility.yul\":6523:6538 */\n mstore\n /* \"#utility.yul\":6557:6561 */\n 0x24\n /* \"#utility.yul\":6554:6555 */\n 0x00\n /* \"#utility.yul\":6547:6562 */\n revert\n /* \"#utility.yul\":6574:6754 */\n tag_133:\n /* \"#utility.yul\":6622:6699 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6619:6620 */\n 0x00\n /* \"#utility.yul\":6612:6700 */\n mstore\n /* \"#utility.yul\":6719:6723 */\n 0x41\n /* \"#utility.yul\":6716:6717 */\n 0x04\n /* \"#utility.yul\":6709:6724 */\n mstore\n /* \"#utility.yul\":6743:6747 */\n 0x24\n /* \"#utility.yul\":6740:6741 */\n 0x00\n /* \"#utility.yul\":6733:6748 */\n revert\n /* \"#utility.yul\":6760:6877 */\n tag_72:\n /* \"#utility.yul\":6869:6870 */\n 0x00\n /* \"#utility.yul\":6866:6867 */\n dup1\n /* \"#utility.yul\":6859:6871 */\n revert\n /* \"#utility.yul\":6883:7000 */\n tag_65:\n /* \"#utility.yul\":6992:6993 */\n 0x00\n /* \"#utility.yul\":6989:6990 */\n dup1\n /* \"#utility.yul\":6982:6994 */\n revert\n /* \"#utility.yul\":7006:7123 */\n tag_84:\n /* \"#utility.yul\":7115:7116 */\n 0x00\n /* \"#utility.yul\":7112:7113 */\n dup1\n /* \"#utility.yul\":7105:7117 */\n revert\n /* \"#utility.yul\":7129:7246 */\n tag_81:\n /* \"#utility.yul\":7238:7239 */\n 0x00\n /* \"#utility.yul\":7235:7236 */\n dup1\n /* \"#utility.yul\":7228:7240 */\n revert\n /* \"#utility.yul\":7252:7354 */\n tag_106:\n /* \"#utility.yul\":7293:7299 */\n 0x00\n /* \"#utility.yul\":7344:7346 */\n 0x1f\n /* \"#utility.yul\":7340:7347 */\n not\n /* \"#utility.yul\":7335:7337 */\n 0x1f\n /* \"#utility.yul\":7328:7333 */\n dup4\n /* \"#utility.yul\":7324:7338 */\n add\n /* \"#utility.yul\":7320:7348 */\n and\n /* \"#utility.yul\":7310:7348 */\n swap1\n pop\n /* \"#utility.yul\":7252:7354 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7360:7482 */\n tag_77:\n /* \"#utility.yul\":7433:7457 */\n tag_162\n /* \"#utility.yul\":7451:7456 */\n dup2\n /* \"#utility.yul\":7433:7457 */\n tag_116\n jump\t// in\n tag_162:\n /* \"#utility.yul\":7426:7431 */\n dup2\n /* \"#utility.yul\":7423:7458 */\n eq\n /* \"#utility.yul\":7413:7476 */\n tag_163\n jumpi\n /* \"#utility.yul\":7472:7473 */\n 0x00\n /* \"#utility.yul\":7469:7470 */\n dup1\n /* \"#utility.yul\":7462:7474 */\n revert\n /* \"#utility.yul\":7413:7476 */\n tag_163:\n /* \"#utility.yul\":7360:7482 */\n pop\n jump\t// out\n\n auxdata: 0xa26469706673582212207460459f982177f5295676ba87dcf72fd53ed9c0fd2cc864a3b31bd8a6f261e564736f6c63430008070033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610771806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80632e64cec11461005c5780636057361d1461007a5780636f760f41146100965780638bab8dd5146100b25780639e7a13ad146100e2575b600080fd5b610064610113565b604051610071919061052a565b60405180910390f35b610094600480360381019061008f919061046d565b61011c565b005b6100b060048036038101906100ab9190610411565b610126565b005b6100cc60048036038101906100c791906103c8565b6101b6565b6040516100d9919061052a565b60405180910390f35b6100fc60048036038101906100f7919061046d565b6101e4565b60405161010a929190610545565b60405180910390f35b60008054905090565b8060008190555050565b6001604051806040016040528083815260200184815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101908051906020019061018c9291906102a0565b505050806002836040516101a09190610513565b9081526020016040518091039020819055505050565b6002818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b600181815481106101f457600080fd5b906000526020600020906002020160009150905080600001549080600101805461021d9061063e565b80601f01602080910402602001604051908101604052809291908181526020018280546102499061063e565b80156102965780601f1061026b57610100808354040283529160200191610296565b820191906000526020600020905b81548152906001019060200180831161027957829003601f168201915b5050505050905082565b8280546102ac9061063e565b90600052602060002090601f0160209004810192826102ce5760008555610315565b82601f106102e757805160ff1916838001178555610315565b82800160010185558215610315579182015b828111156103145782518255916020019190600101906102f9565b5b5090506103229190610326565b5090565b5b8082111561033f576000816000905550600101610327565b5090565b60006103566103518461059a565b610575565b90508281526020810184848401111561037257610371610704565b5b61037d8482856105fc565b509392505050565b600082601f83011261039a576103996106ff565b5b81356103aa848260208601610343565b91505092915050565b6000813590506103c281610724565b92915050565b6000602082840312156103de576103dd61070e565b5b600082013567ffffffffffffffff8111156103fc576103fb610709565b5b61040884828501610385565b91505092915050565b600080604083850312156104285761042761070e565b5b600083013567ffffffffffffffff81111561044657610445610709565b5b61045285828601610385565b9250506020610463858286016103b3565b9150509250929050565b6000602082840312156104835761048261070e565b5b6000610491848285016103b3565b91505092915050565b60006104a5826105cb565b6104af81856105d6565b93506104bf81856020860161060b565b6104c881610713565b840191505092915050565b60006104de826105cb565b6104e881856105e7565b93506104f881856020860161060b565b80840191505092915050565b61050d816105f2565b82525050565b600061051f82846104d3565b915081905092915050565b600060208201905061053f6000830184610504565b92915050565b600060408201905061055a6000830185610504565b818103602083015261056c818461049a565b90509392505050565b600061057f610590565b905061058b8282610670565b919050565b6000604051905090565b600067ffffffffffffffff8211156105b5576105b46106d0565b5b6105be82610713565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b6000819050919050565b82818337600083830152505050565b60005b8381101561062957808201518184015260208101905061060e565b83811115610638576000848401525b50505050565b6000600282049050600182168061065657607f821691505b6020821081141561066a576106696106a1565b5b50919050565b61067982610713565b810181811067ffffffffffffffff82111715610698576106976106d0565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61072d816105f2565b811461073857600080fd5b5056fea26469706673582212207460459f982177f5295676ba87dcf72fd53ed9c0fd2cc864a3b31bd8a6f261e564736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x771 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E64CEC1 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0x7A JUMPI DUP1 PUSH4 0x6F760F41 EQ PUSH2 0x96 JUMPI DUP1 PUSH4 0x8BAB8DD5 EQ PUSH2 0xB2 JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0xE2 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0x113 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x52A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x94 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x8F SWAP2 SWAP1 PUSH2 0x46D JUMP JUMPDEST PUSH2 0x11C JUMP JUMPDEST STOP JUMPDEST PUSH2 0xB0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAB SWAP2 SWAP1 PUSH2 0x411 JUMP JUMPDEST PUSH2 0x126 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xCC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC7 SWAP2 SWAP1 PUSH2 0x3C8 JUMP JUMPDEST PUSH2 0x1B6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD9 SWAP2 SWAP1 PUSH2 0x52A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF7 SWAP2 SWAP1 PUSH2 0x46D JUMP JUMPDEST PUSH2 0x1E4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10A SWAP3 SWAP2 SWAP1 PUSH2 0x545 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x18C SWAP3 SWAP2 SWAP1 PUSH2 0x2A0 JUMP JUMPDEST POP POP POP DUP1 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1A0 SWAP2 SWAP1 PUSH2 0x513 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x21D SWAP1 PUSH2 0x63E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x249 SWAP1 PUSH2 0x63E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x296 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x26B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x296 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x279 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x2AC SWAP1 PUSH2 0x63E JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x2CE JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x315 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x2E7 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x315 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x315 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x314 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x2F9 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x322 SWAP2 SWAP1 PUSH2 0x326 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x33F JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x327 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x356 PUSH2 0x351 DUP5 PUSH2 0x59A JUMP JUMPDEST PUSH2 0x575 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x372 JUMPI PUSH2 0x371 PUSH2 0x704 JUMP JUMPDEST JUMPDEST PUSH2 0x37D DUP5 DUP3 DUP6 PUSH2 0x5FC JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x39A JUMPI PUSH2 0x399 PUSH2 0x6FF JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x3AA DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x343 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3C2 DUP2 PUSH2 0x724 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3DE JUMPI PUSH2 0x3DD PUSH2 0x70E JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3FC JUMPI PUSH2 0x3FB PUSH2 0x709 JUMP JUMPDEST JUMPDEST PUSH2 0x408 DUP5 DUP3 DUP6 ADD PUSH2 0x385 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x428 JUMPI PUSH2 0x427 PUSH2 0x70E JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x446 JUMPI PUSH2 0x445 PUSH2 0x709 JUMP JUMPDEST JUMPDEST PUSH2 0x452 DUP6 DUP3 DUP7 ADD PUSH2 0x385 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x463 DUP6 DUP3 DUP7 ADD PUSH2 0x3B3 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x483 JUMPI PUSH2 0x482 PUSH2 0x70E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x491 DUP5 DUP3 DUP6 ADD PUSH2 0x3B3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A5 DUP3 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x4AF DUP2 DUP6 PUSH2 0x5D6 JUMP JUMPDEST SWAP4 POP PUSH2 0x4BF DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x60B JUMP JUMPDEST PUSH2 0x4C8 DUP2 PUSH2 0x713 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4DE DUP3 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x4E8 DUP2 DUP6 PUSH2 0x5E7 JUMP JUMPDEST SWAP4 POP PUSH2 0x4F8 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x60B JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x50D DUP2 PUSH2 0x5F2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x51F DUP3 DUP5 PUSH2 0x4D3 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x53F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x504 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x55A PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x504 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x56C DUP2 DUP5 PUSH2 0x49A JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x57F PUSH2 0x590 JUMP JUMPDEST SWAP1 POP PUSH2 0x58B DUP3 DUP3 PUSH2 0x670 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x5B5 JUMPI PUSH2 0x5B4 PUSH2 0x6D0 JUMP JUMPDEST JUMPDEST PUSH2 0x5BE DUP3 PUSH2 0x713 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x629 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x60E JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x638 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x656 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x66A JUMPI PUSH2 0x669 PUSH2 0x6A1 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x679 DUP3 PUSH2 0x713 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x698 JUMPI PUSH2 0x697 PUSH2 0x6D0 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x72D DUP2 PUSH2 0x5F2 JUMP JUMPDEST DUP2 EQ PUSH2 0x738 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH21 0x60459F982177F5295676BA87DCF72FD53ED9C0FD2C 0xC8 PUSH5 0xA3B31BD8A6 CALLCODE PUSH2 0xE564 PUSH20 0x6F6C634300080700330000000000000000000000 ",
"sourceMap": "66:642:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@addPerson_57": {
"entryPoint": 294,
"id": 57,
"parameterSlots": 2,
"returnSlots": 0
},
"@nameToFavoriteNumber_16": {
"entryPoint": 438,
"id": 16,
"parameterSlots": 0,
"returnSlots": 0
},
"@people_12": {
"entryPoint": 484,
"id": 12,
"parameterSlots": 0,
"returnSlots": 0
},
"@retrieve_34": {
"entryPoint": 275,
"id": 34,
"parameterSlots": 0,
"returnSlots": 1
},
"@store_26": {
"entryPoint": 284,
"id": 26,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr": {
"entryPoint": 835,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr": {
"entryPoint": 901,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 947,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_string_memory_ptr": {
"entryPoint": 968,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_string_memory_ptrt_uint256": {
"entryPoint": 1041,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 1133,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1178,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 1235,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 1284,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": {
"entryPoint": 1299,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 1322,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 1349,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 1397,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 1424,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 1434,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 1483,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1494,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack": {
"entryPoint": 1511,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 1522,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_calldata_to_memory": {
"entryPoint": 1532,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory": {
"entryPoint": 1547,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 1598,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 1648,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 1697,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 1744,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 1791,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 1796,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 1801,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1806,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 1811,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_uint256": {
"entryPoint": 1828,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:7485:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "91:328:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "101:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "168:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "126:41:1"
},
"nodeType": "YulFunctionCall",
"src": "126:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "110:15:1"
},
"nodeType": "YulFunctionCall",
"src": "110:66:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "101:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "192:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "199:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "185:6:1"
},
"nodeType": "YulFunctionCall",
"src": "185:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "185:21:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "215:27:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "230:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "237:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "226:3:1"
},
"nodeType": "YulFunctionCall",
"src": "226:16:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "219:3:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "280:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulIdentifier",
"src": "282:77:1"
},
"nodeType": "YulFunctionCall",
"src": "282:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "282:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "261:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "266:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "257:3:1"
},
"nodeType": "YulFunctionCall",
"src": "257:16:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "275:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "254:2:1"
},
"nodeType": "YulFunctionCall",
"src": "254:25:1"
},
"nodeType": "YulIf",
"src": "251:112:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "396:3:1"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "401:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "406:6:1"
}
],
"functionName": {
"name": "copy_calldata_to_memory",
"nodeType": "YulIdentifier",
"src": "372:23:1"
},
"nodeType": "YulFunctionCall",
"src": "372:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "372:41:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "64:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "69:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "77:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "85:5:1",
"type": ""
}
],
"src": "7:412:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "501:278:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "550:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulIdentifier",
"src": "552:77:1"
},
"nodeType": "YulFunctionCall",
"src": "552:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "552:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "529:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "537:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "525:3:1"
},
"nodeType": "YulFunctionCall",
"src": "525:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "544:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "521:3:1"
},
"nodeType": "YulFunctionCall",
"src": "521:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "514:6:1"
},
"nodeType": "YulFunctionCall",
"src": "514:35:1"
},
"nodeType": "YulIf",
"src": "511:122:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "642:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "669:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "656:12:1"
},
"nodeType": "YulFunctionCall",
"src": "656:20:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "646:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "685:88:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "746:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "754:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "742:3:1"
},
"nodeType": "YulFunctionCall",
"src": "742:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "761:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "769:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "694:47:1"
},
"nodeType": "YulFunctionCall",
"src": "694:79:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "685:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "479:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "487:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "495:5:1",
"type": ""
}
],
"src": "439:340:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "837:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "847:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "869:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "856:12:1"
},
"nodeType": "YulFunctionCall",
"src": "856:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "847:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "912:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "885:26:1"
},
"nodeType": "YulFunctionCall",
"src": "885:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "885:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "815:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "823:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "831:5:1",
"type": ""
}
],
"src": "785:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1006:433:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1052:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1054:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1054:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1054:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1027:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1036:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1023:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1023:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1048:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1019:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1019:32:1"
},
"nodeType": "YulIf",
"src": "1016:119:1"
},
{
"nodeType": "YulBlock",
"src": "1145:287:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1160:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1191:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1202:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1187:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1187:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1174:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1174:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1164:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1252:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "1254:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1254:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1254:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1224:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1232:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1221:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1221:30:1"
},
"nodeType": "YulIf",
"src": "1218:117:1"
},
{
"nodeType": "YulAssignment",
"src": "1349:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1394:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1405:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1390:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1390:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1414:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1359:30:1"
},
"nodeType": "YulFunctionCall",
"src": "1359:63:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1349:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "976:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "987:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "999:6:1",
"type": ""
}
],
"src": "930:509:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1538:561:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1584:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1586:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1586:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1586:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1559:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1568:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1555:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1555:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1580:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1551:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1551:32:1"
},
"nodeType": "YulIf",
"src": "1548:119:1"
},
{
"nodeType": "YulBlock",
"src": "1677:287:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1692:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1723:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1734:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1719:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1719:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1706:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1706:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1696:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1784:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulIdentifier",
"src": "1786:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1786:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1786:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1756:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1764:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1753:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1753:30:1"
},
"nodeType": "YulIf",
"src": "1750:117:1"
},
{
"nodeType": "YulAssignment",
"src": "1881:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1926:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1937:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1922:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1922:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1946:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1891:30:1"
},
"nodeType": "YulFunctionCall",
"src": "1891:63:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1881:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1974:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1989:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2003:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1993:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2019:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2054:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2065:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2050:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2050:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2074:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "2029:20:1"
},
"nodeType": "YulFunctionCall",
"src": "2029:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "2019:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptrt_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1500:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1511:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1523:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "1531:6:1",
"type": ""
}
],
"src": "1445:654:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2171:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2217:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "2219:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2219:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "2219:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2192:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2201:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2188:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2188:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2213:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "2184:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2184:32:1"
},
"nodeType": "YulIf",
"src": "2181:119:1"
},
{
"nodeType": "YulBlock",
"src": "2310:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2325:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2339:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2329:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2354:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2389:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2400:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2385:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2385:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "2409:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "2364:20:1"
},
"nodeType": "YulFunctionCall",
"src": "2364:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2354:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2141:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "2152:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2164:6:1",
"type": ""
}
],
"src": "2105:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2532:272:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2542:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2589:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2556:32:1"
},
"nodeType": "YulFunctionCall",
"src": "2556:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2546:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2604:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2670:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2675:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2611:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2611:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2604:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2717:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2724:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2713:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2713:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2731:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2736:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "2691:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2691:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "2691:52:1"
},
{
"nodeType": "YulAssignment",
"src": "2752:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2763:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2790:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2768:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2768:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2759:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2759:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2752:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2513:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2520:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2528:3:1",
"type": ""
}
],
"src": "2440:364:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2920:267:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2930:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2977:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2944:32:1"
},
"nodeType": "YulFunctionCall",
"src": "2944:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2934:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2992:96:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3076:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3081:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "2999:76:1"
},
"nodeType": "YulFunctionCall",
"src": "2999:89:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2992:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3123:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3130:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3119:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3119:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3137:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3142:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "3097:21:1"
},
"nodeType": "YulFunctionCall",
"src": "3097:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "3097:52:1"
},
{
"nodeType": "YulAssignment",
"src": "3158:23:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3169:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3174:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3165:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3165:16:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3158:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2901:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2908:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2916:3:1",
"type": ""
}
],
"src": "2810:377:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3258:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3275:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3298:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3280:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3280:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3268:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3268:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "3268:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3246:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3253:3:1",
"type": ""
}
],
"src": "3193:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3453:139:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3464:102:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3553:6:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3562:3:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "3471:81:1"
},
"nodeType": "YulFunctionCall",
"src": "3471:95:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3464:3:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3576:10:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3583:3:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3576:3:1"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3432:3:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3438:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3449:3:1",
"type": ""
}
],
"src": "3317:275:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3696:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3706:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3718:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3729:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3714:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3714:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3706:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3786:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3799:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3810:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3795:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3795:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "3742:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3742:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "3742:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3668:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3680:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3691:4:1",
"type": ""
}
],
"src": "3598:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3972:277:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3982:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3994:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4005:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3990:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3990:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3982:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "4062:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4075:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4086:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4071:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4071:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "4018:43:1"
},
"nodeType": "YulFunctionCall",
"src": "4018:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "4018:71:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4110:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4121:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4106:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4106:18:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4130:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4136:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4126:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4126:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4099:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4099:48:1"
},
"nodeType": "YulExpressionStatement",
"src": "4099:48:1"
},
{
"nodeType": "YulAssignment",
"src": "4156:86:1",
"value": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "4228:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4237:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4164:63:1"
},
"nodeType": "YulFunctionCall",
"src": "4164:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4156:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3936:9:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "3948:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3956:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3967:4:1",
"type": ""
}
],
"src": "3826:423:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4296:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4306:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "4316:18:1"
},
"nodeType": "YulFunctionCall",
"src": "4316:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4306:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4365:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4373:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "4345:19:1"
},
"nodeType": "YulFunctionCall",
"src": "4345:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "4345:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "4280:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4289:6:1",
"type": ""
}
],
"src": "4255:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4430:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4440:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4456:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4450:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4450:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4440:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4423:6:1",
"type": ""
}
],
"src": "4390:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4538:241:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "4643:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "4645:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4645:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4645:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4615:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4623:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4612:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4612:30:1"
},
"nodeType": "YulIf",
"src": "4609:56:1"
},
{
"nodeType": "YulAssignment",
"src": "4675:37:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4705:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "4683:21:1"
},
"nodeType": "YulFunctionCall",
"src": "4683:29:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4675:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4749:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4761:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4767:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4757:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4757:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4749:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4522:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "4533:4:1",
"type": ""
}
],
"src": "4471:308:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4844:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4855:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4871:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4865:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4865:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4855:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4827:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4837:6:1",
"type": ""
}
],
"src": "4785:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4986:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5003:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5008:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4996:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4996:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "4996:19:1"
},
{
"nodeType": "YulAssignment",
"src": "5024:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5043:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5048:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5039:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5039:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "5024:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4958:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4963:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "4974:11:1",
"type": ""
}
],
"src": "4890:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5179:34:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5189:18:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5204:3:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "5189:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5151:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5156:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "5167:11:1",
"type": ""
}
],
"src": "5065:148:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5264:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5274:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "5285:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5274:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5246:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5256:7:1",
"type": ""
}
],
"src": "5219:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5353:103:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5376:3:1"
},
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5381:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5386:6:1"
}
],
"functionName": {
"name": "calldatacopy",
"nodeType": "YulIdentifier",
"src": "5363:12:1"
},
"nodeType": "YulFunctionCall",
"src": "5363:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "5363:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5434:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5439:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5430:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5430:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5448:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5423:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5423:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "5423:27:1"
}
]
},
"name": "copy_calldata_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "5335:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "5340:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5345:6:1",
"type": ""
}
],
"src": "5302:154:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5511:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5521:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5530:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "5525:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5590:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5615:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5620:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5611:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5611:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5634:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5639:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5630:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5630:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5624:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5624:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5604:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5604:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "5604:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5551:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5554:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "5548:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5548:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "5562:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5564:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5573:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5576:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5569:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5569:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5564:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "5544:3:1",
"statements": []
},
"src": "5540:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5687:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5737:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5742:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5733:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5733:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5751:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5726:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5726:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "5726:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "5668:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5671:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5665:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5665:13:1"
},
"nodeType": "YulIf",
"src": "5662:101:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "5493:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "5498:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5503:6:1",
"type": ""
}
],
"src": "5462:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5826:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5836:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5850:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5856:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "5846:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5846:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5836:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "5867:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "5897:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5903:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5893:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5893:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "5871:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5944:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5958:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5972:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5980:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5968:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5968:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5958:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "5924:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5917:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5917:26:1"
},
"nodeType": "YulIf",
"src": "5914:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6047:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "6061:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6061:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6061:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "6011:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6034:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6042:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6031:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6031:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6008:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6008:38:1"
},
"nodeType": "YulIf",
"src": "6005:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "5810:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5819:6:1",
"type": ""
}
],
"src": "5775:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6144:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6154:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6176:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "6206:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "6184:21:1"
},
"nodeType": "YulFunctionCall",
"src": "6184:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6172:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6172:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "6158:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6323:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "6325:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6325:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6325:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "6266:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6278:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6263:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6263:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "6302:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6314:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6299:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6299:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "6260:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6260:62:1"
},
"nodeType": "YulIf",
"src": "6257:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6361:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "6365:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6354:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6354:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "6354:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "6130:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "6138:4:1",
"type": ""
}
],
"src": "6101:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6416:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6433:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6436:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6426:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6426:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "6426:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6530:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6533:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6523:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6523:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6523:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6554:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6557:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6547:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6547:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6547:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "6388:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6602:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6619:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6622:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6612:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6612:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "6612:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6716:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6719:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6709:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6709:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6709:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6740:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6743:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6733:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6733:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6733:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "6574:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6849:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6866:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6869:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6859:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6859:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "6859:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nodeType": "YulFunctionDefinition",
"src": "6760:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6972:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6989:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6992:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6982:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6982:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "6982:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nodeType": "YulFunctionDefinition",
"src": "6883:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7095:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7112:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7115:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7105:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7105:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "7105:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "7006:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7218:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7235:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7238:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7228:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7228:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "7228:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "7129:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7300:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7310:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7328:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7335:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7324:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7324:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7344:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "7340:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7340:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "7320:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7320:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "7310:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7283:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "7293:6:1",
"type": ""
}
],
"src": "7252:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7403:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7460:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7469:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7472:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7462:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7462:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "7462:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7426:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7451:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "7433:17:1"
},
"nodeType": "YulFunctionCall",
"src": "7433:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "7423:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7423:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "7416:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7416:43:1"
},
"nodeType": "YulIf",
"src": "7413:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7396:5:1",
"type": ""
}
],
"src": "7360:122:1"
}
]
},
"contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\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 abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(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 function abi_decode_tuple_t_uint256(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_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\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_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\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_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1, tail)\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100575760003560e01c80632e64cec11461005c5780636057361d1461007a5780636f760f41146100965780638bab8dd5146100b25780639e7a13ad146100e2575b600080fd5b610064610113565b604051610071919061052a565b60405180910390f35b610094600480360381019061008f919061046d565b61011c565b005b6100b060048036038101906100ab9190610411565b610126565b005b6100cc60048036038101906100c791906103c8565b6101b6565b6040516100d9919061052a565b60405180910390f35b6100fc60048036038101906100f7919061046d565b6101e4565b60405161010a929190610545565b60405180910390f35b60008054905090565b8060008190555050565b6001604051806040016040528083815260200184815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101908051906020019061018c9291906102a0565b505050806002836040516101a09190610513565b9081526020016040518091039020819055505050565b6002818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b600181815481106101f457600080fd5b906000526020600020906002020160009150905080600001549080600101805461021d9061063e565b80601f01602080910402602001604051908101604052809291908181526020018280546102499061063e565b80156102965780601f1061026b57610100808354040283529160200191610296565b820191906000526020600020905b81548152906001019060200180831161027957829003601f168201915b5050505050905082565b8280546102ac9061063e565b90600052602060002090601f0160209004810192826102ce5760008555610315565b82601f106102e757805160ff1916838001178555610315565b82800160010185558215610315579182015b828111156103145782518255916020019190600101906102f9565b5b5090506103229190610326565b5090565b5b8082111561033f576000816000905550600101610327565b5090565b60006103566103518461059a565b610575565b90508281526020810184848401111561037257610371610704565b5b61037d8482856105fc565b509392505050565b600082601f83011261039a576103996106ff565b5b81356103aa848260208601610343565b91505092915050565b6000813590506103c281610724565b92915050565b6000602082840312156103de576103dd61070e565b5b600082013567ffffffffffffffff8111156103fc576103fb610709565b5b61040884828501610385565b91505092915050565b600080604083850312156104285761042761070e565b5b600083013567ffffffffffffffff81111561044657610445610709565b5b61045285828601610385565b9250506020610463858286016103b3565b9150509250929050565b6000602082840312156104835761048261070e565b5b6000610491848285016103b3565b91505092915050565b60006104a5826105cb565b6104af81856105d6565b93506104bf81856020860161060b565b6104c881610713565b840191505092915050565b60006104de826105cb565b6104e881856105e7565b93506104f881856020860161060b565b80840191505092915050565b61050d816105f2565b82525050565b600061051f82846104d3565b915081905092915050565b600060208201905061053f6000830184610504565b92915050565b600060408201905061055a6000830185610504565b818103602083015261056c818461049a565b90509392505050565b600061057f610590565b905061058b8282610670565b919050565b6000604051905090565b600067ffffffffffffffff8211156105b5576105b46106d0565b5b6105be82610713565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b6000819050919050565b82818337600083830152505050565b60005b8381101561062957808201518184015260208101905061060e565b83811115610638576000848401525b50505050565b6000600282049050600182168061065657607f821691505b6020821081141561066a576106696106a1565b5b50919050565b61067982610713565b810181811067ffffffffffffffff82111715610698576106976106d0565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61072d816105f2565b811461073857600080fd5b5056fea26469706673582212207460459f982177f5295676ba87dcf72fd53ed9c0fd2cc864a3b31bd8a6f261e564736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x57 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E64CEC1 EQ PUSH2 0x5C JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0x7A JUMPI DUP1 PUSH4 0x6F760F41 EQ PUSH2 0x96 JUMPI DUP1 PUSH4 0x8BAB8DD5 EQ PUSH2 0xB2 JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0xE2 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x64 PUSH2 0x113 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x71 SWAP2 SWAP1 PUSH2 0x52A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x94 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x8F SWAP2 SWAP1 PUSH2 0x46D JUMP JUMPDEST PUSH2 0x11C JUMP JUMPDEST STOP JUMPDEST PUSH2 0xB0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xAB SWAP2 SWAP1 PUSH2 0x411 JUMP JUMPDEST PUSH2 0x126 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xCC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC7 SWAP2 SWAP1 PUSH2 0x3C8 JUMP JUMPDEST PUSH2 0x1B6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD9 SWAP2 SWAP1 PUSH2 0x52A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF7 SWAP2 SWAP1 PUSH2 0x46D JUMP JUMPDEST PUSH2 0x1E4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10A SWAP3 SWAP2 SWAP1 PUSH2 0x545 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x18C SWAP3 SWAP2 SWAP1 PUSH2 0x2A0 JUMP JUMPDEST POP POP POP DUP1 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1A0 SWAP2 SWAP1 PUSH2 0x513 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x21D SWAP1 PUSH2 0x63E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x249 SWAP1 PUSH2 0x63E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x296 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x26B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x296 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x279 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x2AC SWAP1 PUSH2 0x63E JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x2CE JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x315 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x2E7 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x315 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x315 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x314 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x2F9 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x322 SWAP2 SWAP1 PUSH2 0x326 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x33F JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x327 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x356 PUSH2 0x351 DUP5 PUSH2 0x59A JUMP JUMPDEST PUSH2 0x575 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x372 JUMPI PUSH2 0x371 PUSH2 0x704 JUMP JUMPDEST JUMPDEST PUSH2 0x37D DUP5 DUP3 DUP6 PUSH2 0x5FC JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x39A JUMPI PUSH2 0x399 PUSH2 0x6FF JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x3AA DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x343 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3C2 DUP2 PUSH2 0x724 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3DE JUMPI PUSH2 0x3DD PUSH2 0x70E JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3FC JUMPI PUSH2 0x3FB PUSH2 0x709 JUMP JUMPDEST JUMPDEST PUSH2 0x408 DUP5 DUP3 DUP6 ADD PUSH2 0x385 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x428 JUMPI PUSH2 0x427 PUSH2 0x70E JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x446 JUMPI PUSH2 0x445 PUSH2 0x709 JUMP JUMPDEST JUMPDEST PUSH2 0x452 DUP6 DUP3 DUP7 ADD PUSH2 0x385 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x463 DUP6 DUP3 DUP7 ADD PUSH2 0x3B3 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x483 JUMPI PUSH2 0x482 PUSH2 0x70E JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x491 DUP5 DUP3 DUP6 ADD PUSH2 0x3B3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A5 DUP3 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x4AF DUP2 DUP6 PUSH2 0x5D6 JUMP JUMPDEST SWAP4 POP PUSH2 0x4BF DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x60B JUMP JUMPDEST PUSH2 0x4C8 DUP2 PUSH2 0x713 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4DE DUP3 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x4E8 DUP2 DUP6 PUSH2 0x5E7 JUMP JUMPDEST SWAP4 POP PUSH2 0x4F8 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x60B JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x50D DUP2 PUSH2 0x5F2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x51F DUP3 DUP5 PUSH2 0x4D3 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x53F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x504 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x55A PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x504 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x56C DUP2 DUP5 PUSH2 0x49A JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x57F PUSH2 0x590 JUMP JUMPDEST SWAP1 POP PUSH2 0x58B DUP3 DUP3 PUSH2 0x670 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x5B5 JUMPI PUSH2 0x5B4 PUSH2 0x6D0 JUMP JUMPDEST JUMPDEST PUSH2 0x5BE DUP3 PUSH2 0x713 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x629 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x60E JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x638 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x656 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x66A JUMPI PUSH2 0x669 PUSH2 0x6A1 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x679 DUP3 PUSH2 0x713 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x698 JUMPI PUSH2 0x697 PUSH2 0x6D0 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x72D DUP2 PUSH2 0x5F2 JUMP JUMPDEST DUP2 EQ PUSH2 0x738 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH21 0x60459F982177F5295676BA87DCF72FD53ED9C0FD2C 0xC8 PUSH5 0xA3B31BD8A6 CALLCODE PUSH2 0xE564 PUSH20 0x6F6C634300080700330000000000000000000000 ",
"sourceMap": "66:642:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;426:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;320:96;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;519:187;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;259:54;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;231:22;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;426:87;467:7;492:14;;485:21;;426:87;:::o;320:96::-;394:15;377:14;:32;;;;320:96;:::o;519:187::-;601:6;613:30;;;;;;;;620:15;613:30;;;;637:5;613:30;;;601:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;684:15;654:20;675:5;654:27;;;;;;:::i;:::-;;;;;;;;;;;;;:45;;;;519:187;;:::o;259:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;231:22::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:412:1:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:112;;;282:79;;:::i;:::-;251:112;372:41;406:6;401:3;396;372:41;:::i;:::-;91:328;7:412;;;;;:::o;439:340::-;495:5;544:3;537:4;529:6;525:17;521:27;511:122;;552:79;;:::i;:::-;511:122;669:6;656:20;694:79;769:3;761:6;754:4;746:6;742:17;694:79;:::i;:::-;685:88;;501:278;439:340;;;;:::o;785:139::-;831:5;869:6;856:20;847:29;;885:33;912:5;885:33;:::i;:::-;785:139;;;;:::o;930:509::-;999:6;1048:2;1036:9;1027:7;1023:23;1019:32;1016:119;;;1054:79;;:::i;:::-;1016:119;1202:1;1191:9;1187:17;1174:31;1232:18;1224:6;1221:30;1218:117;;;1254:79;;:::i;:::-;1218:117;1359:63;1414:7;1405:6;1394:9;1390:22;1359:63;:::i;:::-;1349:73;;1145:287;930:509;;;;:::o;1445:654::-;1523:6;1531;1580:2;1568:9;1559:7;1555:23;1551:32;1548:119;;;1586:79;;:::i;:::-;1548:119;1734:1;1723:9;1719:17;1706:31;1764:18;1756:6;1753:30;1750:117;;;1786:79;;:::i;:::-;1750:117;1891:63;1946:7;1937:6;1926:9;1922:22;1891:63;:::i;:::-;1881:73;;1677:287;2003:2;2029:53;2074:7;2065:6;2054:9;2050:22;2029:53;:::i;:::-;2019:63;;1974:118;1445:654;;;;;:::o;2105:329::-;2164:6;2213:2;2201:9;2192:7;2188:23;2184:32;2181:119;;;2219:79;;:::i;:::-;2181:119;2339:1;2364:53;2409:7;2400:6;2389:9;2385:22;2364:53;:::i;:::-;2354:63;;2310:117;2105:329;;;;:::o;2440:364::-;2528:3;2556:39;2589:5;2556:39;:::i;:::-;2611:71;2675:6;2670:3;2611:71;:::i;:::-;2604:78;;2691:52;2736:6;2731:3;2724:4;2717:5;2713:16;2691:52;:::i;:::-;2768:29;2790:6;2768:29;:::i;:::-;2763:3;2759:39;2752:46;;2532:272;2440:364;;;;:::o;2810:377::-;2916:3;2944:39;2977:5;2944:39;:::i;:::-;2999:89;3081:6;3076:3;2999:89;:::i;:::-;2992:96;;3097:52;3142:6;3137:3;3130:4;3123:5;3119:16;3097:52;:::i;:::-;3174:6;3169:3;3165:16;3158:23;;2920:267;2810:377;;;;:::o;3193:118::-;3280:24;3298:5;3280:24;:::i;:::-;3275:3;3268:37;3193:118;;:::o;3317:275::-;3449:3;3471:95;3562:3;3553:6;3471:95;:::i;:::-;3464:102;;3583:3;3576:10;;3317:275;;;;:::o;3598:222::-;3691:4;3729:2;3718:9;3714:18;3706:26;;3742:71;3810:1;3799:9;3795:17;3786:6;3742:71;:::i;:::-;3598:222;;;;:::o;3826:423::-;3967:4;4005:2;3994:9;3990:18;3982:26;;4018:71;4086:1;4075:9;4071:17;4062:6;4018:71;:::i;:::-;4136:9;4130:4;4126:20;4121:2;4110:9;4106:18;4099:48;4164:78;4237:4;4228:6;4164:78;:::i;:::-;4156:86;;3826:423;;;;;:::o;4255:129::-;4289:6;4316:20;;:::i;:::-;4306:30;;4345:33;4373:4;4365:6;4345:33;:::i;:::-;4255:129;;;:::o;4390:75::-;4423:6;4456:2;4450:9;4440:19;;4390:75;:::o;4471:308::-;4533:4;4623:18;4615:6;4612:30;4609:56;;;4645:18;;:::i;:::-;4609:56;4683:29;4705:6;4683:29;:::i;:::-;4675:37;;4767:4;4761;4757:15;4749:23;;4471:308;;;:::o;4785:99::-;4837:6;4871:5;4865:12;4855:22;;4785:99;;;:::o;4890:169::-;4974:11;5008:6;5003:3;4996:19;5048:4;5043:3;5039:14;5024:29;;4890:169;;;;:::o;5065:148::-;5167:11;5204:3;5189:18;;5065:148;;;;:::o;5219:77::-;5256:7;5285:5;5274:16;;5219:77;;;:::o;5302:154::-;5386:6;5381:3;5376;5363:30;5448:1;5439:6;5434:3;5430:16;5423:27;5302:154;;;:::o;5462:307::-;5530:1;5540:113;5554:6;5551:1;5548:13;5540:113;;;5639:1;5634:3;5630:11;5624:18;5620:1;5615:3;5611:11;5604:39;5576:2;5573:1;5569:10;5564:15;;5540:113;;;5671:6;5668:1;5665:13;5662:101;;;5751:1;5742:6;5737:3;5733:16;5726:27;5662:101;5511:258;5462:307;;;:::o;5775:320::-;5819:6;5856:1;5850:4;5846:12;5836:22;;5903:1;5897:4;5893:12;5924:18;5914:81;;5980:4;5972:6;5968:17;5958:27;;5914:81;6042:2;6034:6;6031:14;6011:18;6008:38;6005:84;;;6061:18;;:::i;:::-;6005:84;5826:269;5775:320;;;:::o;6101:281::-;6184:27;6206:4;6184:27;:::i;:::-;6176:6;6172:40;6314:6;6302:10;6299:22;6278:18;6266:10;6263:34;6260:62;6257:88;;;6325:18;;:::i;:::-;6257:88;6365:10;6361:2;6354:22;6144:238;6101:281;;:::o;6388:180::-;6436:77;6433:1;6426:88;6533:4;6530:1;6523:15;6557:4;6554:1;6547:15;6574:180;6622:77;6619:1;6612:88;6719:4;6716:1;6709:15;6743:4;6740:1;6733:15;6760:117;6869:1;6866;6859:12;6883:117;6992:1;6989;6982:12;7006:117;7115:1;7112;7105:12;7129:117;7238:1;7235;7228:12;7252:102;7293:6;7344:2;7340:7;7335:2;7328:5;7324:14;7320:28;7310:38;;7252:102;;;:::o;7360:122::-;7433:24;7451:5;7433:24;:::i;:::-;7426:5;7423:35;7413:63;;7472:1;7469;7462:12;7413:63;7360:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "381000",
"executionCost": "418",
"totalCost": "381418"
},
"external": {
"addPerson(string,uint256)": "infinite",
"nameToFavoriteNumber(string)": "infinite",
"people(uint256)": "infinite",
"retrieve()": "2415",
"store(uint256)": "22520"
}
},
"legacyAssembly": {
".code": [
{
"begin": 66,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 66,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 66,
"end": 708,
"name": "MSTORE",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "DUP1",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "ISZERO",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 66,
"end": 708,
"name": "JUMPI",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 66,
"end": 708,
"name": "DUP1",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "REVERT",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 66,
"end": 708,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "POP",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 66,
"end": 708,
"name": "DUP1",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 66,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 66,
"end": 708,
"name": "CODECOPY",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 66,
"end": 708,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a26469706673582212207460459f982177f5295676ba87dcf72fd53ed9c0fd2cc864a3b31bd8a6f261e564736f6c63430008070033",
".code": [
{
"begin": 66,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 66,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 66,
"end": 708,
"name": "MSTORE",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "DUP1",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "ISZERO",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 66,
"end": 708,
"name": "JUMPI",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 66,
"end": 708,
"name": "DUP1",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "REVERT",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 66,
"end": 708,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "POP",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 66,
"end": 708,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "LT",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 66,
"end": 708,
"name": "JUMPI",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 66,
"end": 708,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 66,
"end": 708,
"name": "SHR",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "DUP1",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "2E64CEC1"
},
{
"begin": 66,
"end": 708,
"name": "EQ",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 66,
"end": 708,
"name": "JUMPI",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "DUP1",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "6057361D"
},
{
"begin": 66,
"end": 708,
"name": "EQ",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 66,
"end": 708,
"name": "JUMPI",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "DUP1",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "6F760F41"
},
{
"begin": 66,
"end": 708,
"name": "EQ",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 66,
"end": 708,
"name": "JUMPI",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "DUP1",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "8BAB8DD5"
},
{
"begin": 66,
"end": 708,
"name": "EQ",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 66,
"end": 708,
"name": "JUMPI",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "DUP1",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "9E7A13AD"
},
{
"begin": 66,
"end": 708,
"name": "EQ",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 66,
"end": 708,
"name": "JUMPI",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 66,
"end": 708,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 66,
"end": 708,
"name": "DUP1",
"source": 0
},
{
"begin": 66,
"end": 708,
"name": "REVERT",
"source": 0
},
{
"begin": 426,
"end": 513,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 426,
"end": 513,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 426,
"end": 513,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 426,
"end": 513,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 426,
"end": 513,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 426,
"end": 513,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 426,
"end": 513,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 426,
"end": 513,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 426,
"end": 513,
"name": "MLOAD",
"source": 0
},
{
"begin": 426,
"end": 513,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 426,
"end": 513,
"name": "SWAP2",
"source": 0
},
{
"begin": 426,
"end": 513,
"name": "SWAP1",
"source": 0
},
{
"begin": 426,
"end": 513,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 426,
"end": 513,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 426,
"end": 513,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 426,
"end": 513,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 426,
"end": 513,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 426,
"end": 513,
"name": "MLOAD",
"source": 0
},
{
"begin": 426,
"end": 513,
"name": "DUP1",
"source": 0
},
{
"begin": 426,
"end": 513,
"name": "SWAP2",
"source": 0
},
{
"begin": 426,
"end": 513,
"name": "SUB",
"source": 0
},
{
"begin": 426,
"end": 513,
"name": "SWAP1",
"source": 0
},
{
"begin": 426,
"end": 513,
"name": "RETURN",
"source": 0
},
{
"begin": 320,
"end": 416,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 320,
"end": 416,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 320,
"end": 416,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 320,
"end": 416,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 320,
"end": 416,
"name": "DUP1",
"source": 0
},
{
"begin": 320,
"end": 416,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 320,
"end": 416,
"name": "SUB",
"source": 0
},
{
"begin": 320,
"end": 416,
"name": "DUP2",
"source": 0
},
{
"begin": 320,
"end": 416,
"name": "ADD",
"source": 0
},
{
"begin": 320,
"end": 416,
"name": "SWAP1",
"source": 0
},
{
"begin": 320,
"end": 416,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 320,
"end": 416,
"name": "SWAP2",
"source": 0
},
{
"begin": 320,
"end": 416,
"name": "SWAP1",
"source": 0
},
{
"begin": 320,
"end": 416,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 320,
"end": 416,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 320,
"end": 416,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 320,
"end": 416,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 320,
"end": 416,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 320,
"end": 416,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 320,
"end": 416,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 320,
"end": 416,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 320,
"end": 416,
"name": "STOP",
"source": 0
},
{
"begin": 519,
"end": 706,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 519,
"end": 706,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 519,
"end": 706,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 519,
"end": 706,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 519,
"end": 706,
"name": "DUP1",
"source": 0
},
{
"begin": 519,
"end": 706,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 519,
"end": 706,
"name": "SUB",
"source": 0
},
{
"begin": 519,
"end": 706,
"name": "DUP2",
"source": 0
},
{
"begin": 519,
"end": 706,
"name": "ADD",
"source": 0
},
{
"begin": 519,
"end": 706,
"name": "SWAP1",
"source": 0
},
{
"begin": 519,
"end": 706,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 519,
"end": 706,
"name": "SWAP2",
"source": 0
},
{
"begin": 519,
"end": 706,
"name": "SWAP1",
"source": 0
},
{
"begin": 519,
"end": 706,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 519,
"end": 706,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 519,
"end": 706,
"name": "tag",
"source": 0,
"value": "17"
},
{
"begin": 519,
"end": 706,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 519,
"end": 706,
"name": "PUSH [tag]",
"source": 0,
"value": "19"
},
{
"begin": 519,
"end": 706,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 519,
"end": 706,
"name": "tag",
"source": 0,
"value": "16"
},
{
"begin": 519,
"end": 706,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 519,
"end": 706,
"name": "STOP",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 259,
"end": 313,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "PUSH [tag]",
"source": 0,
"value": "20"
},
{
"begin": 259,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 259,
"end": 313,
"name": "DUP1",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "SUB",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "DUP2",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "ADD",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "SWAP1",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "PUSH [tag]",
"source": 0,
"value": "21"
},
{
"begin": 259,
"end": 313,
"name": "SWAP2",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "SWAP1",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 259,
"end": 313,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 259,
"end": 313,
"name": "tag",
"source": 0,
"value": "21"
},
{
"begin": 259,
"end": 313,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "PUSH [tag]",
"source": 0,
"value": "23"
},
{
"begin": 259,
"end": 313,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 259,
"end": 313,
"name": "tag",
"source": 0,
"value": "20"
},
{
"begin": 259,
"end": 313,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 259,
"end": 313,
"name": "MLOAD",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "PUSH [tag]",
"source": 0,
"value": "24"
},
{
"begin": 259,
"end": 313,
"name": "SWAP2",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "SWAP1",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 259,
"end": 313,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 259,
"end": 313,
"name": "tag",
"source": 0,
"value": "24"
},
{
"begin": 259,
"end": 313,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 259,
"end": 313,
"name": "MLOAD",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "DUP1",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "SWAP2",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "SUB",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "SWAP1",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "RETURN",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 231,
"end": 253,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH [tag]",
"source": 0,
"value": "25"
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 231,
"end": 253,
"name": "DUP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SUB",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP2",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "ADD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH [tag]",
"source": 0,
"value": "26"
},
{
"begin": 231,
"end": 253,
"name": "SWAP2",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 231,
"end": 253,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 231,
"end": 253,
"name": "tag",
"source": 0,
"value": "26"
},
{
"begin": 231,
"end": 253,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH [tag]",
"source": 0,
"value": "27"
},
{
"begin": 231,
"end": 253,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 231,
"end": 253,
"name": "tag",
"source": 0,
"value": "25"
},
{
"begin": 231,
"end": 253,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 231,
"end": 253,
"name": "MLOAD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH [tag]",
"source": 0,
"value": "28"
},
{
"begin": 231,
"end": 253,
"name": "SWAP3",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP2",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH [tag]",
"source": 0,
"value": "29"
},
{
"begin": 231,
"end": 253,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 231,
"end": 253,
"name": "tag",
"source": 0,
"value": "28"
},
{
"begin": 231,
"end": 253,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 231,
"end": 253,
"name": "MLOAD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP2",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SUB",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "RETURN",
"source": 0
},
{
"begin": 426,
"end": 513,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 426,
"end": 513,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 467,
"end": 474,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 492,
"end": 506,
"name": "DUP1",
"source": 0
},
{
"begin": 492,
"end": 506,
"name": "SLOAD",
"source": 0
},
{
"begin": 485,
"end": 506,
"name": "SWAP1",
"source": 0
},
{
"begin": 485,
"end": 506,
"name": "POP",
"source": 0
},
{
"begin": 426,
"end": 513,
"name": "SWAP1",
"source": 0
},
{
"begin": 426,
"end": 513,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 320,
"end": 416,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 320,
"end": 416,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 394,
"end": 409,
"name": "DUP1",
"source": 0
},
{
"begin": 377,
"end": 391,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 377,
"end": 409,
"name": "DUP2",
"source": 0
},
{
"begin": 377,
"end": 409,
"name": "SWAP1",
"source": 0
},
{
"begin": 377,
"end": 409,
"name": "SSTORE",
"source": 0
},
{
"begin": 377,
"end": 409,
"name": "POP",
"source": 0
},
{
"begin": 320,
"end": 416,
"name": "POP",
"source": 0
},
{
"begin": 320,
"end": 416,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 519,
"end": 706,
"name": "tag",
"source": 0,
"value": "19"
},
{
"begin": 519,
"end": 706,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 601,
"end": 607,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 613,
"end": 643,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 613,
"end": 643,
"name": "MLOAD",
"source": 0
},
{
"begin": 613,
"end": 643,
"name": "DUP1",
"source": 0
},
{
"begin": 613,
"end": 643,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 613,
"end": 643,
"name": "ADD",
"source": 0
},
{
"begin": 613,
"end": 643,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 613,
"end": 643,
"name": "MSTORE",
"source": 0
},
{
"begin": 613,
"end": 643,
"name": "DUP1",
"source": 0
},
{
"begin": 620,
"end": 635,
"name": "DUP4",
"source": 0
},
{
"begin": 613,
"end": 643,
"name": "DUP2",
"source": 0
},
{
"begin": 613,
"end": 643,
"name": "MSTORE",
"source": 0
},
{
"begin": 613,
"end": 643,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 613,
"end": 643,
"name": "ADD",
"source": 0
},
{
"begin": 637,
"end": 642,
"name": "DUP5",
"source": 0
},
{
"begin": 613,
"end": 643,
"name": "DUP2",
"source": 0
},
{
"begin": 613,
"end": 643,
"name": "MSTORE",
"source": 0
},
{
"begin": 613,
"end": 643,
"name": "POP",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "SWAP1",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "DUP1",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 601,
"end": 644,
"name": "DUP2",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "SLOAD",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "ADD",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "DUP1",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "DUP3",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "SSTORE",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "DUP1",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "SWAP2",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "POP",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "POP",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 601,
"end": 644,
"name": "SWAP1",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "SUB",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "SWAP1",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 601,
"end": 644,
"name": "MSTORE",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 601,
"end": 644,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 601,
"end": 644,
"name": "KECCAK256",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "SWAP1",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "PUSH",
"source": 0,
"value": "2"
},
{
"begin": 601,
"end": 644,
"name": "MUL",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "ADD",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 601,
"end": 644,
"name": "SWAP1",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "SWAP2",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "SWAP1",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "SWAP2",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "SWAP1",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "SWAP2",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "POP",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 601,
"end": 644,
"name": "DUP3",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "ADD",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "MLOAD",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "DUP2",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 601,
"end": 644,
"name": "ADD",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "SSTORE",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 601,
"end": 644,
"name": "DUP3",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "ADD",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "MLOAD",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "DUP2",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 601,
"end": 644,
"name": "ADD",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "SWAP1",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "DUP1",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "MLOAD",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "SWAP1",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 601,
"end": 644,
"name": "ADD",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "SWAP1",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "PUSH [tag]",
"source": 0,
"value": "34"
},
{
"begin": 601,
"end": 644,
"name": "SWAP3",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "SWAP2",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "SWAP1",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "PUSH [tag]",
"source": 0,
"value": "35"
},
{
"begin": 601,
"end": 644,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 601,
"end": 644,
"name": "tag",
"source": 0,
"value": "34"
},
{
"begin": 601,
"end": 644,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "POP",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "POP",
"source": 0
},
{
"begin": 601,
"end": 644,
"name": "POP",
"source": 0
},
{
"begin": 684,
"end": 699,
"name": "DUP1",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "PUSH",
"source": 0,
"value": "2"
},
{
"begin": 675,
"end": 680,
"name": "DUP4",
"source": 0
},
{
"begin": 654,
"end": 681,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 654,
"end": 681,
"name": "MLOAD",
"source": 0
},
{
"begin": 654,
"end": 681,
"name": "PUSH [tag]",
"source": 0,
"value": "36"
},
{
"begin": 654,
"end": 681,
"name": "SWAP2",
"source": 0
},
{
"begin": 654,
"end": 681,
"name": "SWAP1",
"source": 0
},
{
"begin": 654,
"end": 681,
"name": "PUSH [tag]",
"source": 0,
"value": "37"
},
{
"begin": 654,
"end": 681,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 654,
"end": 681,
"name": "tag",
"source": 0,
"value": "36"
},
{
"begin": 654,
"end": 681,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 654,
"end": 681,
"name": "SWAP1",
"source": 0
},
{
"begin": 654,
"end": 681,
"name": "DUP2",
"source": 0
},
{
"begin": 654,
"end": 681,
"name": "MSTORE",
"source": 0
},
{
"begin": 654,
"end": 681,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 654,
"end": 681,
"name": "ADD",
"source": 0
},
{
"begin": 654,
"end": 681,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 654,
"end": 681,
"name": "MLOAD",
"source": 0
},
{
"begin": 654,
"end": 681,
"name": "DUP1",
"source": 0
},
{
"begin": 654,
"end": 681,
"name": "SWAP2",
"source": 0
},
{
"begin": 654,
"end": 681,
"name": "SUB",
"source": 0
},
{
"begin": 654,
"end": 681,
"name": "SWAP1",
"source": 0
},
{
"begin": 654,
"end": 681,
"name": "KECCAK256",
"source": 0
},
{
"begin": 654,
"end": 699,
"name": "DUP2",
"source": 0
},
{
"begin": 654,
"end": 699,
"name": "SWAP1",
"source": 0
},
{
"begin": 654,
"end": 699,
"name": "SSTORE",
"source": 0
},
{
"begin": 654,
"end": 699,
"name": "POP",
"source": 0
},
{
"begin": 519,
"end": 706,
"name": "POP",
"source": 0
},
{
"begin": 519,
"end": 706,
"name": "POP",
"source": 0
},
{
"begin": 519,
"end": 706,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 259,
"end": 313,
"name": "tag",
"source": 0,
"value": "23"
},
{
"begin": 259,
"end": 313,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "2"
},
{
"begin": 259,
"end": 313,
"name": "DUP2",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "DUP1",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "MLOAD",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 259,
"end": 313,
"name": "DUP2",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "ADD",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "DUP3",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "ADD",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "DUP1",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "MLOAD",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "DUP5",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "DUP3",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "MSTORE",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 259,
"end": 313,
"name": "DUP4",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "ADD",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 259,
"end": 313,
"name": "DUP6",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "ADD",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "KECCAK256",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "DUP2",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "DUP4",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "MSTORE",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "DUP1",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "SWAP6",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "POP",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "POP",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "POP",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "POP",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "POP",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "POP",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 259,
"end": 313,
"name": "SWAP2",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "POP",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "SWAP1",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "POP",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "SLOAD",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "DUP2",
"source": 0
},
{
"begin": 259,
"end": 313,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 231,
"end": 253,
"name": "tag",
"source": 0,
"value": "27"
},
{
"begin": 231,
"end": 253,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 231,
"end": 253,
"name": "DUP2",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP2",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SLOAD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP2",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "LT",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH [tag]",
"source": 0,
"value": "38"
},
{
"begin": 231,
"end": 253,
"name": "JUMPI",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 231,
"end": 253,
"name": "DUP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "REVERT",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "tag",
"source": 0,
"value": "38"
},
{
"begin": 231,
"end": 253,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 231,
"end": 253,
"name": "MSTORE",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 231,
"end": 253,
"name": "KECCAK256",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "2"
},
{
"begin": 231,
"end": 253,
"name": "MUL",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "ADD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 231,
"end": 253,
"name": "SWAP2",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "POP",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "POP",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 231,
"end": 253,
"name": "ADD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SLOAD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 231,
"end": 253,
"name": "ADD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SLOAD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH [tag]",
"source": 0,
"value": "40"
},
{
"begin": 231,
"end": 253,
"name": "SWAP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH [tag]",
"source": 0,
"value": "41"
},
{
"begin": 231,
"end": 253,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 231,
"end": 253,
"name": "tag",
"source": 0,
"value": "40"
},
{
"begin": 231,
"end": 253,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 231,
"end": 253,
"name": "ADD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 231,
"end": 253,
"name": "DUP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP2",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DIV",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "MUL",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 231,
"end": 253,
"name": "ADD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 231,
"end": 253,
"name": "MLOAD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP2",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "ADD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 231,
"end": 253,
"name": "MSTORE",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP3",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP2",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP2",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP2",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "MSTORE",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 231,
"end": 253,
"name": "ADD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP3",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SLOAD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH [tag]",
"source": 0,
"value": "42"
},
{
"begin": 231,
"end": 253,
"name": "SWAP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH [tag]",
"source": 0,
"value": "41"
},
{
"begin": 231,
"end": 253,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 231,
"end": 253,
"name": "tag",
"source": 0,
"value": "42"
},
{
"begin": 231,
"end": 253,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "ISZERO",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH [tag]",
"source": 0,
"value": "43"
},
{
"begin": 231,
"end": 253,
"name": "JUMPI",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 231,
"end": 253,
"name": "LT",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH [tag]",
"source": 0,
"value": "44"
},
{
"begin": 231,
"end": 253,
"name": "JUMPI",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 231,
"end": 253,
"name": "DUP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP4",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SLOAD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DIV",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "MUL",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP4",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "MSTORE",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP2",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 231,
"end": 253,
"name": "ADD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP2",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH [tag]",
"source": 0,
"value": "43"
},
{
"begin": 231,
"end": 253,
"name": "JUMP",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "tag",
"source": 0,
"value": "44"
},
{
"begin": 231,
"end": 253,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP3",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "ADD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP2",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 231,
"end": 253,
"name": "MSTORE",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 231,
"end": 253,
"name": "KECCAK256",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "tag",
"source": 0,
"value": "45"
},
{
"begin": 231,
"end": 253,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP2",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SLOAD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP2",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "MSTORE",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 231,
"end": 253,
"name": "ADD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 231,
"end": 253,
"name": "ADD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP4",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "GT",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH [tag]",
"source": 0,
"value": "45"
},
{
"begin": 231,
"end": 253,
"name": "JUMPI",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP3",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SUB",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 231,
"end": 253,
"name": "AND",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP3",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "ADD",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP2",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "tag",
"source": 0,
"value": "43"
},
{
"begin": 231,
"end": 253,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "POP",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "POP",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "POP",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "POP",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "POP",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "SWAP1",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "POP",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "DUP3",
"source": 0
},
{
"begin": 231,
"end": 253,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "35"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SLOAD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "46"
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "41"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1,
"value": "[in]"
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "46"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "0"
},
{
"begin": -1,
"end": -1,
"name": "MSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "20"
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "0"
},
{
"begin": -1,
"end": -1,
"name": "KECCAK256",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "1F"
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "20"
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DIV",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "48"
},
{
"begin": -1,
"end": -1,
"name": "JUMPI",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "0"
},
{
"begin": -1,
"end": -1,
"name": "DUP6",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "47"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "48"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "1F"
},
{
"begin": -1,
"end": -1,
"name": "LT",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "49"
},
{
"begin": -1,
"end": -1,
"name": "JUMPI",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "MLOAD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "FF"
},
{
"begin": -1,
"end": -1,
"name": "NOT",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "AND",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP4",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "OR",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP6",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "47"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "49"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "1"
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP6",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ISZERO",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "47"
},
{
"begin": -1,
"end": -1,
"name": "JUMPI",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "50"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "GT",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ISZERO",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "51"
},
{
"begin": -1,
"end": -1,
"name": "JUMPI",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "MLOAD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "20"
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "1"
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "50"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "51"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "47"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "52"
},
{
"begin": -1,
"end": -1,
"name": "SWAP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "53"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1,
"value": "[in]"
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "52"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1,
"value": "[out]"
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "53"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "54"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "GT",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ISZERO",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "55"
},
{
"begin": -1,
"end": -1,
"name": "JUMPI",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "0"
},
{
"begin": -1,
"end": -1,
"name": "DUP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "0"
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "1"
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "54"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "55"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1,
"value": "[out]"
},
{
"begin": 7,
"end": 419,
"name": "tag",
"source": 1,
"value": "57"
},
{
"begin": 7,
"end": 419,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 85,
"end": 90,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 110,
"end": 176,
"name": "PUSH [tag]",
"source": 1,
"value": "59"
},
{
"begin": 126,
"end": 175,
"name": "PUSH [tag]",
"source": 1,
"value": "60"
},
{
"begin": 168,
"end": 174,
"name": "DUP5",
"source": 1
},
{
"begin": 126,
"end": 175,
"name": "PUSH [tag]",
"source": 1,
"value": "61"
},
{
"begin": 126,
"end": 175,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 126,
"end": 175,
"name": "tag",
"source": 1,
"value": "60"
},
{
"begin": 126,
"end": 175,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 110,
"end": 176,
"name": "PUSH [tag]",
"source": 1,
"value": "62"
},
{
"begin": 110,
"end": 176,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 110,
"end": 176,
"name": "tag",
"source": 1,
"value": "59"
},
{
"begin": 110,
"end": 176,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 101,
"end": 176,
"name": "SWAP1",
"source": 1
},
{
"begin": 101,
"end": 176,
"name": "POP",
"source": 1
},
{
"begin": 199,
"end": 205,
"name": "DUP3",
"source": 1
},
{
"begin": 192,
"end": 197,
"name": "DUP2",
"source": 1
},
{
"begin": 185,
"end": 206,
"name": "MSTORE",
"source": 1
},
{
"begin": 237,
"end": 241,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 230,
"end": 235,
"name": "DUP2",
"source": 1
},
{
"begin": 226,
"end": 242,
"name": "ADD",
"source": 1
},
{
"begin": 275,
"end": 278,
"name": "DUP5",
"source": 1
},
{
"begin": 266,
"end": 272,
"name": "DUP5",
"source": 1
},
{
"begin": 261,
"end": 264,
"name": "DUP5",
"source": 1
},
{
"begin": 257,
"end": 273,
"name": "ADD",
"source": 1
},
{
"begin": 254,
"end": 279,
"name": "GT",
"source": 1
},
{
"begin": 251,
"end": 363,
"name": "ISZERO",
"source": 1
},
{
"begin": 251,
"end": 363,
"name": "PUSH [tag]",
"source": 1,
"value": "63"
},
{
"begin": 251,
"end": 363,
"name": "JUMPI",
"source": 1
},
{
"begin": 282,
"end": 361,
"name": "PUSH [tag]",
"source": 1,
"value": "64"
},
{
"begin": 282,
"end": 361,
"name": "PUSH [tag]",
"source": 1,
"value": "65"
},
{
"begin": 282,
"end": 361,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 282,
"end": 361,
"name": "tag",
"source": 1,
"value": "64"
},
{
"begin": 282,
"end": 361,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 251,
"end": 363,
"name": "tag",
"source": 1,
"value": "63"
},
{
"begin": 251,
"end": 363,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 372,
"end": 413,
"name": "PUSH [tag]",
"source": 1,
"value": "66"
},
{
"begin": 406,
"end": 412,
"name": "DUP5",
"source": 1
},
{
"begin": 401,
"end": 404,
"name": "DUP3",
"source": 1
},
{
"begin": 396,
"end": 399,
"name": "DUP6",
"source": 1
},
{
"begin": 372,
"end": 413,
"name": "PUSH [tag]",
"source": 1,
"value": "67"
},
{
"begin": 372,
"end": 413,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 372,
"end": 413,
"name": "tag",
"source": 1,
"value": "66"
},
{
"begin": 372,
"end": 413,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 91,
"end": 419,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 419,
"name": "SWAP4",
"source": 1
},
{
"begin": 7,
"end": 419,
"name": "SWAP3",
"source": 1
},
{
"begin": 7,
"end": 419,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 419,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 419,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 419,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 439,
"end": 779,
"name": "tag",
"source": 1,
"value": "68"
},
{
"begin": 439,
"end": 779,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 495,
"end": 500,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 544,
"end": 547,
"name": "DUP3",
"source": 1
},
{
"begin": 537,
"end": 541,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 529,
"end": 535,
"name": "DUP4",
"source": 1
},
{
"begin": 525,
"end": 542,
"name": "ADD",
"source": 1
},
{
"begin": 521,
"end": 548,
"name": "SLT",
"source": 1
},
{
"begin": 511,
"end": 633,
"name": "PUSH [tag]",
"source": 1,
"value": "70"
},
{
"begin": 511,
"end": 633,
"name": "JUMPI",
"source": 1
},
{
"begin": 552,
"end": 631,
"name": "PUSH [tag]",
"source": 1,
"value": "71"
},
{
"begin": 552,
"end": 631,
"name": "PUSH [tag]",
"source": 1,
"value": "72"
},
{
"begin": 552,
"end": 631,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 552,
"end": 631,
"name": "tag",
"source": 1,
"value": "71"
},
{
"begin": 552,
"end": 631,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 511,
"end": 633,
"name": "tag",
"source": 1,
"value": "70"
},
{
"begin": 511,
"end": 633,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 669,
"end": 675,
"name": "DUP2",
"source": 1
},
{
"begin": 656,
"end": 676,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 694,
"end": 773,
"name": "PUSH [tag]",
"source": 1,
"value": "73"
},
{
"begin": 769,
"end": 772,
"name": "DUP5",
"source": 1
},
{
"begin": 761,
"end": 767,
"name": "DUP3",
"source": 1
},
{
"begin": 754,
"end": 758,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 746,
"end": 752,
"name": "DUP7",
"source": 1
},
{
"begin": 742,
"end": 759,
"name": "ADD",
"source": 1
},
{
"begin": 694,
"end": 773,
"name": "PUSH [tag]",
"source": 1,
"value": "57"
},
{
"begin": 694,
"end": 773,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 694,
"end": 773,
"name": "tag",
"source": 1,
"value": "73"
},
{
"begin": 694,
"end": 773,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 685,
"end": 773,
"name": "SWAP2",
"source": 1
},
{
"begin": 685,
"end": 773,
"name": "POP",
"source": 1
},
{
"begin": 501,
"end": 779,
"name": "POP",
"source": 1
},
{
"begin": 439,
"end": 779,
"name": "SWAP3",
"source": 1
},
{
"begin": 439,
"end": 779,
"name": "SWAP2",
"source": 1
},
{
"begin": 439,
"end": 779,
"name": "POP",
"source": 1
},
{
"begin": 439,
"end": 779,
"name": "POP",
"source": 1
},
{
"begin": 439,
"end": 779,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 785,
"end": 924,
"name": "tag",
"source": 1,
"value": "74"
},
{
"begin": 785,
"end": 924,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 831,
"end": 836,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 869,
"end": 875,
"name": "DUP2",
"source": 1
},
{
"begin": 856,
"end": 876,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 847,
"end": 876,
"name": "SWAP1",
"source": 1
},
{
"begin": 847,
"end": 876,
"name": "POP",
"source": 1
},
{
"begin": 885,
"end": 918,
"name": "PUSH [tag]",
"source": 1,
"value": "76"
},
{
"begin": 912,
"end": 917,
"name": "DUP2",
"source": 1
},
{
"begin": 885,
"end": 918,
"name": "PUSH [tag]",
"source": 1,
"value": "77"
},
{
"begin": 885,
"end": 918,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 885,
"end": 918,
"name": "tag",
"source": 1,
"value": "76"
},
{
"begin": 885,
"end": 918,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 785,
"end": 924,
"name": "SWAP3",
"source": 1
},
{
"begin": 785,
"end": 924,
"name": "SWAP2",
"source": 1
},
{
"begin": 785,
"end": 924,
"name": "POP",
"source": 1
},
{
"begin": 785,
"end": 924,
"name": "POP",
"source": 1
},
{
"begin": 785,
"end": 924,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 930,
"end": 1439,
"name": "tag",
"source": 1,
"value": "22"
},
{
"begin": 930,
"end": 1439,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 999,
"end": 1005,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1048,
"end": 1050,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1036,
"end": 1045,
"name": "DUP3",
"source": 1
},
{
"begin": 1027,
"end": 1034,
"name": "DUP5",
"source": 1
},
{
"begin": 1023,
"end": 1046,
"name": "SUB",
"source": 1
},
{
"begin": 1019,
"end": 1051,
"name": "SLT",
"source": 1
},
{
"begin": 1016,
"end": 1135,
"name": "ISZERO",
"source": 1
},
{
"begin": 1016,
"end": 1135,
"name": "PUSH [tag]",
"source": 1,
"value": "79"
},
{
"begin": 1016,
"end": 1135,
"name": "JUMPI",
"source": 1
},
{
"begin": 1054,
"end": 1133,
"name": "PUSH [tag]",
"source": 1,
"value": "80"
},
{
"begin": 1054,
"end": 1133,
"name": "PUSH [tag]",
"source": 1,
"value": "81"
},
{
"begin": 1054,
"end": 1133,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1054,
"end": 1133,
"name": "tag",
"source": 1,
"value": "80"
},
{
"begin": 1054,
"end": 1133,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1016,
"end": 1135,
"name": "tag",
"source": 1,
"value": "79"
},
{
"begin": 1016,
"end": 1135,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1202,
"end": 1203,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1191,
"end": 1200,
"name": "DUP3",
"source": 1
},
{
"begin": 1187,
"end": 1204,
"name": "ADD",
"source": 1
},
{
"begin": 1174,
"end": 1205,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 1232,
"end": 1250,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 1224,
"end": 1230,
"name": "DUP2",
"source": 1
},
{
"begin": 1221,
"end": 1251,
"name": "GT",
"source": 1
},
{
"begin": 1218,
"end": 1335,
"name": "ISZERO",
"source": 1
},
{
"begin": 1218,
"end": 1335,
"name": "PUSH [tag]",
"source": 1,
"value": "82"
},
{
"begin": 1218,
"end": 1335,
"name": "JUMPI",
"source": 1
},
{
"begin": 1254,
"end": 1333,
"name": "PUSH [tag]",
"source": 1,
"value": "83"
},
{
"begin": 1254,
"end": 1333,
"name": "PUSH [tag]",
"source": 1,
"value": "84"
},
{
"begin": 1254,
"end": 1333,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1254,
"end": 1333,
"name": "tag",
"source": 1,
"value": "83"
},
{
"begin": 1254,
"end": 1333,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1218,
"end": 1335,
"name": "tag",
"source": 1,
"value": "82"
},
{
"begin": 1218,
"end": 1335,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1359,
"end": 1422,
"name": "PUSH [tag]",
"source": 1,
"value": "85"
},
{
"begin": 1414,
"end": 1421,
"name": "DUP5",
"source": 1
},
{
"begin": 1405,
"end": 1411,
"name": "DUP3",
"source": 1
},
{
"begin": 1394,
"end": 1403,
"name": "DUP6",
"source": 1
},
{
"begin": 1390,
"end": 1412,
"name": "ADD",
"source": 1
},
{
"begin": 1359,
"end": 1422,
"name": "PUSH [tag]",
"source": 1,
"value": "68"
},
{
"begin": 1359,
"end": 1422,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1359,
"end": 1422,
"name": "tag",
"source": 1,
"value": "85"
},
{
"begin": 1359,
"end": 1422,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1349,
"end": 1422,
"name": "SWAP2",
"source": 1
},
{
"begin": 1349,
"end": 1422,
"name": "POP",
"source": 1
},
{
"begin": 1145,
"end": 1432,
"name": "POP",
"source": 1
},
{
"begin": 930,
"end": 1439,
"name": "SWAP3",
"source": 1
},
{
"begin": 930,
"end": 1439,
"name": "SWAP2",
"source": 1
},
{
"begin": 930,
"end": 1439,
"name": "POP",
"source": 1
},
{
"begin": 930,
"end": 1439,
"name": "POP",
"source": 1
},
{
"begin": 930,
"end": 1439,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1445,
"end": 2099,
"name": "tag",
"source": 1,
"value": "18"
},
{
"begin": 1445,
"end": 2099,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1523,
"end": 1529,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1531,
"end": 1537,
"name": "DUP1",
"source": 1
},
{
"begin": 1580,
"end": 1582,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 1568,
"end": 1577,
"name": "DUP4",
"source": 1
},
{
"begin": 1559,
"end": 1566,
"name": "DUP6",
"source": 1
},
{
"begin": 1555,
"end": 1578,
"name": "SUB",
"source": 1
},
{
"begin": 1551,
"end": 1583,
"name": "SLT",
"source": 1
},
{
"begin": 1548,
"end": 1667,
"name": "ISZERO",
"source": 1
},
{
"begin": 1548,
"end": 1667,
"name": "PUSH [tag]",
"source": 1,
"value": "87"
},
{
"begin": 1548,
"end": 1667,
"name": "JUMPI",
"source": 1
},
{
"begin": 1586,
"end": 1665,
"name": "PUSH [tag]",
"source": 1,
"value": "88"
},
{
"begin": 1586,
"end": 1665,
"name": "PUSH [tag]",
"source": 1,
"value": "81"
},
{
"begin": 1586,
"end": 1665,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1586,
"end": 1665,
"name": "tag",
"source": 1,
"value": "88"
},
{
"begin": 1586,
"end": 1665,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1548,
"end": 1667,
"name": "tag",
"source": 1,
"value": "87"
},
{
"begin": 1548,
"end": 1667,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1734,
"end": 1735,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1723,
"end": 1732,
"name": "DUP4",
"source": 1
},
{
"begin": 1719,
"end": 1736,
"name": "ADD",
"source": 1
},
{
"begin": 1706,
"end": 1737,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 1764,
"end": 1782,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 1756,
"end": 1762,
"name": "DUP2",
"source": 1
},
{
"begin": 1753,
"end": 1783,
"name": "GT",
"source": 1
},
{
"begin": 1750,
"end": 1867,
"name": "ISZERO",
"source": 1
},
{
"begin": 1750,
"end": 1867,
"name": "PUSH [tag]",
"source": 1,
"value": "89"
},
{
"begin": 1750,
"end": 1867,
"name": "JUMPI",
"source": 1
},
{
"begin": 1786,
"end": 1865,
"name": "PUSH [tag]",
"source": 1,
"value": "90"
},
{
"begin": 1786,
"end": 1865,
"name": "PUSH [tag]",
"source": 1,
"value": "84"
},
{
"begin": 1786,
"end": 1865,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1786,
"end": 1865,
"name": "tag",
"source": 1,
"value": "90"
},
{
"begin": 1786,
"end": 1865,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1750,
"end": 1867,
"name": "tag",
"source": 1,
"value": "89"
},
{
"begin": 1750,
"end": 1867,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1891,
"end": 1954,
"name": "PUSH [tag]",
"source": 1,
"value": "91"
},
{
"begin": 1946,
"end": 1953,
"name": "DUP6",
"source": 1
},
{
"begin": 1937,
"end": 1943,
"name": "DUP3",
"source": 1
},
{
"begin": 1926,
"end": 1935,
"name": "DUP7",
"source": 1
},
{
"begin": 1922,
"end": 1944,
"name": "ADD",
"source": 1
},
{
"begin": 1891,
"end": 1954,
"name": "PUSH [tag]",
"source": 1,
"value": "68"
},
{
"begin": 1891,
"end": 1954,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1891,
"end": 1954,
"name": "tag",
"source": 1,
"value": "91"
},
{
"begin": 1891,
"end": 1954,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1881,
"end": 1954,
"name": "SWAP3",
"source": 1
},
{
"begin": 1881,
"end": 1954,
"name": "POP",
"source": 1
},
{
"begin": 1677,
"end": 1964,
"name": "POP",
"source": 1
},
{
"begin": 2003,
"end": 2005,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2029,
"end": 2082,
"name": "PUSH [tag]",
"source": 1,
"value": "92"
},
{
"begin": 2074,
"end": 2081,
"name": "DUP6",
"source": 1
},
{
"begin": 2065,
"end": 2071,
"name": "DUP3",
"source": 1
},
{
"begin": 2054,
"end": 2063,
"name": "DUP7",
"source": 1
},
{
"begin": 2050,
"end": 2072,
"name": "ADD",
"source": 1
},
{
"begin": 2029,
"end": 2082,
"name": "PUSH [tag]",
"source": 1,
"value": "74"
},
{
"begin": 2029,
"end": 2082,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2029,
"end": 2082,
"name": "tag",
"source": 1,
"value": "92"
},
{
"begin": 2029,
"end": 2082,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2019,
"end": 2082,
"name": "SWAP2",
"source": 1
},
{
"begin": 2019,
"end": 2082,
"name": "POP",
"source": 1
},
{
"begin": 1974,
"end": 2092,
"name": "POP",
"source": 1
},
{
"begin": 1445,
"end": 2099,
"name": "SWAP3",
"source": 1
},
{
"begin": 1445,
"end": 2099,
"name": "POP",
"source": 1
},
{
"begin": 1445,
"end": 2099,
"name": "SWAP3",
"source": 1
},
{
"begin": 1445,
"end": 2099,
"name": "SWAP1",
"source": 1
},
{
"begin": 1445,
"end": 2099,
"name": "POP",
"source": 1
},
{
"begin": 1445,
"end": 2099,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 2105,
"end": 2434,
"name": "tag",
"source": 1,
"value": "14"
},
{
"begin": 2105,
"end": 2434,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2164,
"end": 2170,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2213,
"end": 2215,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2201,
"end": 2210,
"name": "DUP3",
"source": 1
},
{
"begin": 2192,
"end": 2199,
"name": "DUP5",
"source": 1
},
{
"begin": 2188,
"end": 2211,
"name": "SUB",
"source": 1
},
{
"begin": 2184,
"end": 2216,
"name": "SLT",
"source": 1
},
{
"begin": 2181,
"end": 2300,
"name": "ISZERO",
"source": 1
},
{
"begin": 2181,
"end": 2300,
"name": "PUSH [tag]",
"source": 1,
"value": "94"
},
{
"begin": 2181,
"end": 2300,
"name": "JUMPI",
"source": 1
},
{
"begin": 2219,
"end": 2298,
"name": "PUSH [tag]",
"source": 1,
"value": "95"
},
{
"begin": 2219,
"end": 2298,
"name": "PUSH [tag]",
"source": 1,
"value": "81"
},
{
"begin": 2219,
"end": 2298,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2219,
"end": 2298,
"name": "tag",
"source": 1,
"value": "95"
},
{
"begin": 2219,
"end": 2298,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2181,
"end": 2300,
"name": "tag",
"source": 1,
"value": "94"
},
{
"begin": 2181,
"end": 2300,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2339,
"end": 2340,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2364,
"end": 2417,
"name": "PUSH [tag]",
"source": 1,
"value": "96"
},
{
"begin": 2409,
"end": 2416,
"name": "DUP5",
"source": 1
},
{
"begin": 2400,
"end": 2406,
"name": "DUP3",
"source": 1
},
{
"begin": 2389,
"end": 2398,
"name": "DUP6",
"source": 1
},
{
"begin": 2385,
"end": 2407,
"name": "ADD",
"source": 1
},
{
"begin": 2364,
"end": 2417,
"name": "PUSH [tag]",
"source": 1,
"value": "74"
},
{
"begin": 2364,
"end": 2417,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2364,
"end": 2417,
"name": "tag",
"source": 1,
"value": "96"
},
{
"begin": 2364,
"end": 2417,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2354,
"end": 2417,
"name": "SWAP2",
"source": 1
},
{
"begin": 2354,
"end": 2417,
"name": "POP",
"source": 1
},
{
"begin": 2310,
"end": 2427,
"name": "POP",
"source": 1
},
{
"begin": 2105,
"end": 2434,
"name": "SWAP3",
"source": 1
},
{
"begin": 2105,
"end": 2434,
"name": "SWAP2",
"source": 1
},
{
"begin": 2105,
"end": 2434,
"name": "POP",
"source": 1
},
{
"begin": 2105,
"end": 2434,
"name": "POP",
"source": 1
},
{
"begin": 2105,
"end": 2434,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 2440,
"end": 2804,
"name": "tag",
"source": 1,
"value": "97"
},
{
"begin": 2440,
"end": 2804,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2528,
"end": 2531,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2556,
"end": 2595,
"name": "PUSH [tag]",
"source": 1,
"value": "99"
},
{
"begin": 2589,
"end": 2594,
"name": "DUP3",
"source": 1
},
{
"begin": 2556,
"end": 2595,
"name": "PUSH [tag]",
"source": 1,
"value": "100"
},
{
"begin": 2556,
"end": 2595,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2556,
"end": 2595,
"name": "tag",
"source": 1,
"value": "99"
},
{
"begin": 2556,
"end": 2595,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2611,
"end": 2682,
"name": "PUSH [tag]",
"source": 1,
"value": "101"
},
{
"begin": 2675,
"end": 2681,
"name": "DUP2",
"source": 1
},
{
"begin": 2670,
"end": 2673,
"name": "DUP6",
"source": 1
},
{
"begin": 2611,
"end": 2682,
"name": "PUSH [tag]",
"source": 1,
"value": "102"
},
{
"begin": 2611,
"end": 2682,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2611,
"end": 2682,
"name": "tag",
"source": 1,
"value": "101"
},
{
"begin": 2611,
"end": 2682,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2604,
"end": 2682,
"name": "SWAP4",
"source": 1
},
{
"begin": 2604,
"end": 2682,
"name": "POP",
"source": 1
},
{
"begin": 2691,
"end": 2743,
"name": "PUSH [tag]",
"source": 1,
"value": "103"
},
{
"begin": 2736,
"end": 2742,
"name": "DUP2",
"source": 1
},
{
"begin": 2731,
"end": 2734,
"name": "DUP6",
"source": 1
},
{
"begin": 2724,
"end": 2728,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2717,
"end": 2722,
"name": "DUP7",
"source": 1
},
{
"begin": 2713,
"end": 2729,
"name": "ADD",
"source": 1
},
{
"begin": 2691,
"end": 2743,
"name": "PUSH [tag]",
"source": 1,
"value": "104"
},
{
"begin": 2691,
"end": 2743,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2691,
"end": 2743,
"name": "tag",
"source": 1,
"value": "103"
},
{
"begin": 2691,
"end": 2743,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2768,
"end": 2797,
"name": "PUSH [tag]",
"source": 1,
"value": "105"
},
{
"begin": 2790,
"end": 2796,
"name": "DUP2",
"source": 1
},
{
"begin": 2768,
"end": 2797,
"name": "PUSH [tag]",
"source": 1,
"value": "106"
},
{
"begin": 2768,
"end": 2797,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2768,
"end": 2797,
"name": "tag",
"source": 1,
"value": "105"
},
{
"begin": 2768,
"end": 2797,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2763,
"end": 2766,
"name": "DUP5",
"source": 1
},
{
"begin": 2759,
"end": 2798,
"name": "ADD",
"source": 1
},
{
"begin": 2752,
"end": 2798,
"name": "SWAP2",
"source": 1
},
{
"begin": 2752,
"end": 2798,
"name": "POP",
"source": 1
},
{
"begin": 2532,
"end": 2804,
"name": "POP",
"source": 1
},
{
"begin": 2440,
"end": 2804,
"name": "SWAP3",
"source": 1
},
{
"begin": 2440,
"end": 2804,
"name": "SWAP2",
"source": 1
},
{
"begin": 2440,
"end": 2804,
"name": "POP",
"source": 1
},
{
"begin": 2440,
"end": 2804,
"name": "POP",
"source": 1
},
{
"begin": 2440,
"end": 2804,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 2810,
"end": 3187,
"name": "tag",
"source": 1,
"value": "107"
},
{
"begin": 2810,
"end": 3187,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2916,
"end": 2919,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2944,
"end": 2983,
"name": "PUSH [tag]",
"source": 1,
"value": "109"
},
{
"begin": 2977,
"end": 2982,
"name": "DUP3",
"source": 1
},
{
"begin": 2944,
"end": 2983,
"name": "PUSH [tag]",
"source": 1,
"value": "100"
},
{
"begin": 2944,
"end": 2983,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2944,
"end": 2983,
"name": "tag",
"source": 1,
"value": "109"
},
{
"begin": 2944,
"end": 2983,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2999,
"end": 3088,
"name": "PUSH [tag]",
"source": 1,
"value": "110"
},
{
"begin": 3081,
"end": 3087,
"name": "DUP2",
"source": 1
},
{
"begin": 3076,
"end": 3079,
"name": "DUP6",
"source": 1
},
{
"begin": 2999,
"end": 3088,
"name": "PUSH [tag]",
"source": 1,
"value": "111"
},
{
"begin": 2999,
"end": 3088,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2999,
"end": 3088,
"name": "tag",
"source": 1,
"value": "110"
},
{
"begin": 2999,
"end": 3088,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2992,
"end": 3088,
"name": "SWAP4",
"source": 1
},
{
"begin": 2992,
"end": 3088,
"name": "POP",
"source": 1
},
{
"begin": 3097,
"end": 3149,
"name": "PUSH [tag]",
"source": 1,
"value": "112"
},
{
"begin": 3142,
"end": 3148,
"name": "DUP2",
"source": 1
},
{
"begin": 3137,
"end": 3140,
"name": "DUP6",
"source": 1
},
{
"begin": 3130,
"end": 3134,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3123,
"end": 3128,
"name": "DUP7",
"source": 1
},
{
"begin": 3119,
"end": 3135,
"name": "ADD",
"source": 1
},
{
"begin": 3097,
"end": 3149,
"name": "PUSH [tag]",
"source": 1,
"value": "104"
},
{
"begin": 3097,
"end": 3149,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 3097,
"end": 3149,
"name": "tag",
"source": 1,
"value": "112"
},
{
"begin": 3097,
"end": 3149,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3174,
"end": 3180,
"name": "DUP1",
"source": 1
},
{
"begin": 3169,
"end": 3172,
"name": "DUP5",
"source": 1
},
{
"begin": 3165,
"end": 3181,
"name": "ADD",
"source": 1
},
{
"begin": 3158,
"end": 3181,
"name": "SWAP2",
"source": 1
},
{
"begin": 3158,
"end": 3181,
"name": "POP",
"source": 1
},
{
"begin": 2920,
"end": 3187,
"name": "POP",
"source": 1
},
{
"begin": 2810,
"end": 3187,
"name": "SWAP3",
"source": 1
},
{
"begin": 2810,
"end": 3187,
"name": "SWAP2",
"source": 1
},
{
"begin": 2810,
"end": 3187,
"name": "POP",
"source": 1
},
{
"begin": 2810,
"end": 3187,
"name": "POP",
"source": 1
},
{
"begin": 2810,
"end": 3187,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3193,
"end": 3311,
"name": "tag",
"source": 1,
"value": "113"
},
{
"begin": 3193,
"end": 3311,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3280,
"end": 3304,
"name": "PUSH [tag]",
"source": 1,
"value": "115"
},
{
"begin": 3298,
"end": 3303,
"name": "DUP2",
"source": 1
},
{
"begin": 3280,
"end": 3304,
"name": "PUSH [tag]",
"source": 1,
"value": "116"
},
{
"begin": 3280,
"end": 3304,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 3280,
"end": 3304,
"name": "tag",
"source": 1,
"value": "115"
},
{
"begin": 3280,
"end": 3304,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3275,
"end": 3278,
"name": "DUP3",
"source": 1
},
{
"begin": 3268,
"end": 3305,
"name": "MSTORE",
"source": 1
},
{
"begin": 3193,
"end": 3311,
"name": "POP",
"source": 1
},
{
"begin": 3193,
"end": 3311,
"name": "POP",
"source": 1
},
{
"begin": 3193,
"end": 3311,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3317,
"end": 3592,
"name": "tag",
"source": 1,
"value": "37"
},
{
"begin": 3317,
"end": 3592,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3449,
"end": 3452,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3471,
"end": 3566,
"name": "PUSH [tag]",
"source": 1,
"value": "118"
},
{
"begin": 3562,
"end": 3565,
"name": "DUP3",
"source": 1
},
{
"begin": 3553,
"end": 3559,
"name": "DUP5",
"source": 1
},
{
"begin": 3471,
"end": 3566,
"name": "PUSH [tag]",
"source": 1,
"value": "107"
},
{
"begin": 3471,
"end": 3566,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 3471,
"end": 3566,
"name": "tag",
"source": 1,
"value": "118"
},
{
"begin": 3471,
"end": 3566,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3464,
"end": 3566,
"name": "SWAP2",
"source": 1
},
{
"begin": 3464,
"end": 3566,
"name": "POP",
"source": 1
},
{
"begin": 3583,
"end": 3586,
"name": "DUP2",
"source": 1
},
{
"begin": 3576,
"end": 3586,
"name": "SWAP1",
"source": 1
},
{
"begin": 3576,
"end": 3586,
"name": "POP",
"source": 1
},
{
"begin": 3317,
"end": 3592,
"name": "SWAP3",
"source": 1
},
{
"begin": 3317,
"end": 3592,
"name": "SWAP2",
"source": 1
},
{
"begin": 3317,
"end": 3592,
"name": "POP",
"source": 1
},
{
"begin": 3317,
"end": 3592,
"name": "POP",
"source": 1
},
{
"begin": 3317,
"end": 3592,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3598,
"end": 3820,
"name": "tag",
"source": 1,
"value": "11"
},
{
"begin": 3598,
"end": 3820,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3691,
"end": 3695,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3729,
"end": 3731,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3718,
"end": 3727,
"name": "DUP3",
"source": 1
},
{
"begin": 3714,
"end": 3732,
"name": "ADD",
"source": 1
},
{
"begin": 3706,
"end": 3732,
"name": "SWAP1",
"source": 1
},
{
"begin": 3706,
"end": 3732,
"name": "POP",
"source": 1
},
{
"begin": 3742,
"end": 3813,
"name": "PUSH [tag]",
"source": 1,
"value": "120"
},
{
"begin": 3810,
"end": 3811,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3799,
"end": 3808,
"name": "DUP4",
"source": 1
},
{
"begin": 3795,
"end": 3812,
"name": "ADD",
"source": 1
},
{
"begin": 3786,
"end": 3792,
"name": "DUP5",
"source": 1
},
{
"begin": 3742,
"end": 3813,
"name": "PUSH [tag]",
"source": 1,
"value": "113"
},
{
"begin": 3742,
"end": 3813,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 3742,
"end": 3813,
"name": "tag",
"source": 1,
"value": "120"
},
{
"begin": 3742,
"end": 3813,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3598,
"end": 3820,
"name": "SWAP3",
"source": 1
},
{
"begin": 3598,
"end": 3820,
"name": "SWAP2",
"source": 1
},
{
"begin": 3598,
"end": 3820,
"name": "POP",
"source": 1
},
{
"begin": 3598,
"end": 3820,
"name": "POP",
"source": 1
},
{
"begin": 3598,
"end": 3820,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3826,
"end": 4249,
"name": "tag",
"source": 1,
"value": "29"
},
{
"begin": 3826,
"end": 4249,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3967,
"end": 3971,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4005,
"end": 4007,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 3994,
"end": 4003,
"name": "DUP3",
"source": 1
},
{
"begin": 3990,
"end": 4008,
"name": "ADD",
"source": 1
},
{
"begin": 3982,
"end": 4008,
"name": "SWAP1",
"source": 1
},
{
"begin": 3982,
"end": 4008,
"name": "POP",
"source": 1
},
{
"begin": 4018,
"end": 4089,
"name": "PUSH [tag]",
"source": 1,
"value": "122"
},
{
"begin": 4086,
"end": 4087,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4075,
"end": 4084,
"name": "DUP4",
"source": 1
},
{
"begin": 4071,
"end": 4088,
"name": "ADD",
"source": 1
},
{
"begin": 4062,
"end": 4068,
"name": "DUP6",
"source": 1
},
{
"begin": 4018,
"end": 4089,
"name": "PUSH [tag]",
"source": 1,
"value": "113"
},
{
"begin": 4018,
"end": 4089,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 4018,
"end": 4089,
"name": "tag",
"source": 1,
"value": "122"
},
{
"begin": 4018,
"end": 4089,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4136,
"end": 4145,
"name": "DUP2",
"source": 1
},
{
"begin": 4130,
"end": 4134,
"name": "DUP2",
"source": 1
},
{
"begin": 4126,
"end": 4146,
"name": "SUB",
"source": 1
},
{
"begin": 4121,
"end": 4123,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4110,
"end": 4119,
"name": "DUP4",
"source": 1
},
{
"begin": 4106,
"end": 4124,
"name": "ADD",
"source": 1
},
{
"begin": 4099,
"end": 4147,
"name": "MSTORE",
"source": 1
},
{
"begin": 4164,
"end": 4242,
"name": "PUSH [tag]",
"source": 1,
"value": "123"
},
{
"begin": 4237,
"end": 4241,
"name": "DUP2",
"source": 1
},
{
"begin": 4228,
"end": 4234,
"name": "DUP5",
"source": 1
},
{
"begin": 4164,
"end": 4242,
"name": "PUSH [tag]",
"source": 1,
"value": "97"
},
{
"begin": 4164,
"end": 4242,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 4164,
"end": 4242,
"name": "tag",
"source": 1,
"value": "123"
},
{
"begin": 4164,
"end": 4242,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4156,
"end": 4242,
"name": "SWAP1",
"source": 1
},
{
"begin": 4156,
"end": 4242,
"name": "POP",
"source": 1
},
{
"begin": 3826,
"end": 4249,
"name": "SWAP4",
"source": 1
},
{
"begin": 3826,
"end": 4249,
"name": "SWAP3",
"source": 1
},
{
"begin": 3826,
"end": 4249,
"name": "POP",
"source": 1
},
{
"begin": 3826,
"end": 4249,
"name": "POP",
"source": 1
},
{
"begin": 3826,
"end": 4249,
"name": "POP",
"source": 1
},
{
"begin": 3826,
"end": 4249,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 4255,
"end": 4384,
"name": "tag",
"source": 1,
"value": "62"
},
{
"begin": 4255,
"end": 4384,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4289,
"end": 4295,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4316,
"end": 4336,
"name": "PUSH [tag]",
"source": 1,
"value": "125"
},
{
"begin": 4316,
"end": 4336,
"name": "PUSH [tag]",
"source": 1,
"value": "126"
},
{
"begin": 4316,
"end": 4336,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 4316,
"end": 4336,
"name": "tag",
"source": 1,
"value": "125"
},
{
"begin": 4316,
"end": 4336,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4306,
"end": 4336,
"name": "SWAP1",
"source": 1
},
{
"begin": 4306,
"end": 4336,
"name": "POP",
"source": 1
},
{
"begin": 4345,
"end": 4378,
"name": "PUSH [tag]",
"source": 1,
"value": "127"
},
{
"begin": 4373,
"end": 4377,
"name": "DUP3",
"source": 1
},
{
"begin": 4365,
"end": 4371,
"name": "DUP3",
"source": 1
},
{
"begin": 4345,
"end": 4378,
"name": "PUSH [tag]",
"source": 1,
"value": "128"
},
{
"begin": 4345,
"end": 4378,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 4345,
"end": 4378,
"name": "tag",
"source": 1,
"value": "127"
},
{
"begin": 4345,
"end": 4378,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4255,
"end": 4384,
"name": "SWAP2",
"source": 1
},
{
"begin": 4255,
"end": 4384,
"name": "SWAP1",
"source": 1
},
{
"begin": 4255,
"end": 4384,
"name": "POP",
"source": 1
},
{
"begin": 4255,
"end": 4384,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 4390,
"end": 4465,
"name": "tag",
"source": 1,
"value": "126"
},
{
"begin": 4390,
"end": 4465,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4423,
"end": 4429,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4456,
"end": 4458,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4450,
"end": 4459,
"name": "MLOAD",
"source": 1
},
{
"begin": 4440,
"end": 4459,
"name": "SWAP1",
"source": 1
},
{
"begin": 4440,
"end": 4459,
"name": "POP",
"source": 1
},
{
"begin": 4390,
"end": 4465,
"name": "SWAP1",
"source": 1
},
{
"begin": 4390,
"end": 4465,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 4471,
"end": 4779,
"name": "tag",
"source": 1,
"value": "61"
},
{
"begin": 4471,
"end": 4779,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4533,
"end": 4537,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4623,
"end": 4641,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 4615,
"end": 4621,
"name": "DUP3",
"source": 1
},
{
"begin": 4612,
"end": 4642,
"name": "GT",
"source": 1
},
{
"begin": 4609,
"end": 4665,
"name": "ISZERO",
"source": 1
},
{
"begin": 4609,
"end": 4665,
"name": "PUSH [tag]",
"source": 1,
"value": "131"
},
{
"begin": 4609,
"end": 4665,
"name": "JUMPI",
"source": 1
},
{
"begin": 4645,
"end": 4663,
"name": "PUSH [tag]",
"source": 1,
"value": "132"
},
{
"begin": 4645,
"end": 4663,
"name": "PUSH [tag]",
"source": 1,
"value": "133"
},
{
"begin": 4645,
"end": 4663,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 4645,
"end": 4663,
"name": "tag",
"source": 1,
"value": "132"
},
{
"begin": 4645,
"end": 4663,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4609,
"end": 4665,
"name": "tag",
"source": 1,
"value": "131"
},
{
"begin": 4609,
"end": 4665,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4683,
"end": 4712,
"name": "PUSH [tag]",
"source": 1,
"value": "134"
},
{
"begin": 4705,
"end": 4711,
"name": "DUP3",
"source": 1
},
{
"begin": 4683,
"end": 4712,
"name": "PUSH [tag]",
"source": 1,
"value": "106"
},
{
"begin": 4683,
"end": 4712,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 4683,
"end": 4712,
"name": "tag",
"source": 1,
"value": "134"
},
{
"begin": 4683,
"end": 4712,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4675,
"end": 4712,
"name": "SWAP1",
"source": 1
},
{
"begin": 4675,
"end": 4712,
"name": "POP",
"source": 1
},
{
"begin": 4767,
"end": 4771,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4761,
"end": 4765,
"name": "DUP2",
"source": 1
},
{
"begin": 4757,
"end": 4772,
"name": "ADD",
"source": 1
},
{
"begin": 4749,
"end": 4772,
"name": "SWAP1",
"source": 1
},
{
"begin": 4749,
"end": 4772,
"name": "POP",
"source": 1
},
{
"begin": 4471,
"end": 4779,
"name": "SWAP2",
"source": 1
},
{
"begin": 4471,
"end": 4779,
"name": "SWAP1",
"source": 1
},
{
"begin": 4471,
"end": 4779,
"name": "POP",
"source": 1
},
{
"begin": 4471,
"end": 4779,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 4785,
"end": 4884,
"name": "tag",
"source": 1,
"value": "100"
},
{
"begin": 4785,
"end": 4884,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4837,
"end": 4843,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4871,
"end": 4876,
"name": "DUP2",
"source": 1
},
{
"begin": 4865,
"end": 4877,
"name": "MLOAD",
"source": 1
},
{
"begin": 4855,
"end": 4877,
"name": "SWAP1",
"source": 1
},
{
"begin": 4855,
"end": 4877,
"name": "POP",
"source": 1
},
{
"begin": 4785,
"end": 4884,
"name": "SWAP2",
"source": 1
},
{
"begin": 4785,
"end": 4884,
"name": "SWAP1",
"source": 1
},
{
"begin": 4785,
"end": 4884,
"name": "POP",
"source": 1
},
{
"begin": 4785,
"end": 4884,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 4890,
"end": 5059,
"name": "tag",
"source": 1,
"value": "102"
},
{
"begin": 4890,
"end": 5059,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4974,
"end": 4985,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5008,
"end": 5014,
"name": "DUP3",
"source": 1
},
{
"begin": 5003,
"end": 5006,
"name": "DUP3",
"source": 1
},
{
"begin": 4996,
"end": 5015,
"name": "MSTORE",
"source": 1
},
{
"begin": 5048,
"end": 5052,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 5043,
"end": 5046,
"name": "DUP3",
"source": 1
},
{
"begin": 5039,
"end": 5053,
"name": "ADD",
"source": 1
},
{
"begin": 5024,
"end": 5053,
"name": "SWAP1",
"source": 1
},
{
"begin": 5024,
"end": 5053,
"name": "POP",
"source": 1
},
{
"begin": 4890,
"end": 5059,
"name": "SWAP3",
"source": 1
},
{
"begin": 4890,
"end": 5059,
"name": "SWAP2",
"source": 1
},
{
"begin": 4890,
"end": 5059,
"name": "POP",
"source": 1
},
{
"begin": 4890,
"end": 5059,
"name": "POP",
"source": 1
},
{
"begin": 4890,
"end": 5059,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 5065,
"end": 5213,
"name": "tag",
"source": 1,
"value": "111"
},
{
"begin": 5065,
"end": 5213,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5167,
"end": 5178,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5204,
"end": 5207,
"name": "DUP2",
"source": 1
},
{
"begin": 5189,
"end": 5207,
"name": "SWAP1",
"source": 1
},
{
"begin": 5189,
"end": 5207,
"name": "POP",
"source": 1
},
{
"begin": 5065,
"end": 5213,
"name": "SWAP3",
"source": 1
},
{
"begin": 5065,
"end": 5213,
"name": "SWAP2",
"source": 1
},
{
"begin": 5065,
"end": 5213,
"name": "POP",
"source": 1
},
{
"begin": 5065,
"end": 5213,
"name": "POP",
"source": 1
},
{
"begin": 5065,
"end": 5213,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 5219,
"end": 5296,
"name": "tag",
"source": 1,
"value": "116"
},
{
"begin": 5219,
"end": 5296,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5256,
"end": 5263,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5285,
"end": 5290,
"name": "DUP2",
"source": 1
},
{
"begin": 5274,
"end": 5290,
"name": "SWAP1",
"source": 1
},
{
"begin": 5274,
"end": 5290,
"name": "POP",
"source": 1
},
{
"begin": 5219,
"end": 5296,
"name": "SWAP2",
"source": 1
},
{
"begin": 5219,
"end": 5296,
"name": "SWAP1",
"source": 1
},
{
"begin": 5219,
"end": 5296,
"name": "POP",
"source": 1
},
{
"begin": 5219,
"end": 5296,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 5302,
"end": 5456,
"name": "tag",
"source": 1,
"value": "67"
},
{
"begin": 5302,
"end": 5456,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5386,
"end": 5392,
"name": "DUP3",
"source": 1
},
{
"begin": 5381,
"end": 5384,
"name": "DUP2",
"source": 1
},
{
"begin": 5376,
"end": 5379,
"name": "DUP4",
"source": 1
},
{
"begin": 5363,
"end": 5393,
"name": "CALLDATACOPY",
"source": 1
},
{
"begin": 5448,
"end": 5449,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5439,
"end": 5445,
"name": "DUP4",
"source": 1
},
{
"begin": 5434,
"end": 5437,
"name": "DUP4",
"source": 1
},
{
"begin": 5430,
"end": 5446,
"name": "ADD",
"source": 1
},
{
"begin": 5423,
"end": 5450,
"name": "MSTORE",
"source": 1
},
{
"begin": 5302,
"end": 5456,
"name": "POP",
"source": 1
},
{
"begin": 5302,
"end": 5456,
"name": "POP",
"source": 1
},
{
"begin": 5302,
"end": 5456,
"name": "POP",
"source": 1
},
{
"begin": 5302,
"end": 5456,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 5462,
"end": 5769,
"name": "tag",
"source": 1,
"value": "104"
},
{
"begin": 5462,
"end": 5769,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5530,
"end": 5531,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5540,
"end": 5653,
"name": "tag",
"source": 1,
"value": "141"
},
{
"begin": 5540,
"end": 5653,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5554,
"end": 5560,
"name": "DUP4",
"source": 1
},
{
"begin": 5551,
"end": 5552,
"name": "DUP2",
"source": 1
},
{
"begin": 5548,
"end": 5561,
"name": "LT",
"source": 1
},
{
"begin": 5540,
"end": 5653,
"name": "ISZERO",
"source": 1
},
{
"begin": 5540,
"end": 5653,
"name": "PUSH [tag]",
"source": 1,
"value": "143"
},
{
"begin": 5540,
"end": 5653,
"name": "JUMPI",
"source": 1
},
{
"begin": 5639,
"end": 5640,
"name": "DUP1",
"source": 1
},
{
"begin": 5634,
"end": 5637,
"name": "DUP3",
"source": 1
},
{
"begin": 5630,
"end": 5641,
"name": "ADD",
"source": 1
},
{
"begin": 5624,
"end": 5642,
"name": "MLOAD",
"source": 1
},
{
"begin": 5620,
"end": 5621,
"name": "DUP2",
"source": 1
},
{
"begin": 5615,
"end": 5618,
"name": "DUP5",
"source": 1
},
{
"begin": 5611,
"end": 5622,
"name": "ADD",
"source": 1
},
{
"begin": 5604,
"end": 5643,
"name": "MSTORE",
"source": 1
},
{
"begin": 5576,
"end": 5578,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 5573,
"end": 5574,
"name": "DUP2",
"source": 1
},
{
"begin": 5569,
"end": 5579,
"name": "ADD",
"source": 1
},
{
"begin": 5564,
"end": 5579,
"name": "SWAP1",
"source": 1
},
{
"begin": 5564,
"end": 5579,
"name": "POP",
"source": 1
},
{
"begin": 5540,
"end": 5653,
"name": "PUSH [tag]",
"source": 1,
"value": "141"
},
{
"begin": 5540,
"end": 5653,
"name": "JUMP",
"source": 1
},
{
"begin": 5540,
"end": 5653,
"name": "tag",
"source": 1,
"value": "143"
},
{
"begin": 5540,
"end": 5653,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5671,
"end": 5677,
"name": "DUP4",
"source": 1
},
{
"begin": 5668,
"end": 5669,
"name": "DUP2",
"source": 1
},
{
"begin": 5665,
"end": 5678,
"name": "GT",
"source": 1
},
{
"begin": 5662,
"end": 5763,
"name": "ISZERO",
"source": 1
},
{
"begin": 5662,
"end": 5763,
"name": "PUSH [tag]",
"source": 1,
"value": "144"
},
{
"begin": 5662,
"end": 5763,
"name": "JUMPI",
"source": 1
},
{
"begin": 5751,
"end": 5752,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5742,
"end": 5748,
"name": "DUP5",
"source": 1
},
{
"begin": 5737,
"end": 5740,
"name": "DUP5",
"source": 1
},
{
"begin": 5733,
"end": 5749,
"name": "ADD",
"source": 1
},
{
"begin": 5726,
"end": 5753,
"name": "MSTORE",
"source": 1
},
{
"begin": 5662,
"end": 5763,
"name": "tag",
"source": 1,
"value": "144"
},
{
"begin": 5662,
"end": 5763,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5511,
"end": 5769,
"name": "POP",
"source": 1
},
{
"begin": 5462,
"end": 5769,
"name": "POP",
"source": 1
},
{
"begin": 5462,
"end": 5769,
"name": "POP",
"source": 1
},
{
"begin": 5462,
"end": 5769,
"name": "POP",
"source": 1
},
{
"begin": 5462,
"end": 5769,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 5775,
"end": 6095,
"name": "tag",
"source": 1,
"value": "41"
},
{
"begin": 5775,
"end": 6095,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5819,
"end": 5825,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5856,
"end": 5857,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 5850,
"end": 5854,
"name": "DUP3",
"source": 1
},
{
"begin": 5846,
"end": 5858,
"name": "DIV",
"source": 1
},
{
"begin": 5836,
"end": 5858,
"name": "SWAP1",
"source": 1
},
{
"begin": 5836,
"end": 5858,
"name": "POP",
"source": 1
},
{
"begin": 5903,
"end": 5904,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 5897,
"end": 5901,
"name": "DUP3",
"source": 1
},
{
"begin": 5893,
"end": 5905,
"name": "AND",
"source": 1
},
{
"begin": 5924,
"end": 5942,
"name": "DUP1",
"source": 1
},
{
"begin": 5914,
"end": 5995,
"name": "PUSH [tag]",
"source": 1,
"value": "146"
},
{
"begin": 5914,
"end": 5995,
"name": "JUMPI",
"source": 1
},
{
"begin": 5980,
"end": 5984,
"name": "PUSH",
"source": 1,
"value": "7F"
},
{
"begin": 5972,
"end": 5978,
"name": "DUP3",
"source": 1
},
{
"begin": 5968,
"end": 5985,
"name": "AND",
"source": 1
},
{
"begin": 5958,
"end": 5985,
"name": "SWAP2",
"source": 1
},
{
"begin": 5958,
"end": 5985,
"name": "POP",
"source": 1
},
{
"begin": 5914,
"end": 5995,
"name": "tag",
"source": 1,
"value": "146"
},
{
"begin": 5914,
"end": 5995,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6042,
"end": 6044,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 6034,
"end": 6040,
"name": "DUP3",
"source": 1
},
{
"begin": 6031,
"end": 6045,
"name": "LT",
"source": 1
},
{
"begin": 6011,
"end": 6029,
"name": "DUP2",
"source": 1
},
{
"begin": 6008,
"end": 6046,
"name": "EQ",
"source": 1
},
{
"begin": 6005,
"end": 6089,
"name": "ISZERO",
"source": 1
},
{
"begin": 6005,
"end": 6089,
"name": "PUSH [tag]",
"source": 1,
"value": "147"
},
{
"begin": 6005,
"end": 6089,
"name": "JUMPI",
"source": 1
},
{
"begin": 6061,
"end": 6079,
"name": "PUSH [tag]",
"source": 1,
"value": "148"
},
{
"begin": 6061,
"end": 6079,
"name": "PUSH [tag]",
"source": 1,
"value": "149"
},
{
"begin": 6061,
"end": 6079,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 6061,
"end": 6079,
"name": "tag",
"source": 1,
"value": "148"
},
{
"begin": 6061,
"end": 6079,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6005,
"end": 6089,
"name": "tag",
"source": 1,
"value": "147"
},
{
"begin": 6005,
"end": 6089,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5826,
"end": 6095,
"name": "POP",
"source": 1
},
{
"begin": 5775,
"end": 6095,
"name": "SWAP2",
"source": 1
},
{
"begin": 5775,
"end": 6095,
"name": "SWAP1",
"source": 1
},
{
"begin": 5775,
"end": 6095,
"name": "POP",
"source": 1
},
{
"begin": 5775,
"end": 6095,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 6101,
"end": 6382,
"name": "tag",
"source": 1,
"value": "128"
},
{
"begin": 6101,
"end": 6382,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6184,
"end": 6211,
"name": "PUSH [tag]",
"source": 1,
"value": "151"
},
{
"begin": 6206,
"end": 6210,
"name": "DUP3",
"source": 1
},
{
"begin": 6184,
"end": 6211,
"name": "PUSH [tag]",
"source": 1,
"value": "106"
},
{
"begin": 6184,
"end": 6211,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 6184,
"end": 6211,
"name": "tag",
"source": 1,
"value": "151"
},
{
"begin": 6184,
"end": 6211,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6176,
"end": 6182,
"name": "DUP2",
"source": 1
},
{
"begin": 6172,
"end": 6212,
"name": "ADD",
"source": 1
},
{
"begin": 6314,
"end": 6320,
"name": "DUP2",
"source": 1
},
{
"begin": 6302,
"end": 6312,
"name": "DUP2",
"source": 1
},
{
"begin": 6299,
"end": 6321,
"name": "LT",
"source": 1
},
{
"begin": 6278,
"end": 6296,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 6266,
"end": 6276,
"name": "DUP3",
"source": 1
},
{
"begin": 6263,
"end": 6297,
"name": "GT",
"source": 1
},
{
"begin": 6260,
"end": 6322,
"name": "OR",
"source": 1
},
{
"begin": 6257,
"end": 6345,
"name": "ISZERO",
"source": 1
},
{
"begin": 6257,
"end": 6345,
"name": "PUSH [tag]",
"source": 1,
"value": "152"
},
{
"begin": 6257,
"end": 6345,
"name": "JUMPI",
"source": 1
},
{
"begin": 6325,
"end": 6343,
"name": "PUSH [tag]",
"source": 1,
"value": "153"
},
{
"begin": 6325,
"end": 6343,
"name": "PUSH [tag]",
"source": 1,
"value": "133"
},
{
"begin": 6325,
"end": 6343,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 6325,
"end": 6343,
"name": "tag",
"source": 1,
"value": "153"
},
{
"begin": 6325,
"end": 6343,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6257,
"end": 6345,
"name": "tag",
"source": 1,
"value": "152"
},
{
"begin": 6257,
"end": 6345,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6365,
"end": 6375,
"name": "DUP1",
"source": 1
},
{
"begin": 6361,
"end": 6363,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 6354,
"end": 6376,
"name": "MSTORE",
"source": 1
},
{
"begin": 6144,
"end": 6382,
"name": "POP",
"source": 1
},
{
"begin": 6101,
"end": 6382,
"name": "POP",
"source": 1
},
{
"begin": 6101,
"end": 6382,
"name": "POP",
"source": 1
},
{
"begin": 6101,
"end": 6382,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 6388,
"end": 6568,
"name": "tag",
"source": 1,
"value": "149"
},
{
"begin": 6388,
"end": 6568,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6436,
"end": 6513,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 6433,
"end": 6434,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6426,
"end": 6514,
"name": "MSTORE",
"source": 1
},
{
"begin": 6533,
"end": 6537,
"name": "PUSH",
"source": 1,
"value": "22"
},
{
"begin": 6530,
"end": 6531,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 6523,
"end": 6538,
"name": "MSTORE",
"source": 1
},
{
"begin": 6557,
"end": 6561,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 6554,
"end": 6555,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6547,
"end": 6562,
"name": "REVERT",
"source": 1
},
{
"begin": 6574,
"end": 6754,
"name": "tag",
"source": 1,
"value": "133"
},
{
"begin": 6574,
"end": 6754,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6622,
"end": 6699,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 6619,
"end": 6620,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6612,
"end": 6700,
"name": "MSTORE",
"source": 1
},
{
"begin": 6719,
"end": 6723,
"name": "PUSH",
"source": 1,
"value": "41"
},
{
"begin": 6716,
"end": 6717,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 6709,
"end": 6724,
"name": "MSTORE",
"source": 1
},
{
"begin": 6743,
"end": 6747,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 6740,
"end": 6741,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6733,
"end": 6748,
"name": "REVERT",
"source": 1
},
{
"begin": 6760,
"end": 6877,
"name": "tag",
"source": 1,
"value": "72"
},
{
"begin": 6760,
"end": 6877,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6869,
"end": 6870,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6866,
"end": 6867,
"name": "DUP1",
"source": 1
},
{
"begin": 6859,
"end": 6871,
"name": "REVERT",
"source": 1
},
{
"begin": 6883,
"end": 7000,
"name": "tag",
"source": 1,
"value": "65"
},
{
"begin": 6883,
"end": 7000,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6992,
"end": 6993,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6989,
"end": 6990,
"name": "DUP1",
"source": 1
},
{
"begin": 6982,
"end": 6994,
"name": "REVERT",
"source": 1
},
{
"begin": 7006,
"end": 7123,
"name": "tag",
"source": 1,
"value": "84"
},
{
"begin": 7006,
"end": 7123,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7115,
"end": 7116,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 7112,
"end": 7113,
"name": "DUP1",
"source": 1
},
{
"begin": 7105,
"end": 7117,
"name": "REVERT",
"source": 1
},
{
"begin": 7129,
"end": 7246,
"name": "tag",
"source": 1,
"value": "81"
},
{
"begin": 7129,
"end": 7246,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7238,
"end": 7239,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 7235,
"end": 7236,
"name": "DUP1",
"source": 1
},
{
"begin": 7228,
"end": 7240,
"name": "REVERT",
"source": 1
},
{
"begin": 7252,
"end": 7354,
"name": "tag",
"source": 1,
"value": "106"
},
{
"begin": 7252,
"end": 7354,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7293,
"end": 7299,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 7344,
"end": 7346,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 7340,
"end": 7347,
"name": "NOT",
"source": 1
},
{
"begin": 7335,
"end": 7337,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 7328,
"end": 7333,
"name": "DUP4",
"source": 1
},
{
"begin": 7324,
"end": 7338,
"name": "ADD",
"source": 1
},
{
"begin": 7320,
"end": 7348,
"name": "AND",
"source": 1
},
{
"begin": 7310,
"end": 7348,
"name": "SWAP1",
"source": 1
},
{
"begin": 7310,
"end": 7348,
"name": "POP",
"source": 1
},
{
"begin": 7252,
"end": 7354,
"name": "SWAP2",
"source": 1
},
{
"begin": 7252,
"end": 7354,
"name": "SWAP1",
"source": 1
},
{
"begin": 7252,
"end": 7354,
"name": "POP",
"source": 1
},
{
"begin": 7252,
"end": 7354,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 7360,
"end": 7482,
"name": "tag",
"source": 1,
"value": "77"
},
{
"begin": 7360,
"end": 7482,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7433,
"end": 7457,
"name": "PUSH [tag]",
"source": 1,
"value": "162"
},
{
"begin": 7451,
"end": 7456,
"name": "DUP2",
"source": 1
},
{
"begin": 7433,
"end": 7457,
"name": "PUSH [tag]",
"source": 1,
"value": "116"
},
{
"begin": 7433,
"end": 7457,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 7433,
"end": 7457,
"name": "tag",
"source": 1,
"value": "162"
},
{
"begin": 7433,
"end": 7457,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7426,
"end": 7431,
"name": "DUP2",
"source": 1
},
{
"begin": 7423,
"end": 7458,
"name": "EQ",
"source": 1
},
{
"begin": 7413,
"end": 7476,
"name": "PUSH [tag]",
"source": 1,
"value": "163"
},
{
"begin": 7413,
"end": 7476,
"name": "JUMPI",
"source": 1
},
{
"begin": 7472,
"end": 7473,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 7469,
"end": 7470,
"name": "DUP1",
"source": 1
},
{
"begin": 7462,
"end": 7474,
"name": "REVERT",
"source": 1
},
{
"begin": 7413,
"end": 7476,
"name": "tag",
"source": 1,
"value": "163"
},
{
"begin": 7413,
"end": 7476,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7360,
"end": 7482,
"name": "POP",
"source": 1
},
{
"begin": 7360,
"end": 7482,
"name": "JUMP",
"source": 1,
"value": "[out]"
}
]
}
}
},
"methodIdentifiers": {
"addPerson(string,uint256)": "6f760f41",
"nameToFavoriteNumber(string)": "8bab8dd5",
"people(uint256)": "9e7a13ad",
"retrieve()": "2e64cec1",
"store(uint256)": "6057361d"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_favoriteNumber\",\"type\":\"uint256\"}],\"name\":\"addPerson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"nameToFavoriteNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"people\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"favoriteNumber\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"retrieve\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_favoriteNumber\",\"type\":\"uint256\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"SimpleStorage.sol\":\"SimpleStorage\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"SimpleStorage.sol\":{\"keccak256\":\"0xe3c11f0b98013bb49b40c6fa16f50882dc0e847be3de1861d07f75f300a04941\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f0e6c60aa25ac4ad82b66bbd85f2a5510a609648f68a022160995648543a253\",\"dweb:/ipfs/QmfT9NJC8tm86atENzErFjpxyrrpJ8uePCfE4PXEAtChsH\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 3,
"contract": "SimpleStorage.sol:SimpleStorage",
"label": "favoriteNumber",
"offset": 0,
"slot": "0",
"type": "t_uint256"
},
{
"astId": 12,
"contract": "SimpleStorage.sol:SimpleStorage",
"label": "people",
"offset": 0,
"slot": "1",
"type": "t_array(t_struct(People)8_storage)dyn_storage"
},
{
"astId": 16,
"contract": "SimpleStorage.sol:SimpleStorage",
"label": "nameToFavoriteNumber",
"offset": 0,
"slot": "2",
"type": "t_mapping(t_string_memory_ptr,t_uint256)"
}
],
"types": {
"t_array(t_struct(People)8_storage)dyn_storage": {
"base": "t_struct(People)8_storage",
"encoding": "dynamic_array",
"label": "struct SimpleStorage.People[]",
"numberOfBytes": "32"
},
"t_mapping(t_string_memory_ptr,t_uint256)": {
"encoding": "mapping",
"key": "t_string_memory_ptr",
"label": "mapping(string => uint256)",
"numberOfBytes": "32",
"value": "t_uint256"
},
"t_string_memory_ptr": {
"encoding": "bytes",
"label": "string",
"numberOfBytes": "32"
},
"t_string_storage": {
"encoding": "bytes",
"label": "string",
"numberOfBytes": "32"
},
"t_struct(People)8_storage": {
"encoding": "inplace",
"label": "struct SimpleStorage.People",
"members": [
{
"astId": 5,
"contract": "SimpleStorage.sol:SimpleStorage",
"label": "favoriteNumber",
"offset": 0,
"slot": "0",
"type": "t_uint256"
},
{
"astId": 7,
"contract": "SimpleStorage.sol:SimpleStorage",
"label": "name",
"offset": 0,
"slot": "1",
"type": "t_string_storage"
}
],
"numberOfBytes": "64"
},
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"SimpleStorage.sol": {
"ast": {
"absolutePath": "SimpleStorage.sol",
"exportedSymbols": {
"SimpleStorage": [
58
]
},
"id": 59,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
">=",
"0.6",
".0",
"<",
"0.9",
".0"
],
"nodeType": "PragmaDirective",
"src": "33:31:0"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 58,
"linearizedBaseContracts": [
58
],
"name": "SimpleStorage",
"nameLocation": "75:13:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 3,
"mutability": "mutable",
"name": "favoriteNumber",
"nameLocation": "104:14:0",
"nodeType": "VariableDeclaration",
"scope": 58,
"src": "96:22:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "96:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"canonicalName": "SimpleStorage.People",
"id": 8,
"members": [
{
"constant": false,
"id": 5,
"mutability": "mutable",
"name": "favoriteNumber",
"nameLocation": "183:14:0",
"nodeType": "VariableDeclaration",
"scope": 8,
"src": "175:22:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "175:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 7,
"mutability": "mutable",
"name": "name",
"nameLocation": "214:4:0",
"nodeType": "VariableDeclaration",
"scope": 8,
"src": "207:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 6,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "207:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"name": "People",
"nameLocation": "158:6:0",
"nodeType": "StructDefinition",
"scope": 58,
"src": "151:74:0",
"visibility": "public"
},
{
"constant": false,
"functionSelector": "9e7a13ad",
"id": 12,
"mutability": "mutable",
"name": "people",
"nameLocation": "247:6:0",
"nodeType": "VariableDeclaration",
"scope": 58,
"src": "231:22:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_People_$8_storage_$dyn_storage",
"typeString": "struct SimpleStorage.People[]"
},
"typeName": {
"baseType": {
"id": 10,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 9,
"name": "People",
"nodeType": "IdentifierPath",
"referencedDeclaration": 8,
"src": "231:6:0"
},
"referencedDeclaration": 8,
"src": "231:6:0",
"typeDescriptions": {
"typeIdentifier": "t_struct$_People_$8_storage_ptr",
"typeString": "struct SimpleStorage.People"
}
},
"id": 11,
"nodeType": "ArrayTypeName",
"src": "231:8:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_People_$8_storage_$dyn_storage_ptr",
"typeString": "struct SimpleStorage.People[]"
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "8bab8dd5",
"id": 16,
"mutability": "mutable",
"name": "nameToFavoriteNumber",
"nameLocation": "293:20:0",
"nodeType": "VariableDeclaration",
"scope": 58,
"src": "259:54:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$",
"typeString": "mapping(string => uint256)"
},
"typeName": {
"id": 15,
"keyType": {
"id": 13,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "267:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"nodeType": "Mapping",
"src": "259:26:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$",
"typeString": "mapping(string => uint256)"
},
"valueType": {
"id": 14,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "277:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
},
"visibility": "public"
},
{
"body": {
"id": 25,
"nodeType": "Block",
"src": "367:49:0",
"statements": [
{
"expression": {
"id": 23,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 21,
"name": "favoriteNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "377:14:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 22,
"name": "_favoriteNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 18,
"src": "394:15:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "377:32:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 24,
"nodeType": "ExpressionStatement",
"src": "377:32:0"
}
]
},
"functionSelector": "6057361d",
"id": 26,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "store",
"nameLocation": "329:5:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 19,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 18,
"mutability": "mutable",
"name": "_favoriteNumber",
"nameLocation": "343:15:0",
"nodeType": "VariableDeclaration",
"scope": 26,
"src": "335:23:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 17,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "335:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "334:25:0"
},
"returnParameters": {
"id": 20,
"nodeType": "ParameterList",
"parameters": [],
"src": "367:0:0"
},
"scope": 58,
"src": "320:96:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 33,
"nodeType": "Block",
"src": "475:38:0",
"statements": [
{
"expression": {
"id": 31,
"name": "favoriteNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "492:14:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 30,
"id": 32,
"nodeType": "Return",
"src": "485:21:0"
}
]
},
"functionSelector": "2e64cec1",
"id": 34,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "retrieve",
"nameLocation": "435:8:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 27,
"nodeType": "ParameterList",
"parameters": [],
"src": "443:2:0"
},
"returnParameters": {
"id": 30,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 29,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 34,
"src": "467:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 28,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "467:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "466:9:0"
},
"scope": 58,
"src": "426:87:0",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 56,
"nodeType": "Block",
"src": "591:115:0",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 45,
"name": "_favoriteNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 38,
"src": "620:15:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"id": 46,
"name": "_name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 36,
"src": "637:5:0",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"id": 44,
"name": "People",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 8,
"src": "613:6:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_People_$8_storage_ptr_$",
"typeString": "type(struct SimpleStorage.People storage pointer)"
}
},
"id": 47,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "structConstructorCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "613:30:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_People_$8_memory_ptr",
"typeString": "struct SimpleStorage.People memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_struct$_People_$8_memory_ptr",
"typeString": "struct SimpleStorage.People memory"
}
],
"expression": {
"id": 41,
"name": "people",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12,
"src": "601:6:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_People_$8_storage_$dyn_storage",
"typeString": "struct SimpleStorage.People storage ref[] storage ref"
}
},
"id": 43,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "push",
"nodeType": "MemberAccess",
"src": "601:11:0",
"typeDescriptions": {
"typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_People_$8_storage_$dyn_storage_ptr_$_t_struct$_People_$8_storage_$returns$__$bound_to$_t_array$_t_struct$_People_$8_storage_$dyn_storage_ptr_$",
"typeString": "function (struct SimpleStorage.People storage ref[] storage pointer,struct SimpleStorage.People storage ref)"
}
},
"id": 48,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "601:43:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 49,
"nodeType": "ExpressionStatement",
"src": "601:43:0"
},
{
"expression": {
"id": 54,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"baseExpression": {
"id": 50,
"name": "nameToFavoriteNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16,
"src": "654:20:0",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$",
"typeString": "mapping(string memory => uint256)"
}
},
"id": 52,
"indexExpression": {
"id": 51,
"name": "_name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 36,
"src": "675:5:0",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "654:27:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 53,
"name": "_favoriteNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 38,
"src": "684:15:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "654:45:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 55,
"nodeType": "ExpressionStatement",
"src": "654:45:0"
}
]
},
"functionSelector": "6f760f41",
"id": 57,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "addPerson",
"nameLocation": "528:9:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 39,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 36,
"mutability": "mutable",
"name": "_name",
"nameLocation": "552:5:0",
"nodeType": "VariableDeclaration",
"scope": 57,
"src": "538:19:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 35,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "538:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 38,
"mutability": "mutable",
"name": "_favoriteNumber",
"nameLocation": "567:15:0",
"nodeType": "VariableDeclaration",
"scope": 57,
"src": "559:23:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 37,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "559:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "537:46:0"
},
"returnParameters": {
"id": 40,
"nodeType": "ParameterList",
"parameters": [],
"src": "591:0:0"
},
"scope": 58,
"src": "519:187:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
}
],
"scope": 59,
"src": "66:642:0",
"usedErrors": []
}
],
"src": "33:675: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": {
"linkReferences": {},
"object": "60806040526040518060400160405280600281526020016040518060400160405280600681526020017f4d61746575730000000000000000000000000000000000000000000000000000815250815250600360008201518160000155602082015181600101908051906020019061007792919061008c565b50505034801561008657600080fd5b50610131565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100cd57805160ff19168380011785556100fb565b828001600101855582156100fb579182015b828111156100fa5782518255916020019190600101906100df565b5b509050610108919061010c565b5090565b61012e91905b8082111561012a576000816000905550600101610112565b5090565b90565b6106e9806101406000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80632e64cec1146100675780636057361d146100855780636f760f41146100b357806377ec2b55146101785780638bab8dd5146102025780639e7a13ad146102d1575b600080fd5b61006f61037f565b6040518082815260200191505060405180910390f35b6100b16004803603602081101561009b57600080fd5b8101908080359060200190929190505050610388565b005b610176600480360360408110156100c957600080fd5b81019080803590602001906401000000008111156100e657600080fd5b8201836020820111156100f857600080fd5b8035906020019184600183028401116401000000008311171561011a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610392565b005b61018061046d565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156101c65780820151818401526020810190506101ab565b50505050905090810190601f1680156101f35780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6102bb6004803603602081101561021857600080fd5b810190808035906020019064010000000081111561023557600080fd5b82018360208201111561024757600080fd5b8035906020019184600183028401116401000000008311171561026957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610517565b6040518082815260200191505060405180910390f35b6102fd600480360360208110156102e757600080fd5b8101908080359060200190929190505050610545565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610343578082015181840152602081019050610328565b50505050905090810190601f1680156103705780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b60008054905090565b8060008190555050565b600160405180604001604052808381526020018481525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010190805190602001906103f892919061060e565b505050806002836040518082805190602001908083835b60208310610432578051825260208201915060208101905060208303925061040f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055505050565b6003806000015490806001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561050d5780601f106104e25761010080835404028352916020019161050d565b820191906000526020600020905b8154815290600101906020018083116104f057829003601f168201915b5050505050905082565b6002818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b6001818154811061055257fe5b9060005260206000209060020201600091509050806000015490806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106045780601f106105d957610100808354040283529160200191610604565b820191906000526020600020905b8154815290600101906020018083116105e757829003601f168201915b5050505050905082565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061064f57805160ff191683800117855561067d565b8280016001018555821561067d579182015b8281111561067c578251825591602001919060010190610661565b5b50905061068a919061068e565b5090565b6106b091905b808211156106ac576000816000905550600101610694565b5090565b9056fea2646970667358221220687543871b7a2c5948c768c715fe21936c8c3eb85a63a48a5791ea6db61085e364736f6c63430006000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4D61746575730000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE POP PUSH1 0x3 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x77 SWAP3 SWAP2 SWAP1 PUSH2 0x8C JUMP JUMPDEST POP POP POP CALLVALUE DUP1 ISZERO PUSH2 0x86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x131 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0xCD JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xFB JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xFB JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xFA JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xDF JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x108 SWAP2 SWAP1 PUSH2 0x10C JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x12E SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x12A JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x112 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x6E9 DUP1 PUSH2 0x140 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 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E64CEC1 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x6F760F41 EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0x77EC2B55 EQ PUSH2 0x178 JUMPI DUP1 PUSH4 0x8BAB8DD5 EQ PUSH2 0x202 JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0x2D1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x37F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x388 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x176 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0xE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0xF8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x11A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x392 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x180 PUSH2 0x46D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1C6 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1AB JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x1F3 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2BB PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x235 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x269 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 POP POP POP PUSH2 0x517 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2FD PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x545 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x343 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x328 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x370 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x3F8 SWAP3 SWAP2 SWAP1 PUSH2 0x60E JUMP JUMPDEST POP POP POP DUP1 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x432 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH1 0x20 DUP4 SUB SWAP3 POP PUSH2 0x40F JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x3 DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x50D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4E2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x50D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4F0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x552 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x604 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5D9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x604 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5E7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x64F JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x67D JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x67D JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x67C JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x661 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x68A SWAP2 SWAP1 PUSH2 0x68E JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x6B0 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x6AC JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x694 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH9 0x7543871B7A2C5948C7 PUSH9 0xC715FE21936C8C3EB8 GAS PUSH4 0xA48A5791 0xEA PUSH14 0xB61085E364736F6C634300060000 CALLER ",
"sourceMap": "57:727:0:-:0;;;644:43;;;;;;;;668:1;644:43;;;;;;;;;;;;;;;;;;;;;;;;621:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;57:727;8:9:-1;5:2;;;30:1;27;20:12;5:2;57:727:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;"
},
"deployedBytecode": {
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100625760003560e01c80632e64cec1146100675780636057361d146100855780636f760f41146100b357806377ec2b55146101785780638bab8dd5146102025780639e7a13ad146102d1575b600080fd5b61006f61037f565b6040518082815260200191505060405180910390f35b6100b16004803603602081101561009b57600080fd5b8101908080359060200190929190505050610388565b005b610176600480360360408110156100c957600080fd5b81019080803590602001906401000000008111156100e657600080fd5b8201836020820111156100f857600080fd5b8035906020019184600183028401116401000000008311171561011a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610392565b005b61018061046d565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156101c65780820151818401526020810190506101ab565b50505050905090810190601f1680156101f35780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6102bb6004803603602081101561021857600080fd5b810190808035906020019064010000000081111561023557600080fd5b82018360208201111561024757600080fd5b8035906020019184600183028401116401000000008311171561026957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610517565b6040518082815260200191505060405180910390f35b6102fd600480360360208110156102e757600080fd5b8101908080359060200190929190505050610545565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610343578082015181840152602081019050610328565b50505050905090810190601f1680156103705780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b60008054905090565b8060008190555050565b600160405180604001604052808381526020018481525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010190805190602001906103f892919061060e565b505050806002836040518082805190602001908083835b60208310610432578051825260208201915060208101905060208303925061040f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055505050565b6003806000015490806001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561050d5780601f106104e25761010080835404028352916020019161050d565b820191906000526020600020905b8154815290600101906020018083116104f057829003601f168201915b5050505050905082565b6002818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b6001818154811061055257fe5b9060005260206000209060020201600091509050806000015490806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106045780601f106105d957610100808354040283529160200191610604565b820191906000526020600020905b8154815290600101906020018083116105e757829003601f168201915b5050505050905082565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061064f57805160ff191683800117855561067d565b8280016001018555821561067d579182015b8281111561067c578251825591602001919060010190610661565b5b50905061068a919061068e565b5090565b6106b091905b808211156106ac576000816000905550600101610694565b5090565b9056fea2646970667358221220687543871b7a2c5948c768c715fe21936c8c3eb85a63a48a5791ea6db61085e364736f6c63430006000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E64CEC1 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x6F760F41 EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0x77EC2B55 EQ PUSH2 0x178 JUMPI DUP1 PUSH4 0x8BAB8DD5 EQ PUSH2 0x202 JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0x2D1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x37F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x388 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x176 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0xE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0xF8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x11A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x392 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x180 PUSH2 0x46D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1C6 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1AB JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x1F3 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2BB PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x235 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x269 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 POP POP POP PUSH2 0x517 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2FD PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x545 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x343 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x328 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x370 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x3F8 SWAP3 SWAP2 SWAP1 PUSH2 0x60E JUMP JUMPDEST POP POP POP DUP1 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x432 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH1 0x20 DUP4 SUB SWAP3 POP PUSH2 0x40F JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x3 DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x50D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4E2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x50D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4F0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x552 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x604 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5D9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x604 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5E7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x64F JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x67D JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x67D JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x67C JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x661 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x68A SWAP2 SWAP1 PUSH2 0x68E JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x6B0 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x6AC JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x694 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH9 0x7543871B7A2C5948C7 PUSH9 0xC715FE21936C8C3EB8 GAS PUSH4 0xA48A5791 0xEA PUSH14 0xB61085E364736F6C634300060000 CALLER ",
"sourceMap": "57:727:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;57:727:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;694:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;518:97;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;518:97:0;;;;;;;;;;;;;;;;;:::i;:::-;;325:187;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;325:187:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;325:187:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;325:187:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;325:187:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;325:187:0;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;621:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;621:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;263:54;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;263:54:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;263:54:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;263:54:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;263:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;263:54:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;234:22;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;234:22:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;234:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;694:88;736:7;761:14;;754:21;;694:88;:::o;518:97::-;592:15;575:14;:32;;;;518:97;:::o;325:187::-;407:6;419:30;;;;;;;;426:15;419:30;;;;443:5;419:30;;;407:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;407:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;490:15;460:20;481:5;460:27;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;460:27:0;;;;;;;;;;;;;;;;;;;;;:45;;;;325:187;;:::o;621:66::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;263:54::-;;;28:7:-1;22:14;169:4;160:7;156:18;147:7;143:32;204:13;198:20;246:8;231:13;224:31;316:4;307:7;303:18;296:4;287:7;283:18;273:49;350:9;335:13;328:32;378:4;366:16;;0:388;;;;263:54:0;;;;;;;;:::o;234:22::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;57:727::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "353800",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"addPerson(string,uint256)": "infinite",
"nameToFavoriteNumber(string)": "infinite",
"people(uint256)": "infinite",
"person()": "infinite",
"retrieve()": "991",
"store(uint256)": "20242"
}
},
"methodIdentifiers": {
"addPerson(string,uint256)": "6f760f41",
"nameToFavoriteNumber(string)": "8bab8dd5",
"people(uint256)": "9e7a13ad",
"person()": "77ec2b55",
"retrieve()": "2e64cec1",
"store(uint256)": "6057361d"
}
},
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
},
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "addPerson",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"name": "nameToFavoriteNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "people",
"outputs": [
{
"internalType": "uint256",
"name": "favoritenumber",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "person",
"outputs": [
{
"internalType": "uint256",
"name": "favoritenumber",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "retrieve",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.6.0+commit.26b70077"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
},
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "addPerson",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"name": "nameToFavoriteNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "people",
"outputs": [
{
"internalType": "uint256",
"name": "favoritenumber",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "person",
"outputs": [
{
"internalType": "uint256",
"name": "favoritenumber",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "retrieve",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"methods": {}
},
"userdoc": {
"methods": {}
}
},
"settings": {
"compilationTarget": {
"SimpleStorage.sol": "SimpleStorage"
},
"evmVersion": "istanbul",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"SimpleStorage.sol": {
"keccak256": "0xc2ab8d8079ae28f57a266def0c607783a347d70fb0b71c546d4b643ba73c7c7b",
"urls": [
"bzz-raw://e2bb0919ca1b48b09355cbf3316a3ff440a7d2927c818b92f6424684c88afdf9",
"dweb:/ipfs/QmUBXr2NptG1nra6ZhmWfMsGwhvkYac7tNqwtWYy6umxzo"
]
}
},
"version": 1
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
/**
* @title Storage
* @dev Store & retrieve value in a variable
* @custom:dev-run-script ./scripts/deploy_with_ethers.ts
*/
contract Storage {
uint256 number;
/**
* @dev Store value in variable
* @param num value to store
*/
function store(uint256 num) public {
number = num;
}
/**
* @dev Return value
* @return value of 'number'
*/
function retrieve() public view returns (uint256){
return number;
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
import "hardhat/console.sol";
/**
* @title Owner
* @dev Set & change owner
*/
contract Owner {
address private owner;
// event for EVM logging
event OwnerSet(address indexed oldOwner, address indexed newOwner);
// modifier to check if caller is owner
modifier isOwner() {
// If the first argument of 'require' evaluates to 'false', execution terminates and all
// changes to the state and to Ether balances are reverted.
// This used to consume all gas in old EVM versions, but not anymore.
// It is often a good idea to use 'require' to check if functions are called correctly.
// As a second argument, you can also provide an explanation about what went wrong.
require(msg.sender == owner, "Caller is not owner");
_;
}
/**
* @dev Set contract deployer as owner
*/
constructor() {
console.log("Owner contract deployed by:", msg.sender);
owner = msg.sender; // 'msg.sender' is sender of current call, contract deployer for a constructor
emit OwnerSet(address(0), owner);
}
/**
* @dev Change owner
* @param newOwner address of new owner
*/
function changeOwner(address newOwner) public isOwner {
emit OwnerSet(owner, newOwner);
owner = newOwner;
}
/**
* @dev Return owner address
* @return address of owner
*/
function getOwner() external view returns (address) {
return owner;
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
/**
* @title Ballot
* @dev Implements voting process along with vote delegation
*/
contract Ballot {
struct Voter {
uint weight; // weight is accumulated by delegation
bool voted; // if true, that person already voted
address delegate; // person delegated to
uint vote; // index of the voted proposal
}
struct Proposal {
// If you can limit the length to a certain number of bytes,
// always use one of bytes1 to bytes32 because they are much cheaper
bytes32 name; // short name (up to 32 bytes)
uint voteCount; // number of accumulated votes
}
address public chairperson;
mapping(address => Voter) public voters;
Proposal[] public proposals;
/**
* @dev Create a new ballot to choose one of 'proposalNames'.
* @param proposalNames names of proposals
*/
constructor(bytes32[] memory proposalNames) {
chairperson = msg.sender;
voters[chairperson].weight = 1;
for (uint i = 0; i < proposalNames.length; i++) {
// 'Proposal({...})' creates a temporary
// Proposal object and 'proposals.push(...)'
// appends it to the end of 'proposals'.
proposals.push(Proposal({
name: proposalNames[i],
voteCount: 0
}));
}
}
/**
* @dev Give 'voter' the right to vote on this ballot. May only be called by 'chairperson'.
* @param voter address of voter
*/
function giveRightToVote(address voter) public {
require(
msg.sender == chairperson,
"Only chairperson can give right to vote."
);
require(
!voters[voter].voted,
"The voter already voted."
);
require(voters[voter].weight == 0);
voters[voter].weight = 1;
}
/**
* @dev Delegate your vote to the voter 'to'.
* @param to address to which vote is delegated
*/
function delegate(address to) public {
Voter storage sender = voters[msg.sender];
require(!sender.voted, "You already voted.");
require(to != msg.sender, "Self-delegation is disallowed.");
while (voters[to].delegate != address(0)) {
to = voters[to].delegate;
// We found a loop in the delegation, not allowed.
require(to != msg.sender, "Found loop in delegation.");
}
sender.voted = true;
sender.delegate = to;
Voter storage delegate_ = voters[to];
if (delegate_.voted) {
// If the delegate already voted,
// directly add to the number of votes
proposals[delegate_.vote].voteCount += sender.weight;
} else {
// If the delegate did not vote yet,
// add to her weight.
delegate_.weight += sender.weight;
}
}
/**
* @dev Give your vote (including votes delegated to you) to proposal 'proposals[proposal].name'.
* @param proposal index of proposal in the proposals array
*/
function vote(uint proposal) public {
Voter storage sender = voters[msg.sender];
require(sender.weight != 0, "Has no right to vote");
require(!sender.voted, "Already voted.");
sender.voted = true;
sender.vote = proposal;
// If 'proposal' is out of the range of the array,
// this will throw automatically and revert all
// changes.
proposals[proposal].voteCount += sender.weight;
}
/**
* @dev Computes the winning proposal taking all previous votes into account.
* @return winningProposal_ index of winning proposal in the proposals array
*/
function winningProposal() public view
returns (uint winningProposal_)
{
uint winningVoteCount = 0;
for (uint p = 0; p < proposals.length; p++) {
if (proposals[p].voteCount > winningVoteCount) {
winningVoteCount = proposals[p].voteCount;
winningProposal_ = p;
}
}
}
/**
* @dev Calls winningProposal() function to get the index of the winner contained in the proposals array and then
* @return winnerName_ the name of the winner
*/
function winnerName() public view
returns (bytes32 winnerName_)
{
winnerName_ = proposals[winningProposal()].name;
}
}
{
"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": {
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610210806100206000396000f3fe6080604052600436106100345760003560e01c80630d8e6e2c146100395780633e47d6f314610064578063b60d4288146100c9575b600080fd5b34801561004557600080fd5b5061004e6100d3565b6040518082815260200191505060405180910390f35b34801561007057600080fd5b506100b36004803603602081101561008757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610174565b6040518082815260200191505060405180910390f35b6100d161018c565b005b60008073d4a33860578de61dbabdc8bfdb98fd742fa7028e90508073ffffffffffffffffffffffffffffffffffffffff166354fd4d506040518163ffffffff1660e01b815260040160206040518083038186803b15801561013357600080fd5b505afa158015610147573d6000803e3d6000fd5b505050506040513d602081101561015d57600080fd5b810190808051906020019092919050505091505090565b60006020528060005260406000206000915090505481565b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555056fea264697066735822122095da0a7299667279bfafc736ffcfa2f5349a572abc1e485568f653e568f3a57364736f6c634300060c0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x210 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xD8E6E2C EQ PUSH2 0x39 JUMPI DUP1 PUSH4 0x3E47D6F3 EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0xB60D4288 EQ PUSH2 0xC9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x45 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4E PUSH2 0xD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB3 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x87 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x174 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD1 PUSH2 0x18C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xD4A33860578DE61DBABDC8BFDB98FD742FA7028E SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x54FD4D50 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x133 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x147 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x15D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST CALLVALUE PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP6 0xDA EXP PUSH19 0x99667279BFAFC736FFCFA2F5349A572ABC1E48 SSTORE PUSH9 0xF653E568F3A5736473 PUSH16 0x6C634300060C00330000000000000000 ",
"sourceMap": "135:395:1:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600436106100345760003560e01c80630d8e6e2c146100395780633e47d6f314610064578063b60d4288146100c9575b600080fd5b34801561004557600080fd5b5061004e6100d3565b6040518082815260200191505060405180910390f35b34801561007057600080fd5b506100b36004803603602081101561008757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610174565b6040518082815260200191505060405180910390f35b6100d161018c565b005b60008073d4a33860578de61dbabdc8bfdb98fd742fa7028e90508073ffffffffffffffffffffffffffffffffffffffff166354fd4d506040518163ffffffff1660e01b815260040160206040518083038186803b15801561013357600080fd5b505afa158015610147573d6000803e3d6000fd5b505050506040513d602081101561015d57600080fd5b810190808051906020019092919050505091505090565b60006020528060005260406000206000915090505481565b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555056fea264697066735822122095da0a7299667279bfafc736ffcfa2f5349a572abc1e485568f653e568f3a57364736f6c634300060c0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xD8E6E2C EQ PUSH2 0x39 JUMPI DUP1 PUSH4 0x3E47D6F3 EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0xB60D4288 EQ PUSH2 0xC9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x45 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4E PUSH2 0xD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB3 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x87 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x174 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD1 PUSH2 0x18C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xD4A33860578DE61DBABDC8BFDB98FD742FA7028E SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x54FD4D50 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x133 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x147 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x15D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST CALLVALUE PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP6 0xDA EXP PUSH19 0x99667279BFAFC736FFCFA2F5349A572ABC1E48 SSTORE PUSH9 0xF653E568F3A5736473 PUSH16 0x6C634300060C00330000000000000000 ",
"sourceMap": "135:395:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;325:203;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;161:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;225:94;;;:::i;:::-;;325:203;368:7;386:31;442:42;386:99;;502:9;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;495:26;;;325:203;:::o;161:56::-;;;;;;;;;;;;;;;;;:::o;225:94::-;303:9;266:21;:33;288:10;266:33;;;;;;;;;;;;;;;;:46;;;;;;;;;;;225:94::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "105600",
"executionCost": "153",
"totalCost": "105753"
},
"external": {
"addressToAmountFunded(address)": "1169",
"fund()": "21063",
"getVersion()": "infinite"
}
},
"methodIdentifiers": {
"addressToAmountFunded(address)": "3e47d6f3",
"fund()": "b60d4288",
"getVersion()": "0d8e6e2c"
}
},
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "addressToAmountFunded",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "fund",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "getVersion",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.6.12+commit.27d51765"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "addressToAmountFunded",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "fund",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "getVersion",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/FundMe.sol": "FundMe"
},
"evmVersion": "istanbul",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol": {
"keccak256": "0x7171939fd22c628f15406eda07bb4de4f0fda4808790f8334e5b9e1a7ca90f8a",
"license": "MIT",
"urls": [
"bzz-raw://b085262fc0889ef3079b0abbe56aa009550f50c7976a67a21c1617fdda2504ce",
"dweb:/ipfs/QmdqjNoPJsdgH7CN1x2yoroFQsdNNg16woFasSQXR83sWU"
]
},
"contracts/FundMe.sol": {
"keccak256": "0xca22ada9b3e4e17ef2619d6d31159ad6018caf38cf7f2fe8dc81baa1cad4ee5b",
"license": "MIT",
"urls": [
"bzz-raw://5e91e5ccfd2081e5129764f5ada6b470e1d55b030e6f2dd52d022f8b2acd38c6",
"dweb:/ipfs/QmWVxrzdMdLzwXURfAvTqX155Gywxx9kiSjJ2PnqKL8JBA"
]
}
},
"version": 1
}
{
"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": {
"linkReferences": {},
"object": "60806040526040518060400160405280600281526020016040518060400160405280600681526020017f4d61746575730000000000000000000000000000000000000000000000000000815250815250600360008201518160000155602082015181600101908051906020019061007792919061008c565b50505034801561008657600080fd5b50610131565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100cd57805160ff19168380011785556100fb565b828001600101855582156100fb579182015b828111156100fa5782518255916020019190600101906100df565b5b509050610108919061010c565b5090565b61012e91905b8082111561012a576000816000905550600101610112565b5090565b90565b6106e9806101406000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80632e64cec1146100675780636057361d146100855780636f760f41146100b357806377ec2b55146101785780638bab8dd5146102025780639e7a13ad146102d1575b600080fd5b61006f61037f565b6040518082815260200191505060405180910390f35b6100b16004803603602081101561009b57600080fd5b8101908080359060200190929190505050610388565b005b610176600480360360408110156100c957600080fd5b81019080803590602001906401000000008111156100e657600080fd5b8201836020820111156100f857600080fd5b8035906020019184600183028401116401000000008311171561011a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610392565b005b61018061046d565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156101c65780820151818401526020810190506101ab565b50505050905090810190601f1680156101f35780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6102bb6004803603602081101561021857600080fd5b810190808035906020019064010000000081111561023557600080fd5b82018360208201111561024757600080fd5b8035906020019184600183028401116401000000008311171561026957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610517565b6040518082815260200191505060405180910390f35b6102fd600480360360208110156102e757600080fd5b8101908080359060200190929190505050610545565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610343578082015181840152602081019050610328565b50505050905090810190601f1680156103705780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b60008054905090565b8060008190555050565b600160405180604001604052808381526020018481525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010190805190602001906103f892919061060e565b505050806002836040518082805190602001908083835b60208310610432578051825260208201915060208101905060208303925061040f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055505050565b6003806000015490806001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561050d5780601f106104e25761010080835404028352916020019161050d565b820191906000526020600020905b8154815290600101906020018083116104f057829003601f168201915b5050505050905082565b6002818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b6001818154811061055257fe5b9060005260206000209060020201600091509050806000015490806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106045780601f106105d957610100808354040283529160200191610604565b820191906000526020600020905b8154815290600101906020018083116105e757829003601f168201915b5050505050905082565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061064f57805160ff191683800117855561067d565b8280016001018555821561067d579182015b8281111561067c578251825591602001919060010190610661565b5b50905061068a919061068e565b5090565b6106b091905b808211156106ac576000816000905550600101610694565b5090565b9056fea2646970667358221220b2256ea6d05cba7f43acf1ca6da34e3af51fa1a81faaa458f090d14b5cecc2b764736f6c63430006000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4D61746575730000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE POP PUSH1 0x3 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x77 SWAP3 SWAP2 SWAP1 PUSH2 0x8C JUMP JUMPDEST POP POP POP CALLVALUE DUP1 ISZERO PUSH2 0x86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x131 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0xCD JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xFB JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xFB JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xFA JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xDF JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x108 SWAP2 SWAP1 PUSH2 0x10C JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x12E SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x12A JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x112 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x6E9 DUP1 PUSH2 0x140 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 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E64CEC1 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x6F760F41 EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0x77EC2B55 EQ PUSH2 0x178 JUMPI DUP1 PUSH4 0x8BAB8DD5 EQ PUSH2 0x202 JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0x2D1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x37F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x388 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x176 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0xE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0xF8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x11A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x392 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x180 PUSH2 0x46D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1C6 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1AB JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x1F3 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2BB PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x235 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x269 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 POP POP POP PUSH2 0x517 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2FD PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x545 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x343 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x328 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x370 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x3F8 SWAP3 SWAP2 SWAP1 PUSH2 0x60E JUMP JUMPDEST POP POP POP DUP1 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x432 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH1 0x20 DUP4 SUB SWAP3 POP PUSH2 0x40F JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x3 DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x50D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4E2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x50D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4F0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x552 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x604 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5D9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x604 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5E7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x64F JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x67D JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x67D JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x67C JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x661 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x68A SWAP2 SWAP1 PUSH2 0x68E JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x6B0 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x6AC JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x694 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB2 0x25 PUSH15 0xA6D05CBA7F43ACF1CA6DA34E3AF51F LOG1 0xA8 0x1F 0xAA LOG4 PC CREATE SWAP1 0xD1 0x4B 0x5C 0xEC 0xC2 0xB7 PUSH5 0x736F6C6343 STOP MOD STOP STOP CALLER ",
"sourceMap": "57:727:0:-:0;;;644:43;;;;;;;;668:1;644:43;;;;;;;;;;;;;;;;;;;;;;;;621:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;57:727;8:9:-1;5:2;;;30:1;27;20:12;5:2;57:727:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;"
},
"deployedBytecode": {
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100625760003560e01c80632e64cec1146100675780636057361d146100855780636f760f41146100b357806377ec2b55146101785780638bab8dd5146102025780639e7a13ad146102d1575b600080fd5b61006f61037f565b6040518082815260200191505060405180910390f35b6100b16004803603602081101561009b57600080fd5b8101908080359060200190929190505050610388565b005b610176600480360360408110156100c957600080fd5b81019080803590602001906401000000008111156100e657600080fd5b8201836020820111156100f857600080fd5b8035906020019184600183028401116401000000008311171561011a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610392565b005b61018061046d565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156101c65780820151818401526020810190506101ab565b50505050905090810190601f1680156101f35780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6102bb6004803603602081101561021857600080fd5b810190808035906020019064010000000081111561023557600080fd5b82018360208201111561024757600080fd5b8035906020019184600183028401116401000000008311171561026957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610517565b6040518082815260200191505060405180910390f35b6102fd600480360360208110156102e757600080fd5b8101908080359060200190929190505050610545565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610343578082015181840152602081019050610328565b50505050905090810190601f1680156103705780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b60008054905090565b8060008190555050565b600160405180604001604052808381526020018481525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010190805190602001906103f892919061060e565b505050806002836040518082805190602001908083835b60208310610432578051825260208201915060208101905060208303925061040f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055505050565b6003806000015490806001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561050d5780601f106104e25761010080835404028352916020019161050d565b820191906000526020600020905b8154815290600101906020018083116104f057829003601f168201915b5050505050905082565b6002818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b6001818154811061055257fe5b9060005260206000209060020201600091509050806000015490806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106045780601f106105d957610100808354040283529160200191610604565b820191906000526020600020905b8154815290600101906020018083116105e757829003601f168201915b5050505050905082565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061064f57805160ff191683800117855561067d565b8280016001018555821561067d579182015b8281111561067c578251825591602001919060010190610661565b5b50905061068a919061068e565b5090565b6106b091905b808211156106ac576000816000905550600101610694565b5090565b9056fea2646970667358221220b2256ea6d05cba7f43acf1ca6da34e3af51fa1a81faaa458f090d14b5cecc2b764736f6c63430006000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E64CEC1 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x6F760F41 EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0x77EC2B55 EQ PUSH2 0x178 JUMPI DUP1 PUSH4 0x8BAB8DD5 EQ PUSH2 0x202 JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0x2D1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x37F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x388 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x176 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0xE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0xF8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x11A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x392 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x180 PUSH2 0x46D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1C6 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1AB JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x1F3 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2BB PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x235 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x269 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 POP POP POP PUSH2 0x517 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2FD PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x545 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x343 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x328 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x370 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x3F8 SWAP3 SWAP2 SWAP1 PUSH2 0x60E JUMP JUMPDEST POP POP POP DUP1 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x432 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH1 0x20 DUP4 SUB SWAP3 POP PUSH2 0x40F JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x3 DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x50D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4E2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x50D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4F0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x552 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x604 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5D9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x604 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5E7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x64F JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x67D JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x67D JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x67C JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x661 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x68A SWAP2 SWAP1 PUSH2 0x68E JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x6B0 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x6AC JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x694 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB2 0x25 PUSH15 0xA6D05CBA7F43ACF1CA6DA34E3AF51F LOG1 0xA8 0x1F 0xAA LOG4 PC CREATE SWAP1 0xD1 0x4B 0x5C 0xEC 0xC2 0xB7 PUSH5 0x736F6C6343 STOP MOD STOP STOP CALLER ",
"sourceMap": "57:727:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;57:727:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;694:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;518:97;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;518:97:0;;;;;;;;;;;;;;;;;:::i;:::-;;325:187;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;325:187:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;325:187:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;325:187:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;325:187:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;325:187:0;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;621:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;621:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;263:54;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;263:54:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;263:54:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;263:54:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;263:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;263:54:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;234:22;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;234:22:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;234:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;694:88;736:7;761:14;;754:21;;694:88;:::o;518:97::-;592:15;575:14;:32;;;;518:97;:::o;325:187::-;407:6;419:30;;;;;;;;426:15;419:30;;;;443:5;419:30;;;407:43;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;407:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;490:15;460:20;481:5;460:27;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;460:27:0;;;;;;;;;;;;;;;;;;;;;:45;;;;325:187;;:::o;621:66::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;263:54::-;;;28:7:-1;22:14;169:4;160:7;156:18;147:7;143:32;204:13;198:20;246:8;231:13;224:31;316:4;307:7;303:18;296:4;287:7;283:18;273:49;350:9;335:13;328:32;378:4;366:16;;0:388;;;;263:54:0;;;;;;;;:::o;234:22::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;57:727::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "353800",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"addPerson(string,uint256)": "infinite",
"nameToFavoriteNumber(string)": "infinite",
"people(uint256)": "infinite",
"person()": "infinite",
"retrieve()": "991",
"store(uint256)": "20242"
}
},
"methodIdentifiers": {
"addPerson(string,uint256)": "6f760f41",
"nameToFavoriteNumber(string)": "8bab8dd5",
"people(uint256)": "9e7a13ad",
"person()": "77ec2b55",
"retrieve()": "2e64cec1",
"store(uint256)": "6057361d"
}
},
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
},
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "addPerson",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"name": "nameToFavoriteNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "people",
"outputs": [
{
"internalType": "uint256",
"name": "favoritenumber",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "person",
"outputs": [
{
"internalType": "uint256",
"name": "favoritenumber",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "retrieve",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.6.0+commit.26b70077"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
},
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "addPerson",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"name": "nameToFavoriteNumber",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "people",
"outputs": [
{
"internalType": "uint256",
"name": "favoritenumber",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "person",
"outputs": [
{
"internalType": "uint256",
"name": "favoritenumber",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "retrieve",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"methods": {}
},
"userdoc": {
"methods": {}
}
},
"settings": {
"compilationTarget": {
"contracts/SimpleStorage.sol": "SimpleStorage"
},
"evmVersion": "istanbul",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/SimpleStorage.sol": {
"keccak256": "0xc2ab8d8079ae28f57a266def0c607783a347d70fb0b71c546d4b643ba73c7c7b",
"urls": [
"bzz-raw://e2bb0919ca1b48b09355cbf3316a3ff440a7d2927c818b92f6424684c88afdf9",
"dweb:/ipfs/QmUBXr2NptG1nra6ZhmWfMsGwhvkYac7tNqwtWYy6umxzo"
]
}
},
"version": 1
}
{
"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": "608060405234801561001057600080fd5b50610150806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80632e64cec11461003b5780636057361d14610059575b600080fd5b610043610075565b60405161005091906100d9565b60405180910390f35b610073600480360381019061006e919061009d565b61007e565b005b60008054905090565b8060008190555050565b60008135905061009781610103565b92915050565b6000602082840312156100b3576100b26100fe565b5b60006100c184828501610088565b91505092915050565b6100d3816100f4565b82525050565b60006020820190506100ee60008301846100ca565b92915050565b6000819050919050565b600080fd5b61010c816100f4565b811461011757600080fd5b5056fea26469706673582212209a159a4f3847890f10bfb87871a61eba91c5dbf5ee3cf6398207e292eee22a1664736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x150 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E64CEC1 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x75 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xD9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x73 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x9D JUMP JUMPDEST PUSH2 0x7E JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x97 DUP2 PUSH2 0x103 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xB3 JUMPI PUSH2 0xB2 PUSH2 0xFE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xC1 DUP5 DUP3 DUP6 ADD PUSH2 0x88 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xD3 DUP2 PUSH2 0xF4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xEE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xCA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10C DUP2 PUSH2 0xF4 JUMP JUMPDEST DUP2 EQ PUSH2 0x117 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP11 ISZERO SWAP11 0x4F CODESIZE SELFBALANCE DUP10 0xF LT 0xBF 0xB8 PUSH25 0x71A61EBA91C5DBF5EE3CF6398207E292EEE22A1664736F6C63 NUMBER STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "199:356:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@retrieve_24": {
"entryPoint": 117,
"id": 24,
"parameterSlots": 0,
"returnSlots": 1
},
"@store_15": {
"entryPoint": 126,
"id": 15,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 136,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 157,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 202,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 217,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 244,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 254,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 259,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1374:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "59:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "69:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "91:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "78:12:1"
},
"nodeType": "YulFunctionCall",
"src": "78:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "69:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "134:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "107:26:1"
},
"nodeType": "YulFunctionCall",
"src": "107:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "107:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "37:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "45:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "53:5:1",
"type": ""
}
],
"src": "7:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "218:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "264:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "266:77:1"
},
"nodeType": "YulFunctionCall",
"src": "266:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "266:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "239:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "248:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "235:3:1"
},
"nodeType": "YulFunctionCall",
"src": "235:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "260:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "231:3:1"
},
"nodeType": "YulFunctionCall",
"src": "231:32:1"
},
"nodeType": "YulIf",
"src": "228:119:1"
},
{
"nodeType": "YulBlock",
"src": "357:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "372:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "386:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "376:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "401:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "436:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "447:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "432:3:1"
},
"nodeType": "YulFunctionCall",
"src": "432:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "456:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "411:20:1"
},
"nodeType": "YulFunctionCall",
"src": "411:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "401:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "188:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "199:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "211:6:1",
"type": ""
}
],
"src": "152:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "552:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "569:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "592:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "574:17:1"
},
"nodeType": "YulFunctionCall",
"src": "574:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "562:6:1"
},
"nodeType": "YulFunctionCall",
"src": "562:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "562:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "540:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "547:3:1",
"type": ""
}
],
"src": "487:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "709:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "719:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "731:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "742:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "727:3:1"
},
"nodeType": "YulFunctionCall",
"src": "727:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "719:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "799:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "812:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "823:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "808:3:1"
},
"nodeType": "YulFunctionCall",
"src": "808:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "755:43:1"
},
"nodeType": "YulFunctionCall",
"src": "755:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "755:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "681:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "693:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "704:4:1",
"type": ""
}
],
"src": "611:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "879:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "889:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "905:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "899:5:1"
},
"nodeType": "YulFunctionCall",
"src": "899:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "889:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "872:6:1",
"type": ""
}
],
"src": "839:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "965:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "975:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "986:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "975:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "947:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "957:7:1",
"type": ""
}
],
"src": "920:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1092:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1109:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1112:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1102:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1102:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1102:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "1003:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1215:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1232:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1235:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1225:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1225:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1225:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "1126:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1292:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1349:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1358:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1361:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1351:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1351:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1351:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1315:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1340:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1322:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1322:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "1312:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1312:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1305:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1305:43:1"
},
"nodeType": "YulIf",
"src": "1302:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1285:5:1",
"type": ""
}
],
"src": "1249:122:1"
}
]
},
"contents": "{\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(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_uint256(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 allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100365760003560e01c80632e64cec11461003b5780636057361d14610059575b600080fd5b610043610075565b60405161005091906100d9565b60405180910390f35b610073600480360381019061006e919061009d565b61007e565b005b60008054905090565b8060008190555050565b60008135905061009781610103565b92915050565b6000602082840312156100b3576100b26100fe565b5b60006100c184828501610088565b91505092915050565b6100d3816100f4565b82525050565b60006020820190506100ee60008301846100ca565b92915050565b6000819050919050565b600080fd5b61010c816100f4565b811461011757600080fd5b5056fea26469706673582212209a159a4f3847890f10bfb87871a61eba91c5dbf5ee3cf6398207e292eee22a1664736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E64CEC1 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0x59 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x75 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xD9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x73 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x6E SWAP2 SWAP1 PUSH2 0x9D JUMP JUMPDEST PUSH2 0x7E JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x97 DUP2 PUSH2 0x103 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xB3 JUMPI PUSH2 0xB2 PUSH2 0xFE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0xC1 DUP5 DUP3 DUP6 ADD PUSH2 0x88 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xD3 DUP2 PUSH2 0xF4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xEE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xCA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10C DUP2 PUSH2 0xF4 JUMP JUMPDEST DUP2 EQ PUSH2 0x117 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP11 ISZERO SWAP11 0x4F CODESIZE SELFBALANCE DUP10 0xF LT 0xBF 0xB8 PUSH25 0x71A61EBA91C5DBF5EE3CF6398207E292EEE22A1664736F6C63 NUMBER STOP ADDMOD SMOD STOP CALLER ",
"sourceMap": "199:356:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;474:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;329:64;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;474:79;515:7;540:6;;533:13;;474:79;:::o;329:64::-;383:3;374:6;:12;;;;329:64;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:329::-;211:6;260:2;248:9;239:7;235:23;231:32;228:119;;;266:79;;:::i;:::-;228:119;386:1;411:53;456:7;447:6;436:9;432:22;411:53;:::i;:::-;401:63;;357:117;152:329;;;;:::o;487:118::-;574:24;592:5;574:24;:::i;:::-;569:3;562:37;487:118;;:::o;611:222::-;704:4;742:2;731:9;727:18;719:26;;755:71;823:1;812:9;808:17;799:6;755:71;:::i;:::-;611:222;;;;:::o;920:77::-;957:7;986:5;975:16;;920:77;;;:::o;1126:117::-;1235:1;1232;1225:12;1249:122;1322:24;1340:5;1322:24;:::i;:::-;1315:5;1312:35;1302:63;;1361:1;1358;1351:12;1302:63;1249:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "67200",
"executionCost": "117",
"totalCost": "67317"
},
"external": {
"retrieve()": "2415",
"store(uint256)": "22520"
}
},
"methodIdentifiers": {
"retrieve()": "2e64cec1",
"store(uint256)": "6057361d"
}
},
"abi": [
{
"inputs": [],
"name": "retrieve",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "num",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "retrieve",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "num",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"custom:dev-run-script": "./scripts/deploy_with_ethers.ts",
"details": "Store & retrieve value in a variable",
"kind": "dev",
"methods": {
"retrieve()": {
"details": "Return value ",
"returns": {
"_0": "value of 'number'"
}
},
"store(uint256)": {
"details": "Store value in variable",
"params": {
"num": "value to store"
}
}
},
"title": "Storage",
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/1_Storage.sol": "Storage"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/1_Storage.sol": {
"keccak256": "0x0cce91e0b241d8850bf4ef9d14d0ec8f2f13deb59b5ec164d70ed107e0acb462",
"license": "GPL-3.0",
"urls": [
"bzz-raw://ec43708d31356793d9923dcc67345558fc6957e2ac4029b882c2501efcd8eabe",
"dweb:/ipfs/QmQQfBMkpDgmxKzYaoAtqfaybzfgGm9b2LWYyT56Chv6xH"
]
}
},
"version": 1
}
{
"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": {
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610adc806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631563700f146100465780631dda65411461007e578063912397d914610088575b600080fd5b61007c6004803603604081101561005c57600080fd5b8101908080359060200190929190803590602001909291905050506100f6565b005b6100866101a1565b005b6100b46004803603602081101561009e57600080fd5b8101908080359060200190929190505050610234565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600080838154811061010457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff16636057361d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561018457600080fd5b505af1158015610198573d6000803e3d6000fd5b50505050505050565b60006040516101af90610270565b604051809103906000f0801580156101cb573d6000803e3d6000fd5b5090506000819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000818154811061024157fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108298061027e8339019056fe60806040526040518060400160405280600281526020016040518060400160405280600681526020017f4d61746575730000000000000000000000000000000000000000000000000000815250815250600360008201518160000155602082015181600101908051906020019061007792919061008c565b50505034801561008657600080fd5b50610131565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100cd57805160ff19168380011785556100fb565b828001600101855582156100fb579182015b828111156100fa5782518255916020019190600101906100df565b5b509050610108919061010c565b5090565b61012e91905b8082111561012a576000816000905550600101610112565b5090565b90565b6106e9806101406000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80632e64cec1146100675780636057361d146100855780636f760f41146100b357806377ec2b55146101785780638bab8dd5146102025780639e7a13ad146102d1575b600080fd5b61006f61037f565b6040518082815260200191505060405180910390f35b6100b16004803603602081101561009b57600080fd5b8101908080359060200190929190505050610388565b005b610176600480360360408110156100c957600080fd5b81019080803590602001906401000000008111156100e657600080fd5b8201836020820111156100f857600080fd5b8035906020019184600183028401116401000000008311171561011a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610392565b005b61018061046d565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156101c65780820151818401526020810190506101ab565b50505050905090810190601f1680156101f35780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6102bb6004803603602081101561021857600080fd5b810190808035906020019064010000000081111561023557600080fd5b82018360208201111561024757600080fd5b8035906020019184600183028401116401000000008311171561026957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610517565b6040518082815260200191505060405180910390f35b6102fd600480360360208110156102e757600080fd5b8101908080359060200190929190505050610545565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610343578082015181840152602081019050610328565b50505050905090810190601f1680156103705780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b60008054905090565b8060008190555050565b600160405180604001604052808381526020018481525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010190805190602001906103f892919061060e565b505050806002836040518082805190602001908083835b60208310610432578051825260208201915060208101905060208303925061040f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055505050565b6003806000015490806001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561050d5780601f106104e25761010080835404028352916020019161050d565b820191906000526020600020905b8154815290600101906020018083116104f057829003601f168201915b5050505050905082565b6002818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b6001818154811061055257fe5b9060005260206000209060020201600091509050806000015490806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106045780601f106105d957610100808354040283529160200191610604565b820191906000526020600020905b8154815290600101906020018083116105e757829003601f168201915b5050505050905082565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061064f57805160ff191683800117855561067d565b8280016001018555821561067d579182015b8281111561067c578251825591602001919060010190610661565b5b50905061068a919061068e565b5090565b6106b091905b808211156106ac576000816000905550600101610694565b5090565b9056fea2646970667358221220b2256ea6d05cba7f43acf1ca6da34e3af51fa1a81faaa458f090d14b5cecc2b764736f6c63430006000033a264697066735822122054f3c7ef6ecfccbf9fadfd2be0496a8f8536454ffc6158bd3159981bc5ec851464736f6c63430006000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xADC DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1563700F EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x1DDA6541 EQ PUSH2 0x7E JUMPI DUP1 PUSH4 0x912397D9 EQ PUSH2 0x88 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7C PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xF6 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x86 PUSH2 0x1A1 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xB4 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x234 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x104 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6057361D DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x184 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x198 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH2 0x1AF SWAP1 PUSH2 0x270 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH2 0x1CB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP2 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x241 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH2 0x829 DUP1 PUSH2 0x27E DUP4 CODECOPY ADD SWAP1 JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4D61746575730000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE POP PUSH1 0x3 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x77 SWAP3 SWAP2 SWAP1 PUSH2 0x8C JUMP JUMPDEST POP POP POP CALLVALUE DUP1 ISZERO PUSH2 0x86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x131 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0xCD JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xFB JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xFB JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xFA JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xDF JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x108 SWAP2 SWAP1 PUSH2 0x10C JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x12E SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x12A JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x112 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x6E9 DUP1 PUSH2 0x140 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 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E64CEC1 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x6F760F41 EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0x77EC2B55 EQ PUSH2 0x178 JUMPI DUP1 PUSH4 0x8BAB8DD5 EQ PUSH2 0x202 JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0x2D1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x37F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x388 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x176 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0xE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0xF8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x11A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x392 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x180 PUSH2 0x46D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1C6 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1AB JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x1F3 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2BB PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x235 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x269 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 POP POP POP PUSH2 0x517 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2FD PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x545 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x343 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x328 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x370 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x3F8 SWAP3 SWAP2 SWAP1 PUSH2 0x60E JUMP JUMPDEST POP POP POP DUP1 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x432 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH1 0x20 DUP4 SUB SWAP3 POP PUSH2 0x40F JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x3 DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x50D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4E2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x50D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4F0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x552 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x604 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5D9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x604 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5E7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x64F JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x67D JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x67D JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x67C JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x661 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x68A SWAP2 SWAP1 PUSH2 0x68E JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x6B0 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x6AC JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x694 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB2 0x25 PUSH15 0xA6D05CBA7F43ACF1CA6DA34E3AF51F LOG1 0xA8 0x1F 0xAA LOG4 PC CREATE SWAP1 0xD1 0x4B 0x5C 0xEC 0xC2 0xB7 PUSH5 0x736F6C6343 STOP MOD STOP STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SLOAD RETURN 0xC7 0xEF PUSH15 0xCFCCBF9FADFD2BE0496A8F8536454F 0xFC PUSH2 0x58BD BALANCE MSIZE SWAP9 SHL 0xC5 0xEC DUP6 EQ PUSH5 0x736F6C6343 STOP MOD STOP STOP CALLER ",
"sourceMap": "88:532:1:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;88:532:1;;;;;;;"
},
"deployedBytecode": {
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100415760003560e01c80631563700f146100465780631dda65411461007e578063912397d914610088575b600080fd5b61007c6004803603604081101561005c57600080fd5b8101908080359060200190929190803590602001909291905050506100f6565b005b6100866101a1565b005b6100b46004803603602081101561009e57600080fd5b8101908080359060200190929190505050610234565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600080838154811061010457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff16636057361d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561018457600080fd5b505af1158015610198573d6000803e3d6000fd5b50505050505050565b60006040516101af90610270565b604051809103906000f0801580156101cb573d6000803e3d6000fd5b5090506000819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000818154811061024157fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108298061027e8339019056fe60806040526040518060400160405280600281526020016040518060400160405280600681526020017f4d61746575730000000000000000000000000000000000000000000000000000815250815250600360008201518160000155602082015181600101908051906020019061007792919061008c565b50505034801561008657600080fd5b50610131565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100cd57805160ff19168380011785556100fb565b828001600101855582156100fb579182015b828111156100fa5782518255916020019190600101906100df565b5b509050610108919061010c565b5090565b61012e91905b8082111561012a576000816000905550600101610112565b5090565b90565b6106e9806101406000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80632e64cec1146100675780636057361d146100855780636f760f41146100b357806377ec2b55146101785780638bab8dd5146102025780639e7a13ad146102d1575b600080fd5b61006f61037f565b6040518082815260200191505060405180910390f35b6100b16004803603602081101561009b57600080fd5b8101908080359060200190929190505050610388565b005b610176600480360360408110156100c957600080fd5b81019080803590602001906401000000008111156100e657600080fd5b8201836020820111156100f857600080fd5b8035906020019184600183028401116401000000008311171561011a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050610392565b005b61018061046d565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156101c65780820151818401526020810190506101ab565b50505050905090810190601f1680156101f35780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6102bb6004803603602081101561021857600080fd5b810190808035906020019064010000000081111561023557600080fd5b82018360208201111561024757600080fd5b8035906020019184600183028401116401000000008311171561026957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610517565b6040518082815260200191505060405180910390f35b6102fd600480360360208110156102e757600080fd5b8101908080359060200190929190505050610545565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610343578082015181840152602081019050610328565b50505050905090810190601f1680156103705780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b60008054905090565b8060008190555050565b600160405180604001604052808381526020018481525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010190805190602001906103f892919061060e565b505050806002836040518082805190602001908083835b60208310610432578051825260208201915060208101905060208303925061040f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055505050565b6003806000015490806001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561050d5780601f106104e25761010080835404028352916020019161050d565b820191906000526020600020905b8154815290600101906020018083116104f057829003601f168201915b5050505050905082565b6002818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b6001818154811061055257fe5b9060005260206000209060020201600091509050806000015490806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106045780601f106105d957610100808354040283529160200191610604565b820191906000526020600020905b8154815290600101906020018083116105e757829003601f168201915b5050505050905082565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061064f57805160ff191683800117855561067d565b8280016001018555821561067d579182015b8281111561067c578251825591602001919060010190610661565b5b50905061068a919061068e565b5090565b6106b091905b808211156106ac576000816000905550600101610694565b5090565b9056fea2646970667358221220b2256ea6d05cba7f43acf1ca6da34e3af51fa1a81faaa458f090d14b5cecc2b764736f6c63430006000033a264697066735822122054f3c7ef6ecfccbf9fadfd2be0496a8f8536454ffc6158bd3159981bc5ec851464736f6c63430006000033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1563700F EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x1DDA6541 EQ PUSH2 0x7E JUMPI DUP1 PUSH4 0x912397D9 EQ PUSH2 0x88 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7C PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xF6 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x86 PUSH2 0x1A1 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xB4 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x234 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x104 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x6057361D DUP4 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x184 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x198 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH2 0x1AF SWAP1 PUSH2 0x270 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH2 0x1CB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP2 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x241 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH2 0x829 DUP1 PUSH2 0x27E DUP4 CODECOPY ADD SWAP1 JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4D61746575730000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE POP PUSH1 0x3 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x77 SWAP3 SWAP2 SWAP1 PUSH2 0x8C JUMP JUMPDEST POP POP POP CALLVALUE DUP1 ISZERO PUSH2 0x86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x131 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0xCD JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xFB JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xFB JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xFA JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xDF JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x108 SWAP2 SWAP1 PUSH2 0x10C JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x12E SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x12A JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x112 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x6E9 DUP1 PUSH2 0x140 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 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2E64CEC1 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0x85 JUMPI DUP1 PUSH4 0x6F760F41 EQ PUSH2 0xB3 JUMPI DUP1 PUSH4 0x77EC2B55 EQ PUSH2 0x178 JUMPI DUP1 PUSH4 0x8BAB8DD5 EQ PUSH2 0x202 JUMPI DUP1 PUSH4 0x9E7A13AD EQ PUSH2 0x2D1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0x37F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB1 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x388 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x176 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0xE6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0xF8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x11A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x392 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x180 PUSH2 0x46D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1C6 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1AB JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x1F3 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2BB PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x235 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x269 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP SWAP2 SWAP3 SWAP2 SWAP3 SWAP1 POP POP POP PUSH2 0x517 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2FD PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x545 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x343 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x328 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x370 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP4 POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x3F8 SWAP3 SWAP2 SWAP1 PUSH2 0x60E JUMP JUMPDEST POP POP POP DUP1 PUSH1 0x2 DUP4 PUSH1 0x40 MLOAD DUP1 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x432 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH1 0x20 DUP4 SUB SWAP3 POP PUSH2 0x40F JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x3 DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x50D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4E2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x50D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4F0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x552 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x604 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5D9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x604 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5E7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x64F JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x67D JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x67D JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x67C JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x661 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x68A SWAP2 SWAP1 PUSH2 0x68E JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x6B0 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x6AC JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x694 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB2 0x25 PUSH15 0xA6D05CBA7F43ACF1CA6DA34E3AF51F LOG1 0xA8 0x1F 0xAA LOG4 PC CREATE SWAP1 0xD1 0x4B 0x5C 0xEC 0xC2 0xB7 PUSH5 0x736F6C6343 STOP MOD STOP STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SLOAD RETURN 0xC7 0xEF PUSH15 0xCFCCBF9FADFD2BE0496A8F8536454F 0xFC PUSH2 0x58BD BALANCE MSIZE SWAP9 SHL 0xC5 0xEC DUP6 EQ PUSH5 0x736F6C6343 STOP MOD STOP STOP CALLER ",
"sourceMap": "88:532:1:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;88:532:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;337:281;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;337:281:1;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;168:163;;;:::i;:::-;;119:42;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;119:42:1;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;337:281;464:28;517:19;537;517:40;;;;;;;;;;;;;;;;;;;;;;;;;464:95;;569:14;:20;;;590;569:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;569:42:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;569:42:1;;;;337:281;;;:::o;168:163::-;224:28;255:19;;;;;:::i;:::-;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;255:19:1;224:50;;284:19;309:14;284:40;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;284:40:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;168:163;:::o;119:42::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;88:532::-;;;;;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "556000",
"executionCost": "587",
"totalCost": "556587"
},
"external": {
"createSimpleStorageContract()": "infinite",
"sfStore(uint256,uint256)": "infinite",
"simplesStorageArray(uint256)": "2039"
}
},
"methodIdentifiers": {
"createSimpleStorageContract()": "1dda6541",
"sfStore(uint256,uint256)": "1563700f",
"simplesStorageArray(uint256)": "912397d9"
}
},
"abi": [
{
"inputs": [],
"name": "createSimpleStorageContract",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_simpleStorageIndex",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_simpleStorageNumber",
"type": "uint256"
}
],
"name": "sfStore",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "simplesStorageArray",
"outputs": [
{
"internalType": "contract SimpleStorage",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.6.0+commit.26b70077"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "createSimpleStorageContract",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_simpleStorageIndex",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_simpleStorageNumber",
"type": "uint256"
}
],
"name": "sfStore",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "simplesStorageArray",
"outputs": [
{
"internalType": "contract SimpleStorage",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"methods": {}
},
"userdoc": {
"methods": {}
}
},
"settings": {
"compilationTarget": {
"contracts/StorageFactory.sol": "StorageFactory"
},
"evmVersion": "istanbul",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/SimpleStorage.sol": {
"keccak256": "0xc2ab8d8079ae28f57a266def0c607783a347d70fb0b71c546d4b643ba73c7c7b",
"urls": [
"bzz-raw://e2bb0919ca1b48b09355cbf3316a3ff440a7d2927c818b92f6424684c88afdf9",
"dweb:/ipfs/QmUBXr2NptG1nra6ZhmWfMsGwhvkYac7tNqwtWYy6umxzo"
]
},
"contracts/StorageFactory.sol": {
"keccak256": "0x225db0853d750ac27f73bea57d62301e51a10d84296429cf9b57940bece3f4da",
"urls": [
"bzz-raw://e96c12615e930778d42349d8bd5cd57b4ca29800f7d5e871ca26bd33311ddcea",
"dweb:/ipfs/QmTYLjuL4iePpm6ARjSw6GvPTpYVbm2DHqafxmg5TgeF1n"
]
}
},
"version": 1
}
//SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;
import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol";
contract FundMe{
mapping(address => uint256) public addressToAmountFunded;
function fund() public payable {
addressToAmountFunded[msg.sender] += msg.value;
}
function getVersion() public view returns (uint256){
AggregatorV3Interface priceFeed = AggregatorV3Interface(0xD4a33860578De61DBAbDc8BFdb98FD742fA7028e);
return priceFeed.version();
}
}
//SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;
contract SimpleStorage{
//This will get a initalizard to 0
uint256 favoritenumber;
struct People {
uint256 favoritenumber;
string name;
}
People[] public people;
mapping(string => uint256) public nameToFavoriteNumber;
function addPerson(string memory _name, uint256 _favoriteNumber) public {
people.push(People(_favoriteNumber, _name));
nameToFavoriteNumber[_name] = _favoriteNumber;
}
function store(uint256 _favoriteNumber) public {
favoritenumber = _favoriteNumber;
}
People public person = People({favoritenumber: 2, name: "Mateus"});
function retrieve () public view returns (uint256){
return favoritenumber;
}
}
//SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;
import "./SimpleStorage.sol";
contract StorageFactory {
SimpleStorage[] public simplesStorageArray;
function createSimpleStorageContract() public {
SimpleStorage simplesStorage = new SimpleStorage();
simplesStorageArray.push(simplesStorage);
}
function sfStore ( uint256 _simpleStorageIndex, uint256 _simpleStorageNumber) public {
//Address
//ABI
SimpleStorage simplesStorage = SimpleStorage(address(simplesStorageArray[_simpleStorageIndex]));
simplesStorage.store(_simpleStorageNumber);
}
}
This file has been truncated, but you can view the full file.
{
"id": "29566471bdb46fc38e2eeb9e9dffe033",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.6.12",
"solcLongVersion": "0.6.12+commit.27d51765",
"input": {
"language": "Solidity",
"sources": {
"contracts/FundMe.sol": {
"content": "//SPDX-License-Identifier: MIT\n\npragma solidity ^0.6.0;\n\nimport \"@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol\";\n\ncontract FundMe{\n \n mapping(address => uint256) public addressToAmountFunded;\n\n\n function fund() public payable {\n addressToAmountFunded[msg.sender] += msg.value;\n }\n\n function getVersion() public view returns (uint256){\n AggregatorV3Interface priceFeed = AggregatorV3Interface(0xD4a33860578De61DBAbDc8BFdb98FD742fA7028e);\n return priceFeed.version();\n }\n} "
},
"@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol": {
"content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.6.0;\n\ninterface AggregatorV3Interface {\n\n function decimals()\n external\n view\n returns (\n uint8\n );\n\n function description()\n external\n view\n returns (\n string memory\n );\n\n function version()\n external\n view\n returns (\n uint256\n );\n\n function getRoundData(\n uint80 _roundId\n )\n external\n view\n returns (\n uint80 roundId,\n int256 answer,\n uint256 startedAt,\n uint256 updatedAt,\n uint80 answeredInRound\n );\n\n function latestRoundData()\n external\n view\n returns (\n uint80 roundId,\n int256 answer,\n uint256 startedAt,\n uint256 updatedAt,\n uint80 answeredInRound\n );\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": {
"@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol": {
"AggregatorV3Interface": {
"abi": [
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "description",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint80",
"name": "_roundId",
"type": "uint80"
}
],
"name": "getRoundData",
"outputs": [
{
"internalType": "uint80",
"name": "roundId",
"type": "uint80"
},
{
"internalType": "int256",
"name": "answer",
"type": "int256"
},
{
"internalType": "uint256",
"name": "startedAt",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "updatedAt",
"type": "uint256"
},
{
"internalType": "uint80",
"name": "answeredInRound",
"type": "uint80"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "latestRoundData",
"outputs": [
{
"internalType": "uint80",
"name": "roundId",
"type": "uint80"
},
{
"internalType": "int256",
"name": "answer",
"type": "int256"
},
{
"internalType": "uint256",
"name": "startedAt",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "updatedAt",
"type": "uint256"
},
{
"internalType": "uint80",
"name": "answeredInRound",
"type": "uint80"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "version",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": "",
"bytecode": {
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"legacyAssembly": null,
"methodIdentifiers": {
"decimals()": "313ce567",
"description()": "7284e416",
"getRoundData(uint80)": "9a6fc8f5",
"latestRoundData()": "feaf968c",
"version()": "54fd4d50"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"description\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint80\",\"name\":\"_roundId\",\"type\":\"uint80\"}],\"name\":\"getRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol\":\"AggregatorV3Interface\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol\":{\"keccak256\":\"0x7171939fd22c628f15406eda07bb4de4f0fda4808790f8334e5b9e1a7ca90f8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b085262fc0889ef3079b0abbe56aa009550f50c7976a67a21c1617fdda2504ce\",\"dweb:/ipfs/QmdqjNoPJsdgH7CN1x2yoroFQsdNNg16woFasSQXR83sWU\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
},
"contracts/FundMe.sol": {
"FundMe": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "addressToAmountFunded",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "fund",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "getVersion",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/FundMe.sol\":135:530 contract FundMe{... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\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/FundMe.sol\":135:530 contract FundMe{... */\n mstore(0x40, 0x80)\n jumpi(tag_1, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x0d8e6e2c\n eq\n tag_2\n jumpi\n dup1\n 0x3e47d6f3\n eq\n tag_3\n jumpi\n dup1\n 0xb60d4288\n eq\n tag_4\n jumpi\n tag_1:\n 0x00\n dup1\n revert\n /* \"contracts/FundMe.sol\":325:528 function getVersion() public view returns (uint256){... */\n tag_2:\n callvalue\n dup1\n iszero\n tag_5\n jumpi\n 0x00\n dup1\n revert\n tag_5:\n pop\n tag_6\n tag_7\n jump\t// in\n tag_6:\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/FundMe.sol\":161:217 mapping(address => uint256) public addressToAmountFunded */\n tag_3:\n callvalue\n dup1\n iszero\n tag_8\n jumpi\n 0x00\n dup1\n revert\n tag_8:\n pop\n tag_9\n 0x04\n dup1\n calldatasize\n sub\n 0x20\n dup2\n lt\n iszero\n tag_10\n jumpi\n 0x00\n dup1\n revert\n tag_10:\n dup2\n add\n swap1\n dup1\n dup1\n calldataload\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n tag_11\n jump\t// in\n tag_9:\n mload(0x40)\n dup1\n dup3\n dup2\n mstore\n 0x20\n add\n swap2\n pop\n pop\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/FundMe.sol\":225:319 function fund() public payable {... */\n tag_4:\n tag_12\n tag_13\n jump\t// in\n tag_12:\n stop\n /* \"contracts/FundMe.sol\":325:528 function getVersion() public view returns (uint256){... */\n tag_7:\n /* \"contracts/FundMe.sol\":368:375 uint256 */\n 0x00\n /* \"contracts/FundMe.sol\":386:417 AggregatorV3Interface priceFeed */\n dup1\n /* \"contracts/FundMe.sol\":442:484 0xD4a33860578De61DBAbDc8BFdb98FD742fA7028e */\n 0xd4a33860578de61dbabdc8bfdb98fd742fa7028e\n /* \"contracts/FundMe.sol\":386:485 AggregatorV3Interface priceFeed = AggregatorV3Interface(0xD4a33860578De61DBAbDc8BFdb98FD742fA7028e) */\n swap1\n pop\n /* \"contracts/FundMe.sol\":502:511 priceFeed */\n dup1\n /* \"contracts/FundMe.sol\":502:519 priceFeed.version */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x54fd4d50\n /* \"contracts/FundMe.sol\":502:521 priceFeed.version() */\n mload(0x40)\n dup2\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n 0x20\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n dup7\n dup1\n extcodesize\n iszero\n dup1\n iszero\n tag_15\n jumpi\n 0x00\n dup1\n revert\n tag_15:\n pop\n gas\n staticcall\n iszero\n dup1\n iszero\n tag_17\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_17:\n pop\n pop\n pop\n pop\n mload(0x40)\n returndatasize\n 0x20\n dup2\n lt\n iszero\n tag_18\n jumpi\n 0x00\n dup1\n revert\n tag_18:\n dup2\n add\n swap1\n dup1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n swap3\n swap2\n swap1\n pop\n pop\n pop\n /* \"contracts/FundMe.sol\":495:521 return priceFeed.version() */\n swap2\n pop\n pop\n /* \"contracts/FundMe.sol\":325:528 function getVersion() public view returns (uint256){... */\n swap1\n jump\t// out\n /* \"contracts/FundMe.sol\":161:217 mapping(address => uint256) public addressToAmountFunded */\n tag_11:\n mstore(0x20, 0x00)\n dup1\n 0x00\n mstore\n keccak256(0x00, 0x40)\n 0x00\n swap2\n pop\n swap1\n pop\n sload\n dup2\n jump\t// out\n /* \"contracts/FundMe.sol\":225:319 function fund() public payable {... */\n tag_13:\n /* \"contracts/FundMe.sol\":303:312 msg.value */\n callvalue\n /* \"contracts/FundMe.sol\":266:287 addressToAmountFunded */\n 0x00\n /* \"contracts/FundMe.sol\":266:299 addressToAmountFunded[msg.sender] */\n dup1\n /* \"contracts/FundMe.sol\":288:298 msg.sender */\n caller\n /* \"contracts/FundMe.sol\":266:299 addressToAmountFunded[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n 0x00\n /* \"contracts/FundMe.sol\":266:312 addressToAmountFunded[msg.sender] += msg.value */\n dup3\n dup3\n sload\n add\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"contracts/FundMe.sol\":225:319 function fund() public payable {... */\n jump\t// out\n\n auxdata: 0xa264697066735822122095da0a7299667279bfafc736ffcfa2f5349a572abc1e485568f653e568f3a57364736f6c634300060c0033\n}\n",
"bytecode": {
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50610210806100206000396000f3fe6080604052600436106100345760003560e01c80630d8e6e2c146100395780633e47d6f314610064578063b60d4288146100c9575b600080fd5b34801561004557600080fd5b5061004e6100d3565b6040518082815260200191505060405180910390f35b34801561007057600080fd5b506100b36004803603602081101561008757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610174565b6040518082815260200191505060405180910390f35b6100d161018c565b005b60008073d4a33860578de61dbabdc8bfdb98fd742fa7028e90508073ffffffffffffffffffffffffffffffffffffffff166354fd4d506040518163ffffffff1660e01b815260040160206040518083038186803b15801561013357600080fd5b505afa158015610147573d6000803e3d6000fd5b505050506040513d602081101561015d57600080fd5b810190808051906020019092919050505091505090565b60006020528060005260406000206000915090505481565b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555056fea264697066735822122095da0a7299667279bfafc736ffcfa2f5349a572abc1e485568f653e568f3a57364736f6c634300060c0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x210 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xD8E6E2C EQ PUSH2 0x39 JUMPI DUP1 PUSH4 0x3E47D6F3 EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0xB60D4288 EQ PUSH2 0xC9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x45 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4E PUSH2 0xD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB3 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x87 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x174 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD1 PUSH2 0x18C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xD4A33860578DE61DBABDC8BFDB98FD742FA7028E SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x54FD4D50 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x133 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x147 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x15D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST CALLVALUE PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP6 0xDA EXP PUSH19 0x99667279BFAFC736FFCFA2F5349A572ABC1E48 SSTORE PUSH9 0xF653E568F3A5736473 PUSH16 0x6C634300060C00330000000000000000 ",
"sourceMap": "135:395:1:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600436106100345760003560e01c80630d8e6e2c146100395780633e47d6f314610064578063b60d4288146100c9575b600080fd5b34801561004557600080fd5b5061004e6100d3565b6040518082815260200191505060405180910390f35b34801561007057600080fd5b506100b36004803603602081101561008757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610174565b6040518082815260200191505060405180910390f35b6100d161018c565b005b60008073d4a33860578de61dbabdc8bfdb98fd742fa7028e90508073ffffffffffffffffffffffffffffffffffffffff166354fd4d506040518163ffffffff1660e01b815260040160206040518083038186803b15801561013357600080fd5b505afa158015610147573d6000803e3d6000fd5b505050506040513d602081101561015d57600080fd5b810190808051906020019092919050505091505090565b60006020528060005260406000206000915090505481565b346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555056fea264697066735822122095da0a7299667279bfafc736ffcfa2f5349a572abc1e485568f653e568f3a57364736f6c634300060c0033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x34 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xD8E6E2C EQ PUSH2 0x39 JUMPI DUP1 PUSH4 0x3E47D6F3 EQ PUSH2 0x64 JUMPI DUP1 PUSH4 0xB60D4288 EQ PUSH2 0xC9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x45 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4E PUSH2 0xD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x70 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB3 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x87 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x174 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD1 PUSH2 0x18C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0xD4A33860578DE61DBABDC8BFDB98FD742FA7028E SWAP1 POP DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x54FD4D50 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x133 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x147 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x15D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP SWAP2 POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST CALLVALUE PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP6 0xDA EXP PUSH19 0x99667279BFAFC736FFCFA2F5349A572ABC1E48 SSTORE PUSH9 0xF653E568F3A5736473 PUSH16 0x6C634300060C00330000000000000000 ",
"sourceMap": "135:395:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;325:203;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;161:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;225:94;;;:::i;:::-;;325:203;368:7;386:31;442:42;386:99;;502:9;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;495:26;;;325:203;:::o;161:56::-;;;;;;;;;;;;;;;;;:::o;225:94::-;303:9;266:21;:33;288:10;266:33;;;;;;;;;;;;;;;;:46;;;;;;;;;;;225:94::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "105600",
"executionCost": "153",
"totalCost": "105753"
},
"external": {
"addressToAmountFunded(address)": "1169",
"fund()": "21063",
"getVersion()": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 135,
"end": 530,
"name": "PUSH",
"source": 1,
"value": "80"
},
{
"begin": 135,
"end": 530,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 135,
"end": 530,
"name": "MSTORE",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "CALLVALUE",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "DUP1",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "ISZERO",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "PUSH [tag]",
"source": 1,
"value": "1"
},
{
"begin": 135,
"end": 530,
"name": "JUMPI",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 135,
"end": 530,
"name": "DUP1",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "REVERT",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "tag",
"source": 1,
"value": "1"
},
{
"begin": 135,
"end": 530,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "POP",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "PUSH #[$]",
"source": 1,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 135,
"end": 530,
"name": "DUP1",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "PUSH [$]",
"source": 1,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 135,
"end": 530,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 135,
"end": 530,
"name": "CODECOPY",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 135,
"end": 530,
"name": "RETURN",
"source": 1
}
],
".data": {
"0": {
".auxdata": "a264697066735822122095da0a7299667279bfafc736ffcfa2f5349a572abc1e485568f653e568f3a57364736f6c634300060c0033",
".code": [
{
"begin": 135,
"end": 530,
"name": "PUSH",
"source": 1,
"value": "80"
},
{
"begin": 135,
"end": 530,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 135,
"end": 530,
"name": "MSTORE",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 135,
"end": 530,
"name": "CALLDATASIZE",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "LT",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "PUSH [tag]",
"source": 1,
"value": "1"
},
{
"begin": 135,
"end": 530,
"name": "JUMPI",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 135,
"end": 530,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "PUSH",
"source": 1,
"value": "E0"
},
{
"begin": 135,
"end": 530,
"name": "SHR",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "DUP1",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "PUSH",
"source": 1,
"value": "D8E6E2C"
},
{
"begin": 135,
"end": 530,
"name": "EQ",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "PUSH [tag]",
"source": 1,
"value": "2"
},
{
"begin": 135,
"end": 530,
"name": "JUMPI",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "DUP1",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "PUSH",
"source": 1,
"value": "3E47D6F3"
},
{
"begin": 135,
"end": 530,
"name": "EQ",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "PUSH [tag]",
"source": 1,
"value": "3"
},
{
"begin": 135,
"end": 530,
"name": "JUMPI",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "DUP1",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "PUSH",
"source": 1,
"value": "B60D4288"
},
{
"begin": 135,
"end": 530,
"name": "EQ",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "PUSH [tag]",
"source": 1,
"value": "4"
},
{
"begin": 135,
"end": 530,
"name": "JUMPI",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "tag",
"source": 1,
"value": "1"
},
{
"begin": 135,
"end": 530,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 135,
"end": 530,
"name": "DUP1",
"source": 1
},
{
"begin": 135,
"end": 530,
"name": "REVERT",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "tag",
"source": 1,
"value": "2"
},
{
"begin": 325,
"end": 528,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "CALLVALUE",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "DUP1",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "ISZERO",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "PUSH [tag]",
"source": 1,
"value": "5"
},
{
"begin": 325,
"end": 528,
"name": "JUMPI",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 325,
"end": 528,
"name": "DUP1",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "REVERT",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "tag",
"source": 1,
"value": "5"
},
{
"begin": 325,
"end": 528,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "POP",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "PUSH [tag]",
"source": 1,
"value": "6"
},
{
"begin": 325,
"end": 528,
"name": "PUSH [tag]",
"source": 1,
"value": "7"
},
{
"begin": 325,
"end": 528,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 325,
"end": 528,
"name": "tag",
"source": 1,
"value": "6"
},
{
"begin": 325,
"end": 528,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 325,
"end": 528,
"name": "MLOAD",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "DUP1",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "DUP3",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "DUP2",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "MSTORE",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 325,
"end": 528,
"name": "ADD",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "SWAP2",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "POP",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "POP",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 325,
"end": 528,
"name": "MLOAD",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "DUP1",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "SWAP2",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "SUB",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "SWAP1",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "RETURN",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "tag",
"source": 1,
"value": "3"
},
{
"begin": 161,
"end": 217,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "CALLVALUE",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "DUP1",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "ISZERO",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "PUSH [tag]",
"source": 1,
"value": "8"
},
{
"begin": 161,
"end": 217,
"name": "JUMPI",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 161,
"end": 217,
"name": "DUP1",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "REVERT",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "tag",
"source": 1,
"value": "8"
},
{
"begin": 161,
"end": 217,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "POP",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "PUSH [tag]",
"source": 1,
"value": "9"
},
{
"begin": 161,
"end": 217,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 161,
"end": 217,
"name": "DUP1",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "CALLDATASIZE",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "SUB",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 161,
"end": 217,
"name": "DUP2",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "LT",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "ISZERO",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "PUSH [tag]",
"source": 1,
"value": "10"
},
{
"begin": 161,
"end": 217,
"name": "JUMPI",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 161,
"end": 217,
"name": "DUP1",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "REVERT",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "tag",
"source": 1,
"value": "10"
},
{
"begin": 161,
"end": 217,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "DUP2",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "ADD",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "SWAP1",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "DUP1",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "DUP1",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 161,
"end": 217,
"name": "AND",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "SWAP1",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 161,
"end": 217,
"name": "ADD",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "SWAP1",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "SWAP3",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "SWAP2",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "SWAP1",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "POP",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "POP",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "POP",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "PUSH [tag]",
"source": 1,
"value": "11"
},
{
"begin": 161,
"end": 217,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 161,
"end": 217,
"name": "tag",
"source": 1,
"value": "9"
},
{
"begin": 161,
"end": 217,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 161,
"end": 217,
"name": "MLOAD",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "DUP1",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "DUP3",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "DUP2",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "MSTORE",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 161,
"end": 217,
"name": "ADD",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "SWAP2",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "POP",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "POP",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 161,
"end": 217,
"name": "MLOAD",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "DUP1",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "SWAP2",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "SUB",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "SWAP1",
"source": 1
},
{
"begin": 161,
"end": 217,
"name": "RETURN",
"source": 1
},
{
"begin": 225,
"end": 319,
"name": "tag",
"source": 1,
"value": "4"
},
{
"begin": 225,
"end": 319,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 225,
"end": 319,
"name": "PUSH [tag]",
"source": 1,
"value": "12"
},
{
"begin": 225,
"end": 319,
"name": "PUSH [tag]",
"source": 1,
"value": "13"
},
{
"begin": 225,
"end": 319,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 225,
"end": 319,
"name": "tag",
"source": 1,
"value": "12"
},
{
"begin": 225,
"end": 319,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 225,
"end": 319,
"name": "STOP",
"source": 1
},
{
"begin": 325,
"end": 528,
"name": "tag",
"source": 1,
"value": "7"
},
{
"begin": 325,
"end": 528,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 368,
"end": 375,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 386,
"end": 417,
"name": "DUP1",
"source": 1
},
{
"begin": 442,
"end": 484,
"name": "PUSH",
"source": 1,
"value": "D4A33860578DE61DBABDC8BFDB98FD742FA7028E"
},
{
"begin": 386,
"end": 485,
"name": "SWAP1",
"source": 1
},
{
"begin": 386,
"end": 485,
"name": "POP",
"source": 1
},
{
"begin": 502,
"end": 511,
"name": "DUP1",
"source": 1
},
{
"begin": 502,
"end": 519,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 502,
"end": 519,
"name": "AND",
"source": 1
},
{
"begin": 502,
"end": 519,
"name": "PUSH",
"source": 1,
"value": "54FD4D50"
},
{
"begin": 502,
"end": 521,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 502,
"end": 521,
"name": "MLOAD",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "DUP2",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFF"
},
{
"begin": 502,
"end": 521,
"name": "AND",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "PUSH",
"source": 1,
"value": "E0"
},
{
"begin": 502,
"end": 521,
"name": "SHL",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "DUP2",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "MSTORE",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 502,
"end": 521,
"name": "ADD",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 502,
"end": 521,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 502,
"end": 521,
"name": "MLOAD",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "DUP1",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "DUP4",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "SUB",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "DUP2",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "DUP7",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "DUP1",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "EXTCODESIZE",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "ISZERO",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "DUP1",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "ISZERO",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "PUSH [tag]",
"source": 1,
"value": "15"
},
{
"begin": 502,
"end": 521,
"name": "JUMPI",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 502,
"end": 521,
"name": "DUP1",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "REVERT",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "tag",
"source": 1,
"value": "15"
},
{
"begin": 502,
"end": 521,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "POP",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "GAS",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "STATICCALL",
"source": 1
},
{
"begin": 502,
"end": 521,
"name": "ISZERO",
"source": 1
},
{
"begin": 502,
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.)

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