Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save rajibdpi/9b7f817ef37f80d140ea93e67795908a to your computer and use it in GitHub Desktop.
Save rajibdpi/9b7f817ef37f80d140ea93e67795908a to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.7+commit.e28d00a7.js&optimize=false&runs=200&gist=
{
"id": "a31e146ad80c6044f19d26bb2741793e",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.7",
"solcLongVersion": "0.8.7+commit.e28d00a7",
"input": {
"language": "Solidity",
"sources": {
"index.sol": {
"content": "// SPDX-License-Identifier: MIT\r\npragma solidity ^0.8.7;\r\ncontract calculator {\r\n // addition\r\n function add(uint x, uint y) external pure returns(uint) {\r\n return x+y;\r\n }\r\n // multiply\r\n function mul(uint x, uint y) external pure returns(uint) {\r\n return x*y;\r\n }\r\n // division\r\n function div(uint x, uint y) external pure returns(uint) {\r\n return x/y;\r\n }\r\n // subtrhuction\r\n function sub(uint x, uint y) external pure returns(uint) {\r\n return x-y;\r\n }\r\n}\r\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"
]
}
},
"remappings": []
}
},
"output": {
"contracts": {
"index.sol": {
"calculator": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
}
],
"name": "add",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
}
],
"name": "div",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
}
],
"name": "mul",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
}
],
"name": "sub",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"index.sol\":58:522 contract calculator {\r... */\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 /* \"index.sol\":58:522 contract calculator {\r... */\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 0x771602f7\n eq\n tag_3\n jumpi\n dup1\n 0xa391c15b\n eq\n tag_4\n jumpi\n dup1\n 0xb67d77c5\n eq\n tag_5\n jumpi\n dup1\n 0xc8a4ac9c\n eq\n tag_6\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"index.sol\":102:188 function add(uint x, uint y) external pure returns(uint) {\r... */\n tag_3:\n tag_7\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n tag_10\n jump\t// in\n tag_7:\n mload(0x40)\n tag_11\n swap2\n swap1\n tag_12\n jump\t// in\n tag_11:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"index.sol\":320:406 function div(uint x, uint y) external pure returns(uint) {\r... */\n tag_4:\n tag_13\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_14\n swap2\n swap1\n tag_9\n jump\t// in\n tag_14:\n tag_15\n jump\t// in\n tag_13:\n mload(0x40)\n tag_16\n swap2\n swap1\n tag_12\n jump\t// in\n tag_16:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"index.sol\":433:519 function sub(uint x, uint y) external pure returns(uint) {\r... */\n tag_5:\n tag_17\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_18\n swap2\n swap1\n tag_9\n jump\t// in\n tag_18:\n tag_19\n jump\t// in\n tag_17:\n mload(0x40)\n tag_20\n swap2\n swap1\n tag_12\n jump\t// in\n tag_20:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"index.sol\":211:297 function mul(uint x, uint y) external pure returns(uint) {\r... */\n tag_6:\n tag_21\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_22\n swap2\n swap1\n tag_9\n jump\t// in\n tag_22:\n tag_23\n jump\t// in\n tag_21:\n mload(0x40)\n tag_24\n swap2\n swap1\n tag_12\n jump\t// in\n tag_24:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"index.sol\":102:188 function add(uint x, uint y) external pure returns(uint) {\r... */\n tag_10:\n /* \"index.sol\":153:157 uint */\n 0x00\n /* \"index.sol\":179:180 y */\n dup2\n /* \"index.sol\":177:178 x */\n dup4\n /* \"index.sol\":177:180 x+y */\n tag_26\n swap2\n swap1\n tag_27\n jump\t// in\n tag_26:\n /* \"index.sol\":170:180 return x+y */\n swap1\n pop\n /* \"index.sol\":102:188 function add(uint x, uint y) external pure returns(uint) {\r... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"index.sol\":320:406 function div(uint x, uint y) external pure returns(uint) {\r... */\n tag_15:\n /* \"index.sol\":371:375 uint */\n 0x00\n /* \"index.sol\":397:398 y */\n dup2\n /* \"index.sol\":395:396 x */\n dup4\n /* \"index.sol\":395:398 x/y */\n tag_29\n swap2\n swap1\n tag_30\n jump\t// in\n tag_29:\n /* \"index.sol\":388:398 return x/y */\n swap1\n pop\n /* \"index.sol\":320:406 function div(uint x, uint y) external pure returns(uint) {\r... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"index.sol\":433:519 function sub(uint x, uint y) external pure returns(uint) {\r... */\n tag_19:\n /* \"index.sol\":484:488 uint */\n 0x00\n /* \"index.sol\":510:511 y */\n dup2\n /* \"index.sol\":508:509 x */\n dup4\n /* \"index.sol\":508:511 x-y */\n tag_32\n swap2\n swap1\n tag_33\n jump\t// in\n tag_32:\n /* \"index.sol\":501:511 return x-y */\n swap1\n pop\n /* \"index.sol\":433:519 function sub(uint x, uint y) external pure returns(uint) {\r... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"index.sol\":211:297 function mul(uint x, uint y) external pure returns(uint) {\r... */\n tag_23:\n /* \"index.sol\":262:266 uint */\n 0x00\n /* \"index.sol\":288:289 y */\n dup2\n /* \"index.sol\":286:287 x */\n dup4\n /* \"index.sol\":286:289 x*y */\n tag_35\n swap2\n swap1\n tag_36\n jump\t// in\n tag_35:\n /* \"index.sol\":279:289 return x*y */\n swap1\n pop\n /* \"index.sol\":211:297 function mul(uint x, uint y) external pure returns(uint) {\r... */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":7:146 */\n tag_38:\n /* \"#utility.yul\":53:58 */\n 0x00\n /* \"#utility.yul\":91:97 */\n dup2\n /* \"#utility.yul\":78:98 */\n calldataload\n /* \"#utility.yul\":69:98 */\n swap1\n pop\n /* \"#utility.yul\":107:140 */\n tag_40\n /* \"#utility.yul\":134:139 */\n dup2\n /* \"#utility.yul\":107:140 */\n tag_41\n jump\t// in\n tag_40:\n /* \"#utility.yul\":7:146 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":152:626 */\n tag_9:\n /* \"#utility.yul\":220:226 */\n 0x00\n /* \"#utility.yul\":228:234 */\n dup1\n /* \"#utility.yul\":277:279 */\n 0x40\n /* \"#utility.yul\":265:274 */\n dup4\n /* \"#utility.yul\":256:263 */\n dup6\n /* \"#utility.yul\":252:275 */\n sub\n /* \"#utility.yul\":248:280 */\n slt\n /* \"#utility.yul\":245:364 */\n iszero\n tag_43\n jumpi\n /* \"#utility.yul\":283:362 */\n tag_44\n tag_45\n jump\t// in\n tag_44:\n /* \"#utility.yul\":245:364 */\n tag_43:\n /* \"#utility.yul\":403:404 */\n 0x00\n /* \"#utility.yul\":428:481 */\n tag_46\n /* \"#utility.yul\":473:480 */\n dup6\n /* \"#utility.yul\":464:470 */\n dup3\n /* \"#utility.yul\":453:462 */\n dup7\n /* \"#utility.yul\":449:471 */\n add\n /* \"#utility.yul\":428:481 */\n tag_38\n jump\t// in\n tag_46:\n /* \"#utility.yul\":418:481 */\n swap3\n pop\n /* \"#utility.yul\":374:491 */\n pop\n /* \"#utility.yul\":530:532 */\n 0x20\n /* \"#utility.yul\":556:609 */\n tag_47\n /* \"#utility.yul\":601:608 */\n dup6\n /* \"#utility.yul\":592:598 */\n dup3\n /* \"#utility.yul\":581:590 */\n dup7\n /* \"#utility.yul\":577:599 */\n add\n /* \"#utility.yul\":556:609 */\n tag_38\n jump\t// in\n tag_47:\n /* \"#utility.yul\":546:609 */\n swap2\n pop\n /* \"#utility.yul\":501:619 */\n pop\n /* \"#utility.yul\":152:626 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":632:750 */\n tag_48:\n /* \"#utility.yul\":719:743 */\n tag_50\n /* \"#utility.yul\":737:742 */\n dup2\n /* \"#utility.yul\":719:743 */\n tag_51\n jump\t// in\n tag_50:\n /* \"#utility.yul\":714:717 */\n dup3\n /* \"#utility.yul\":707:744 */\n mstore\n /* \"#utility.yul\":632:750 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":756:978 */\n tag_12:\n /* \"#utility.yul\":849:853 */\n 0x00\n /* \"#utility.yul\":887:889 */\n 0x20\n /* \"#utility.yul\":876:885 */\n dup3\n /* \"#utility.yul\":872:890 */\n add\n /* \"#utility.yul\":864:890 */\n swap1\n pop\n /* \"#utility.yul\":900:971 */\n tag_53\n /* \"#utility.yul\":968:969 */\n 0x00\n /* \"#utility.yul\":957:966 */\n dup4\n /* \"#utility.yul\":953:970 */\n add\n /* \"#utility.yul\":944:950 */\n dup5\n /* \"#utility.yul\":900:971 */\n tag_48\n jump\t// in\n tag_53:\n /* \"#utility.yul\":756:978 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1065:1370 */\n tag_27:\n /* \"#utility.yul\":1105:1108 */\n 0x00\n /* \"#utility.yul\":1124:1144 */\n tag_57\n /* \"#utility.yul\":1142:1143 */\n dup3\n /* \"#utility.yul\":1124:1144 */\n tag_51\n jump\t// in\n tag_57:\n /* \"#utility.yul\":1119:1144 */\n swap2\n pop\n /* \"#utility.yul\":1158:1178 */\n tag_58\n /* \"#utility.yul\":1176:1177 */\n dup4\n /* \"#utility.yul\":1158:1178 */\n tag_51\n jump\t// in\n tag_58:\n /* \"#utility.yul\":1153:1178 */\n swap3\n pop\n /* \"#utility.yul\":1312:1313 */\n dup3\n /* \"#utility.yul\":1244:1310 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1240:1314 */\n sub\n /* \"#utility.yul\":1237:1238 */\n dup3\n /* \"#utility.yul\":1234:1315 */\n gt\n /* \"#utility.yul\":1231:1338 */\n iszero\n tag_59\n jumpi\n /* \"#utility.yul\":1318:1336 */\n tag_60\n tag_61\n jump\t// in\n tag_60:\n /* \"#utility.yul\":1231:1338 */\n tag_59:\n /* \"#utility.yul\":1362:1363 */\n dup3\n /* \"#utility.yul\":1359:1360 */\n dup3\n /* \"#utility.yul\":1355:1364 */\n add\n /* \"#utility.yul\":1348:1364 */\n swap1\n pop\n /* \"#utility.yul\":1065:1370 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1376:1561 */\n tag_30:\n /* \"#utility.yul\":1416:1417 */\n 0x00\n /* \"#utility.yul\":1433:1453 */\n tag_63\n /* \"#utility.yul\":1451:1452 */\n dup3\n /* \"#utility.yul\":1433:1453 */\n tag_51\n jump\t// in\n tag_63:\n /* \"#utility.yul\":1428:1453 */\n swap2\n pop\n /* \"#utility.yul\":1467:1487 */\n tag_64\n /* \"#utility.yul\":1485:1486 */\n dup4\n /* \"#utility.yul\":1467:1487 */\n tag_51\n jump\t// in\n tag_64:\n /* \"#utility.yul\":1462:1487 */\n swap3\n pop\n /* \"#utility.yul\":1506:1507 */\n dup3\n /* \"#utility.yul\":1496:1531 */\n tag_65\n jumpi\n /* \"#utility.yul\":1511:1529 */\n tag_66\n tag_67\n jump\t// in\n tag_66:\n /* \"#utility.yul\":1496:1531 */\n tag_65:\n /* \"#utility.yul\":1553:1554 */\n dup3\n /* \"#utility.yul\":1550:1551 */\n dup3\n /* \"#utility.yul\":1546:1555 */\n div\n /* \"#utility.yul\":1541:1555 */\n swap1\n pop\n /* \"#utility.yul\":1376:1561 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1567:1915 */\n tag_36:\n /* \"#utility.yul\":1607:1614 */\n 0x00\n /* \"#utility.yul\":1630:1650 */\n tag_69\n /* \"#utility.yul\":1648:1649 */\n dup3\n /* \"#utility.yul\":1630:1650 */\n tag_51\n jump\t// in\n tag_69:\n /* \"#utility.yul\":1625:1650 */\n swap2\n pop\n /* \"#utility.yul\":1664:1684 */\n tag_70\n /* \"#utility.yul\":1682:1683 */\n dup4\n /* \"#utility.yul\":1664:1684 */\n tag_51\n jump\t// in\n tag_70:\n /* \"#utility.yul\":1659:1684 */\n swap3\n pop\n /* \"#utility.yul\":1852:1853 */\n dup2\n /* \"#utility.yul\":1784:1850 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1780:1854 */\n div\n /* \"#utility.yul\":1777:1778 */\n dup4\n /* \"#utility.yul\":1774:1855 */\n gt\n /* \"#utility.yul\":1769:1770 */\n dup3\n /* \"#utility.yul\":1762:1771 */\n iszero\n /* \"#utility.yul\":1755:1772 */\n iszero\n /* \"#utility.yul\":1751:1856 */\n and\n /* \"#utility.yul\":1748:1879 */\n iszero\n tag_71\n jumpi\n /* \"#utility.yul\":1859:1877 */\n tag_72\n tag_61\n jump\t// in\n tag_72:\n /* \"#utility.yul\":1748:1879 */\n tag_71:\n /* \"#utility.yul\":1907:1908 */\n dup3\n /* \"#utility.yul\":1904:1905 */\n dup3\n /* \"#utility.yul\":1900:1909 */\n mul\n /* \"#utility.yul\":1889:1909 */\n swap1\n pop\n /* \"#utility.yul\":1567:1915 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1921:2112 */\n tag_33:\n /* \"#utility.yul\":1961:1965 */\n 0x00\n /* \"#utility.yul\":1981:2001 */\n tag_74\n /* \"#utility.yul\":1999:2000 */\n dup3\n /* \"#utility.yul\":1981:2001 */\n tag_51\n jump\t// in\n tag_74:\n /* \"#utility.yul\":1976:2001 */\n swap2\n pop\n /* \"#utility.yul\":2015:2035 */\n tag_75\n /* \"#utility.yul\":2033:2034 */\n dup4\n /* \"#utility.yul\":2015:2035 */\n tag_51\n jump\t// in\n tag_75:\n /* \"#utility.yul\":2010:2035 */\n swap3\n pop\n /* \"#utility.yul\":2054:2055 */\n dup3\n /* \"#utility.yul\":2051:2052 */\n dup3\n /* \"#utility.yul\":2048:2056 */\n lt\n /* \"#utility.yul\":2045:2079 */\n iszero\n tag_76\n jumpi\n /* \"#utility.yul\":2059:2077 */\n tag_77\n tag_61\n jump\t// in\n tag_77:\n /* \"#utility.yul\":2045:2079 */\n tag_76:\n /* \"#utility.yul\":2104:2105 */\n dup3\n /* \"#utility.yul\":2101:2102 */\n dup3\n /* \"#utility.yul\":2097:2106 */\n sub\n /* \"#utility.yul\":2089:2106 */\n swap1\n pop\n /* \"#utility.yul\":1921:2112 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2118:2195 */\n tag_51:\n /* \"#utility.yul\":2155:2162 */\n 0x00\n /* \"#utility.yul\":2184:2189 */\n dup2\n /* \"#utility.yul\":2173:2189 */\n swap1\n pop\n /* \"#utility.yul\":2118:2195 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2201:2381 */\n tag_61:\n /* \"#utility.yul\":2249:2326 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":2246:2247 */\n 0x00\n /* \"#utility.yul\":2239:2327 */\n mstore\n /* \"#utility.yul\":2346:2350 */\n 0x11\n /* \"#utility.yul\":2343:2344 */\n 0x04\n /* \"#utility.yul\":2336:2351 */\n mstore\n /* \"#utility.yul\":2370:2374 */\n 0x24\n /* \"#utility.yul\":2367:2368 */\n 0x00\n /* \"#utility.yul\":2360:2375 */\n revert\n /* \"#utility.yul\":2387:2567 */\n tag_67:\n /* \"#utility.yul\":2435:2512 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":2432:2433 */\n 0x00\n /* \"#utility.yul\":2425:2513 */\n mstore\n /* \"#utility.yul\":2532:2536 */\n 0x12\n /* \"#utility.yul\":2529:2530 */\n 0x04\n /* \"#utility.yul\":2522:2537 */\n mstore\n /* \"#utility.yul\":2556:2560 */\n 0x24\n /* \"#utility.yul\":2553:2554 */\n 0x00\n /* \"#utility.yul\":2546:2561 */\n revert\n /* \"#utility.yul\":2696:2813 */\n tag_45:\n /* \"#utility.yul\":2805:2806 */\n 0x00\n /* \"#utility.yul\":2802:2803 */\n dup1\n /* \"#utility.yul\":2795:2807 */\n revert\n /* \"#utility.yul\":2819:2941 */\n tag_41:\n /* \"#utility.yul\":2892:2916 */\n tag_85\n /* \"#utility.yul\":2910:2915 */\n dup2\n /* \"#utility.yul\":2892:2916 */\n tag_51\n jump\t// in\n tag_85:\n /* \"#utility.yul\":2885:2890 */\n dup2\n /* \"#utility.yul\":2882:2917 */\n eq\n /* \"#utility.yul\":2872:2935 */\n tag_86\n jumpi\n /* \"#utility.yul\":2931:2932 */\n 0x00\n /* \"#utility.yul\":2928:2929 */\n dup1\n /* \"#utility.yul\":2921:2933 */\n revert\n /* \"#utility.yul\":2872:2935 */\n tag_86:\n /* \"#utility.yul\":2819:2941 */\n pop\n jump\t// out\n\n auxdata: 0xa264697066735822122037f7f63ad98b5cccbf4edc38074904f27ea1c93ce0ba5af4f8200724084898f364736f6c63430008070033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506103b7806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063771602f714610051578063a391c15b14610081578063b67d77c5146100b1578063c8a4ac9c146100e1575b600080fd5b61006b6004803603810190610066919061017e565b610111565b60405161007891906101cd565b60405180910390f35b61009b6004803603810190610096919061017e565b610127565b6040516100a891906101cd565b60405180910390f35b6100cb60048036038101906100c6919061017e565b61013d565b6040516100d891906101cd565b60405180910390f35b6100fb60048036038101906100f6919061017e565b610153565b60405161010891906101cd565b60405180910390f35b6000818361011f91906101e8565b905092915050565b60008183610135919061023e565b905092915050565b6000818361014b91906102c9565b905092915050565b60008183610161919061026f565b905092915050565b6000813590506101788161036a565b92915050565b6000806040838503121561019557610194610365565b5b60006101a385828601610169565b92505060206101b485828601610169565b9150509250929050565b6101c7816102fd565b82525050565b60006020820190506101e260008301846101be565b92915050565b60006101f3826102fd565b91506101fe836102fd565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561023357610232610307565b5b828201905092915050565b6000610249826102fd565b9150610254836102fd565b92508261026457610263610336565b5b828204905092915050565b600061027a826102fd565b9150610285836102fd565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156102be576102bd610307565b5b828202905092915050565b60006102d4826102fd565b91506102df836102fd565b9250828210156102f2576102f1610307565b5b828203905092915050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b610373816102fd565b811461037e57600080fd5b5056fea264697066735822122037f7f63ad98b5cccbf4edc38074904f27ea1c93ce0ba5af4f8200724084898f364736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B7 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 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x771602F7 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0xA391C15B EQ PUSH2 0x81 JUMPI DUP1 PUSH4 0xB67D77C5 EQ PUSH2 0xB1 JUMPI DUP1 PUSH4 0xC8A4AC9C EQ PUSH2 0xE1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x17E JUMP JUMPDEST PUSH2 0x111 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x78 SWAP2 SWAP1 PUSH2 0x1CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x96 SWAP2 SWAP1 PUSH2 0x17E JUMP JUMPDEST PUSH2 0x127 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA8 SWAP2 SWAP1 PUSH2 0x1CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC6 SWAP2 SWAP1 PUSH2 0x17E JUMP JUMPDEST PUSH2 0x13D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD8 SWAP2 SWAP1 PUSH2 0x1CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF6 SWAP2 SWAP1 PUSH2 0x17E JUMP JUMPDEST PUSH2 0x153 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x108 SWAP2 SWAP1 PUSH2 0x1CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x11F SWAP2 SWAP1 PUSH2 0x1E8 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x135 SWAP2 SWAP1 PUSH2 0x23E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x14B SWAP2 SWAP1 PUSH2 0x2C9 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x161 SWAP2 SWAP1 PUSH2 0x26F JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x178 DUP2 PUSH2 0x36A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x195 JUMPI PUSH2 0x194 PUSH2 0x365 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1A3 DUP6 DUP3 DUP7 ADD PUSH2 0x169 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1B4 DUP6 DUP3 DUP7 ADD PUSH2 0x169 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C7 DUP2 PUSH2 0x2FD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1E2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1BE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F3 DUP3 PUSH2 0x2FD JUMP JUMPDEST SWAP2 POP PUSH2 0x1FE DUP4 PUSH2 0x2FD JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x233 JUMPI PUSH2 0x232 PUSH2 0x307 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x249 DUP3 PUSH2 0x2FD JUMP JUMPDEST SWAP2 POP PUSH2 0x254 DUP4 PUSH2 0x2FD JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x264 JUMPI PUSH2 0x263 PUSH2 0x336 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27A DUP3 PUSH2 0x2FD JUMP JUMPDEST SWAP2 POP PUSH2 0x285 DUP4 PUSH2 0x2FD JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x2BE JUMPI PUSH2 0x2BD PUSH2 0x307 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D4 DUP3 PUSH2 0x2FD JUMP JUMPDEST SWAP2 POP PUSH2 0x2DF DUP4 PUSH2 0x2FD JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x2F2 JUMPI PUSH2 0x2F1 PUSH2 0x307 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x373 DUP2 PUSH2 0x2FD JUMP JUMPDEST DUP2 EQ PUSH2 0x37E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLDATACOPY 0xF7 0xF6 GASPRICE 0xD9 DUP12 0x5C 0xCC 0xBF 0x4E 0xDC CODESIZE SMOD 0x49 DIV CALLCODE PUSH31 0xA1C93CE0BA5AF4F8200724084898F364736F6C634300080700330000000000 ",
"sourceMap": "58:464:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@add_15": {
"entryPoint": 273,
"id": 15,
"parameterSlots": 2,
"returnSlots": 1
},
"@div_43": {
"entryPoint": 295,
"id": 43,
"parameterSlots": 2,
"returnSlots": 1
},
"@mul_29": {
"entryPoint": 339,
"id": 29,
"parameterSlots": 2,
"returnSlots": 1
},
"@sub_57": {
"entryPoint": 317,
"id": 57,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 361,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256t_uint256": {
"entryPoint": 382,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 446,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 461,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 488,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_div_t_uint256": {
"entryPoint": 574,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_mul_t_uint256": {
"entryPoint": 623,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 713,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 765,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 775,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x12": {
"entryPoint": 822,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 869,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 874,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:2944: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": "235:391:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "281:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "283:77:1"
},
"nodeType": "YulFunctionCall",
"src": "283:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "283:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "256:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "265:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "252:3:1"
},
"nodeType": "YulFunctionCall",
"src": "252:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "277:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "248:3:1"
},
"nodeType": "YulFunctionCall",
"src": "248:32:1"
},
"nodeType": "YulIf",
"src": "245:119:1"
},
{
"nodeType": "YulBlock",
"src": "374:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "389:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "403:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "393:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "418:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "453:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "464:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "449:3:1"
},
"nodeType": "YulFunctionCall",
"src": "449:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "473:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "428:20:1"
},
"nodeType": "YulFunctionCall",
"src": "428:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "418:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "501:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "516:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "530:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "520:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "546:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "581:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "592:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "577:3:1"
},
"nodeType": "YulFunctionCall",
"src": "577:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "601:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "556:20:1"
},
"nodeType": "YulFunctionCall",
"src": "556:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "546:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "197:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "208:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "220:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "228:6:1",
"type": ""
}
],
"src": "152:474:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "697:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "714:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "737:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "719:17:1"
},
"nodeType": "YulFunctionCall",
"src": "719:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "707:6:1"
},
"nodeType": "YulFunctionCall",
"src": "707:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "707:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "685:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "692:3:1",
"type": ""
}
],
"src": "632:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "854:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "864:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "876:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "887:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "872:3:1"
},
"nodeType": "YulFunctionCall",
"src": "872:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "864:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "944:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "957:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "968:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "953:3:1"
},
"nodeType": "YulFunctionCall",
"src": "953:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "900:43:1"
},
"nodeType": "YulFunctionCall",
"src": "900:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "900:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "826:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "838:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "849:4:1",
"type": ""
}
],
"src": "756:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1024:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1034:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1050:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1044:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1044:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1034:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1017:6:1",
"type": ""
}
],
"src": "984:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1109:261:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1119:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1142:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1124:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1124:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1119:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1153:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1176:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1158:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1158:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1153:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1316:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1318:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1318:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1318:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1237:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1244:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1312:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1240:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1240:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1234:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1234:81:1"
},
"nodeType": "YulIf",
"src": "1231:107:1"
},
{
"nodeType": "YulAssignment",
"src": "1348:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1359:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1362:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1355:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1355:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "1348:3:1"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "1096:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "1099:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "1105:3:1",
"type": ""
}
],
"src": "1065:305:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1418:143:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1428:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1451:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1433:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1433:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1428:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1462:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1485:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1467:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1467:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1462:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1509:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x12",
"nodeType": "YulIdentifier",
"src": "1511:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1511:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1511:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1506:1:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1499:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1499:9:1"
},
"nodeType": "YulIf",
"src": "1496:35:1"
},
{
"nodeType": "YulAssignment",
"src": "1541:14:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1550:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1553:1:1"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "1546:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1546:9:1"
},
"variableNames": [
{
"name": "r",
"nodeType": "YulIdentifier",
"src": "1541:1:1"
}
]
}
]
},
"name": "checked_div_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "1407:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "1410:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "r",
"nodeType": "YulTypedName",
"src": "1416:1:1",
"type": ""
}
],
"src": "1376:185:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1615:300:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1625:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1648:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1630:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1630:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1625:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1659:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1682:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1664:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1664:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1659:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1857:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1859:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1859:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1859:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1769:1:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1762:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1762:9:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1755:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1755:17:1"
},
{
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1777:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1784:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1852:1:1"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "1780:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1780:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1774:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1774:81:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1751:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1751:105:1"
},
"nodeType": "YulIf",
"src": "1748:131:1"
},
{
"nodeType": "YulAssignment",
"src": "1889:20:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1904:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1907:1:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "1900:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1900:9:1"
},
"variableNames": [
{
"name": "product",
"nodeType": "YulIdentifier",
"src": "1889:7:1"
}
]
}
]
},
"name": "checked_mul_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "1598:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "1601:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "product",
"nodeType": "YulTypedName",
"src": "1607:7:1",
"type": ""
}
],
"src": "1567:348:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1966:146:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1976:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1999:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1981:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1981:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1976:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2010:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2033:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2015:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2015:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2010:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2057:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "2059:16:1"
},
"nodeType": "YulFunctionCall",
"src": "2059:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "2059:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2051:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2054:1:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2048:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2048:8:1"
},
"nodeType": "YulIf",
"src": "2045:34:1"
},
{
"nodeType": "YulAssignment",
"src": "2089:17:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2101:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2104:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2097:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2097:9:1"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "2089:4:1"
}
]
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "1952:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "1955:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "1961:4:1",
"type": ""
}
],
"src": "1921:191:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2163:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2173:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "2184:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2173:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2145:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2155:7:1",
"type": ""
}
],
"src": "2118:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2229:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2246:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2249:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2239:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2239:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "2239:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2343:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2346:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2336:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2336:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2336:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2367:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2370:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2360:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2360:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2360:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "2201:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2415:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2432:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2435:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2425:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2425:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "2425:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2529:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2532:4:1",
"type": "",
"value": "0x12"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2522:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2522:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2522:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2553:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2556:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2546:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2546:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2546:15:1"
}
]
},
"name": "panic_error_0x12",
"nodeType": "YulFunctionDefinition",
"src": "2387:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2662:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2679:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2682:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2672:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2672:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2672:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "2573:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2785:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2802:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2805:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2795:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2795:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2795:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "2696:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2862:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2919:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2928:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2931:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2921:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2921:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2921:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2885:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2910:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2892:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2892:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2882:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2882:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2875:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2875:43:1"
},
"nodeType": "YulIf",
"src": "2872:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2855:5:1",
"type": ""
}
],
"src": "2819: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_uint256t_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { 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 let offset := 32\n\n value1 := 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 checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\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": "608060405234801561001057600080fd5b506004361061004c5760003560e01c8063771602f714610051578063a391c15b14610081578063b67d77c5146100b1578063c8a4ac9c146100e1575b600080fd5b61006b6004803603810190610066919061017e565b610111565b60405161007891906101cd565b60405180910390f35b61009b6004803603810190610096919061017e565b610127565b6040516100a891906101cd565b60405180910390f35b6100cb60048036038101906100c6919061017e565b61013d565b6040516100d891906101cd565b60405180910390f35b6100fb60048036038101906100f6919061017e565b610153565b60405161010891906101cd565b60405180910390f35b6000818361011f91906101e8565b905092915050565b60008183610135919061023e565b905092915050565b6000818361014b91906102c9565b905092915050565b60008183610161919061026f565b905092915050565b6000813590506101788161036a565b92915050565b6000806040838503121561019557610194610365565b5b60006101a385828601610169565b92505060206101b485828601610169565b9150509250929050565b6101c7816102fd565b82525050565b60006020820190506101e260008301846101be565b92915050565b60006101f3826102fd565b91506101fe836102fd565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561023357610232610307565b5b828201905092915050565b6000610249826102fd565b9150610254836102fd565b92508261026457610263610336565b5b828204905092915050565b600061027a826102fd565b9150610285836102fd565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156102be576102bd610307565b5b828202905092915050565b60006102d4826102fd565b91506102df836102fd565b9250828210156102f2576102f1610307565b5b828203905092915050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b610373816102fd565b811461037e57600080fd5b5056fea264697066735822122037f7f63ad98b5cccbf4edc38074904f27ea1c93ce0ba5af4f8200724084898f364736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x771602F7 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0xA391C15B EQ PUSH2 0x81 JUMPI DUP1 PUSH4 0xB67D77C5 EQ PUSH2 0xB1 JUMPI DUP1 PUSH4 0xC8A4AC9C EQ PUSH2 0xE1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x17E JUMP JUMPDEST PUSH2 0x111 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x78 SWAP2 SWAP1 PUSH2 0x1CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x96 SWAP2 SWAP1 PUSH2 0x17E JUMP JUMPDEST PUSH2 0x127 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA8 SWAP2 SWAP1 PUSH2 0x1CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC6 SWAP2 SWAP1 PUSH2 0x17E JUMP JUMPDEST PUSH2 0x13D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD8 SWAP2 SWAP1 PUSH2 0x1CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF6 SWAP2 SWAP1 PUSH2 0x17E JUMP JUMPDEST PUSH2 0x153 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x108 SWAP2 SWAP1 PUSH2 0x1CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x11F SWAP2 SWAP1 PUSH2 0x1E8 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x135 SWAP2 SWAP1 PUSH2 0x23E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x14B SWAP2 SWAP1 PUSH2 0x2C9 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x161 SWAP2 SWAP1 PUSH2 0x26F JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x178 DUP2 PUSH2 0x36A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x195 JUMPI PUSH2 0x194 PUSH2 0x365 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1A3 DUP6 DUP3 DUP7 ADD PUSH2 0x169 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1B4 DUP6 DUP3 DUP7 ADD PUSH2 0x169 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C7 DUP2 PUSH2 0x2FD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1E2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1BE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F3 DUP3 PUSH2 0x2FD JUMP JUMPDEST SWAP2 POP PUSH2 0x1FE DUP4 PUSH2 0x2FD JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x233 JUMPI PUSH2 0x232 PUSH2 0x307 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x249 DUP3 PUSH2 0x2FD JUMP JUMPDEST SWAP2 POP PUSH2 0x254 DUP4 PUSH2 0x2FD JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x264 JUMPI PUSH2 0x263 PUSH2 0x336 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27A DUP3 PUSH2 0x2FD JUMP JUMPDEST SWAP2 POP PUSH2 0x285 DUP4 PUSH2 0x2FD JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x2BE JUMPI PUSH2 0x2BD PUSH2 0x307 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D4 DUP3 PUSH2 0x2FD JUMP JUMPDEST SWAP2 POP PUSH2 0x2DF DUP4 PUSH2 0x2FD JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x2F2 JUMPI PUSH2 0x2F1 PUSH2 0x307 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x373 DUP2 PUSH2 0x2FD JUMP JUMPDEST DUP2 EQ PUSH2 0x37E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLDATACOPY 0xF7 0xF6 GASPRICE 0xD9 DUP12 0x5C 0xCC 0xBF 0x4E 0xDC CODESIZE SMOD 0x49 DIV CALLCODE PUSH31 0xA1C93CE0BA5AF4F8200724084898F364736F6C634300080700330000000000 ",
"sourceMap": "58:464:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;102:86;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;320;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;433;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;211;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;102;153:4;179:1;177;:3;;;;:::i;:::-;170:10;;102:86;;;;:::o;320:::-;371:4;397:1;395;:3;;;;:::i;:::-;388:10;;320:86;;;;:::o;433:::-;484:4;510:1;508;:3;;;;:::i;:::-;501:10;;433:86;;;;:::o;211:::-;262:4;288:1;286;:3;;;;:::i;:::-;279:10;;211:86;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:474::-;220:6;228;277:2;265:9;256:7;252:23;248:32;245:119;;;283:79;;:::i;:::-;245:119;403:1;428:53;473:7;464:6;453:9;449:22;428:53;:::i;:::-;418:63;;374:117;530:2;556:53;601:7;592:6;581:9;577:22;556:53;:::i;:::-;546:63;;501:118;152:474;;;;;:::o;632:118::-;719:24;737:5;719:24;:::i;:::-;714:3;707:37;632:118;;:::o;756:222::-;849:4;887:2;876:9;872:18;864:26;;900:71;968:1;957:9;953:17;944:6;900:71;:::i;:::-;756:222;;;;:::o;1065:305::-;1105:3;1124:20;1142:1;1124:20;:::i;:::-;1119:25;;1158:20;1176:1;1158:20;:::i;:::-;1153:25;;1312:1;1244:66;1240:74;1237:1;1234:81;1231:107;;;1318:18;;:::i;:::-;1231:107;1362:1;1359;1355:9;1348:16;;1065:305;;;;:::o;1376:185::-;1416:1;1433:20;1451:1;1433:20;:::i;:::-;1428:25;;1467:20;1485:1;1467:20;:::i;:::-;1462:25;;1506:1;1496:35;;1511:18;;:::i;:::-;1496:35;1553:1;1550;1546:9;1541:14;;1376:185;;;;:::o;1567:348::-;1607:7;1630:20;1648:1;1630:20;:::i;:::-;1625:25;;1664:20;1682:1;1664:20;:::i;:::-;1659:25;;1852:1;1784:66;1780:74;1777:1;1774:81;1769:1;1762:9;1755:17;1751:105;1748:131;;;1859:18;;:::i;:::-;1748:131;1907:1;1904;1900:9;1889:20;;1567:348;;;;:::o;1921:191::-;1961:4;1981:20;1999:1;1981:20;:::i;:::-;1976:25;;2015:20;2033:1;2015:20;:::i;:::-;2010:25;;2054:1;2051;2048:8;2045:34;;;2059:18;;:::i;:::-;2045:34;2104:1;2101;2097:9;2089:17;;1921:191;;;;:::o;2118:77::-;2155:7;2184:5;2173:16;;2118:77;;;:::o;2201:180::-;2249:77;2246:1;2239:88;2346:4;2343:1;2336:15;2370:4;2367:1;2360:15;2387:180;2435:77;2432:1;2425:88;2532:4;2529:1;2522:15;2556:4;2553:1;2546:15;2696:117;2805:1;2802;2795:12;2819:122;2892:24;2910:5;2892:24;:::i;:::-;2885:5;2882:35;2872:63;;2931:1;2928;2921:12;2872:63;2819:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "190200",
"executionCost": "232",
"totalCost": "190432"
},
"external": {
"add(uint256,uint256)": "infinite",
"div(uint256,uint256)": "infinite",
"mul(uint256,uint256)": "infinite",
"sub(uint256,uint256)": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 58,
"end": 522,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 58,
"end": 522,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 58,
"end": 522,
"name": "MSTORE",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "ISZERO",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 58,
"end": 522,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 522,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "REVERT",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 58,
"end": 522,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "POP",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 58,
"end": 522,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 58,
"end": 522,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 522,
"name": "CODECOPY",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 522,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a264697066735822122037f7f63ad98b5cccbf4edc38074904f27ea1c93ce0ba5af4f8200724084898f364736f6c63430008070033",
".code": [
{
"begin": 58,
"end": 522,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 58,
"end": 522,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 58,
"end": 522,
"name": "MSTORE",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "ISZERO",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 58,
"end": 522,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 522,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "REVERT",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 58,
"end": 522,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "POP",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 58,
"end": 522,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "LT",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 58,
"end": 522,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 522,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 58,
"end": 522,
"name": "SHR",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "PUSH",
"source": 0,
"value": "771602F7"
},
{
"begin": 58,
"end": 522,
"name": "EQ",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 58,
"end": 522,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "PUSH",
"source": 0,
"value": "A391C15B"
},
{
"begin": 58,
"end": 522,
"name": "EQ",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 58,
"end": 522,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "PUSH",
"source": 0,
"value": "B67D77C5"
},
{
"begin": 58,
"end": 522,
"name": "EQ",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 58,
"end": 522,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "PUSH",
"source": 0,
"value": "C8A4AC9C"
},
{
"begin": 58,
"end": 522,
"name": "EQ",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 58,
"end": 522,
"name": "JUMPI",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 58,
"end": 522,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 58,
"end": 522,
"name": "DUP1",
"source": 0
},
{
"begin": 58,
"end": 522,
"name": "REVERT",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 102,
"end": 188,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 102,
"end": 188,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 102,
"end": 188,
"name": "DUP1",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "SUB",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "DUP2",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "ADD",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "SWAP1",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 102,
"end": 188,
"name": "SWAP2",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "SWAP1",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 102,
"end": 188,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 102,
"end": 188,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 102,
"end": 188,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 102,
"end": 188,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 102,
"end": 188,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 102,
"end": 188,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 102,
"end": 188,
"name": "MLOAD",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 102,
"end": 188,
"name": "SWAP2",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "SWAP1",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 102,
"end": 188,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 102,
"end": 188,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 102,
"end": 188,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 102,
"end": 188,
"name": "MLOAD",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "DUP1",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "SWAP2",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "SUB",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "SWAP1",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "RETURN",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 320,
"end": 406,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 320,
"end": 406,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 320,
"end": 406,
"name": "DUP1",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "SUB",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "DUP2",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "ADD",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "SWAP1",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 320,
"end": 406,
"name": "SWAP2",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "SWAP1",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 320,
"end": 406,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 320,
"end": 406,
"name": "tag",
"source": 0,
"value": "14"
},
{
"begin": 320,
"end": 406,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 320,
"end": 406,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 320,
"end": 406,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 320,
"end": 406,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 320,
"end": 406,
"name": "MLOAD",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 320,
"end": 406,
"name": "SWAP2",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "SWAP1",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 320,
"end": 406,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 320,
"end": 406,
"name": "tag",
"source": 0,
"value": "16"
},
{
"begin": 320,
"end": 406,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 320,
"end": 406,
"name": "MLOAD",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "DUP1",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "SWAP2",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "SUB",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "SWAP1",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "RETURN",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 433,
"end": 519,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 433,
"end": 519,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 433,
"end": 519,
"name": "DUP1",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "SUB",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "DUP2",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "ADD",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "SWAP1",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 433,
"end": 519,
"name": "SWAP2",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "SWAP1",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 433,
"end": 519,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 433,
"end": 519,
"name": "tag",
"source": 0,
"value": "18"
},
{
"begin": 433,
"end": 519,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "PUSH [tag]",
"source": 0,
"value": "19"
},
{
"begin": 433,
"end": 519,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 433,
"end": 519,
"name": "tag",
"source": 0,
"value": "17"
},
{
"begin": 433,
"end": 519,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 433,
"end": 519,
"name": "MLOAD",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "PUSH [tag]",
"source": 0,
"value": "20"
},
{
"begin": 433,
"end": 519,
"name": "SWAP2",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "SWAP1",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 433,
"end": 519,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 433,
"end": 519,
"name": "tag",
"source": 0,
"value": "20"
},
{
"begin": 433,
"end": 519,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 433,
"end": 519,
"name": "MLOAD",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "DUP1",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "SWAP2",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "SUB",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "SWAP1",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "RETURN",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 211,
"end": 297,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "PUSH [tag]",
"source": 0,
"value": "21"
},
{
"begin": 211,
"end": 297,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 211,
"end": 297,
"name": "DUP1",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "SUB",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "DUP2",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "ADD",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "SWAP1",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 211,
"end": 297,
"name": "SWAP2",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "SWAP1",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 211,
"end": 297,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 211,
"end": 297,
"name": "tag",
"source": 0,
"value": "22"
},
{
"begin": 211,
"end": 297,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "PUSH [tag]",
"source": 0,
"value": "23"
},
{
"begin": 211,
"end": 297,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 211,
"end": 297,
"name": "tag",
"source": 0,
"value": "21"
},
{
"begin": 211,
"end": 297,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 211,
"end": 297,
"name": "MLOAD",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "PUSH [tag]",
"source": 0,
"value": "24"
},
{
"begin": 211,
"end": 297,
"name": "SWAP2",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "SWAP1",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 211,
"end": 297,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 211,
"end": 297,
"name": "tag",
"source": 0,
"value": "24"
},
{
"begin": 211,
"end": 297,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 211,
"end": 297,
"name": "MLOAD",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "DUP1",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "SWAP2",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "SUB",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "SWAP1",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "RETURN",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 102,
"end": 188,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 153,
"end": 157,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 179,
"end": 180,
"name": "DUP2",
"source": 0
},
{
"begin": 177,
"end": 178,
"name": "DUP4",
"source": 0
},
{
"begin": 177,
"end": 180,
"name": "PUSH [tag]",
"source": 0,
"value": "26"
},
{
"begin": 177,
"end": 180,
"name": "SWAP2",
"source": 0
},
{
"begin": 177,
"end": 180,
"name": "SWAP1",
"source": 0
},
{
"begin": 177,
"end": 180,
"name": "PUSH [tag]",
"source": 0,
"value": "27"
},
{
"begin": 177,
"end": 180,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 177,
"end": 180,
"name": "tag",
"source": 0,
"value": "26"
},
{
"begin": 177,
"end": 180,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 170,
"end": 180,
"name": "SWAP1",
"source": 0
},
{
"begin": 170,
"end": 180,
"name": "POP",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "SWAP3",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "SWAP2",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "POP",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "POP",
"source": 0
},
{
"begin": 102,
"end": 188,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 320,
"end": 406,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 320,
"end": 406,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 371,
"end": 375,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 397,
"end": 398,
"name": "DUP2",
"source": 0
},
{
"begin": 395,
"end": 396,
"name": "DUP4",
"source": 0
},
{
"begin": 395,
"end": 398,
"name": "PUSH [tag]",
"source": 0,
"value": "29"
},
{
"begin": 395,
"end": 398,
"name": "SWAP2",
"source": 0
},
{
"begin": 395,
"end": 398,
"name": "SWAP1",
"source": 0
},
{
"begin": 395,
"end": 398,
"name": "PUSH [tag]",
"source": 0,
"value": "30"
},
{
"begin": 395,
"end": 398,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 395,
"end": 398,
"name": "tag",
"source": 0,
"value": "29"
},
{
"begin": 395,
"end": 398,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 388,
"end": 398,
"name": "SWAP1",
"source": 0
},
{
"begin": 388,
"end": 398,
"name": "POP",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "SWAP3",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "SWAP2",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "POP",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "POP",
"source": 0
},
{
"begin": 320,
"end": 406,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 433,
"end": 519,
"name": "tag",
"source": 0,
"value": "19"
},
{
"begin": 433,
"end": 519,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 484,
"end": 488,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 510,
"end": 511,
"name": "DUP2",
"source": 0
},
{
"begin": 508,
"end": 509,
"name": "DUP4",
"source": 0
},
{
"begin": 508,
"end": 511,
"name": "PUSH [tag]",
"source": 0,
"value": "32"
},
{
"begin": 508,
"end": 511,
"name": "SWAP2",
"source": 0
},
{
"begin": 508,
"end": 511,
"name": "SWAP1",
"source": 0
},
{
"begin": 508,
"end": 511,
"name": "PUSH [tag]",
"source": 0,
"value": "33"
},
{
"begin": 508,
"end": 511,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 508,
"end": 511,
"name": "tag",
"source": 0,
"value": "32"
},
{
"begin": 508,
"end": 511,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 501,
"end": 511,
"name": "SWAP1",
"source": 0
},
{
"begin": 501,
"end": 511,
"name": "POP",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "SWAP3",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "SWAP2",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "POP",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "POP",
"source": 0
},
{
"begin": 433,
"end": 519,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 211,
"end": 297,
"name": "tag",
"source": 0,
"value": "23"
},
{
"begin": 211,
"end": 297,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 262,
"end": 266,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 288,
"end": 289,
"name": "DUP2",
"source": 0
},
{
"begin": 286,
"end": 287,
"name": "DUP4",
"source": 0
},
{
"begin": 286,
"end": 289,
"name": "PUSH [tag]",
"source": 0,
"value": "35"
},
{
"begin": 286,
"end": 289,
"name": "SWAP2",
"source": 0
},
{
"begin": 286,
"end": 289,
"name": "SWAP1",
"source": 0
},
{
"begin": 286,
"end": 289,
"name": "PUSH [tag]",
"source": 0,
"value": "36"
},
{
"begin": 286,
"end": 289,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 286,
"end": 289,
"name": "tag",
"source": 0,
"value": "35"
},
{
"begin": 286,
"end": 289,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 279,
"end": 289,
"name": "SWAP1",
"source": 0
},
{
"begin": 279,
"end": 289,
"name": "POP",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "SWAP3",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "SWAP2",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "POP",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "POP",
"source": 0
},
{
"begin": 211,
"end": 297,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 7,
"end": 146,
"name": "tag",
"source": 1,
"value": "38"
},
{
"begin": 7,
"end": 146,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 53,
"end": 58,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 91,
"end": 97,
"name": "DUP2",
"source": 1
},
{
"begin": 78,
"end": 98,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 69,
"end": 98,
"name": "SWAP1",
"source": 1
},
{
"begin": 69,
"end": 98,
"name": "POP",
"source": 1
},
{
"begin": 107,
"end": 140,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 134,
"end": 139,
"name": "DUP2",
"source": 1
},
{
"begin": 107,
"end": 140,
"name": "PUSH [tag]",
"source": 1,
"value": "41"
},
{
"begin": 107,
"end": 140,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 107,
"end": 140,
"name": "tag",
"source": 1,
"value": "40"
},
{
"begin": 107,
"end": 140,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7,
"end": 146,
"name": "SWAP3",
"source": 1
},
{
"begin": 7,
"end": 146,
"name": "SWAP2",
"source": 1
},
{
"begin": 7,
"end": 146,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 146,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 146,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 152,
"end": 626,
"name": "tag",
"source": 1,
"value": "9"
},
{
"begin": 152,
"end": 626,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 220,
"end": 226,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 228,
"end": 234,
"name": "DUP1",
"source": 1
},
{
"begin": 277,
"end": 279,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 265,
"end": 274,
"name": "DUP4",
"source": 1
},
{
"begin": 256,
"end": 263,
"name": "DUP6",
"source": 1
},
{
"begin": 252,
"end": 275,
"name": "SUB",
"source": 1
},
{
"begin": 248,
"end": 280,
"name": "SLT",
"source": 1
},
{
"begin": 245,
"end": 364,
"name": "ISZERO",
"source": 1
},
{
"begin": 245,
"end": 364,
"name": "PUSH [tag]",
"source": 1,
"value": "43"
},
{
"begin": 245,
"end": 364,
"name": "JUMPI",
"source": 1
},
{
"begin": 283,
"end": 362,
"name": "PUSH [tag]",
"source": 1,
"value": "44"
},
{
"begin": 283,
"end": 362,
"name": "PUSH [tag]",
"source": 1,
"value": "45"
},
{
"begin": 283,
"end": 362,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 283,
"end": 362,
"name": "tag",
"source": 1,
"value": "44"
},
{
"begin": 283,
"end": 362,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 245,
"end": 364,
"name": "tag",
"source": 1,
"value": "43"
},
{
"begin": 245,
"end": 364,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 403,
"end": 404,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 428,
"end": 481,
"name": "PUSH [tag]",
"source": 1,
"value": "46"
},
{
"begin": 473,
"end": 480,
"name": "DUP6",
"source": 1
},
{
"begin": 464,
"end": 470,
"name": "DUP3",
"source": 1
},
{
"begin": 453,
"end": 462,
"name": "DUP7",
"source": 1
},
{
"begin": 449,
"end": 471,
"name": "ADD",
"source": 1
},
{
"begin": 428,
"end": 481,
"name": "PUSH [tag]",
"source": 1,
"value": "38"
},
{
"begin": 428,
"end": 481,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 428,
"end": 481,
"name": "tag",
"source": 1,
"value": "46"
},
{
"begin": 428,
"end": 481,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 418,
"end": 481,
"name": "SWAP3",
"source": 1
},
{
"begin": 418,
"end": 481,
"name": "POP",
"source": 1
},
{
"begin": 374,
"end": 491,
"name": "POP",
"source": 1
},
{
"begin": 530,
"end": 532,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 556,
"end": 609,
"name": "PUSH [tag]",
"source": 1,
"value": "47"
},
{
"begin": 601,
"end": 608,
"name": "DUP6",
"source": 1
},
{
"begin": 592,
"end": 598,
"name": "DUP3",
"source": 1
},
{
"begin": 581,
"end": 590,
"name": "DUP7",
"source": 1
},
{
"begin": 577,
"end": 599,
"name": "ADD",
"source": 1
},
{
"begin": 556,
"end": 609,
"name": "PUSH [tag]",
"source": 1,
"value": "38"
},
{
"begin": 556,
"end": 609,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 556,
"end": 609,
"name": "tag",
"source": 1,
"value": "47"
},
{
"begin": 556,
"end": 609,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 546,
"end": 609,
"name": "SWAP2",
"source": 1
},
{
"begin": 546,
"end": 609,
"name": "POP",
"source": 1
},
{
"begin": 501,
"end": 619,
"name": "POP",
"source": 1
},
{
"begin": 152,
"end": 626,
"name": "SWAP3",
"source": 1
},
{
"begin": 152,
"end": 626,
"name": "POP",
"source": 1
},
{
"begin": 152,
"end": 626,
"name": "SWAP3",
"source": 1
},
{
"begin": 152,
"end": 626,
"name": "SWAP1",
"source": 1
},
{
"begin": 152,
"end": 626,
"name": "POP",
"source": 1
},
{
"begin": 152,
"end": 626,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 632,
"end": 750,
"name": "tag",
"source": 1,
"value": "48"
},
{
"begin": 632,
"end": 750,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 719,
"end": 743,
"name": "PUSH [tag]",
"source": 1,
"value": "50"
},
{
"begin": 737,
"end": 742,
"name": "DUP2",
"source": 1
},
{
"begin": 719,
"end": 743,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 719,
"end": 743,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 719,
"end": 743,
"name": "tag",
"source": 1,
"value": "50"
},
{
"begin": 719,
"end": 743,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 714,
"end": 717,
"name": "DUP3",
"source": 1
},
{
"begin": 707,
"end": 744,
"name": "MSTORE",
"source": 1
},
{
"begin": 632,
"end": 750,
"name": "POP",
"source": 1
},
{
"begin": 632,
"end": 750,
"name": "POP",
"source": 1
},
{
"begin": 632,
"end": 750,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 756,
"end": 978,
"name": "tag",
"source": 1,
"value": "12"
},
{
"begin": 756,
"end": 978,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 849,
"end": 853,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 887,
"end": 889,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 876,
"end": 885,
"name": "DUP3",
"source": 1
},
{
"begin": 872,
"end": 890,
"name": "ADD",
"source": 1
},
{
"begin": 864,
"end": 890,
"name": "SWAP1",
"source": 1
},
{
"begin": 864,
"end": 890,
"name": "POP",
"source": 1
},
{
"begin": 900,
"end": 971,
"name": "PUSH [tag]",
"source": 1,
"value": "53"
},
{
"begin": 968,
"end": 969,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 957,
"end": 966,
"name": "DUP4",
"source": 1
},
{
"begin": 953,
"end": 970,
"name": "ADD",
"source": 1
},
{
"begin": 944,
"end": 950,
"name": "DUP5",
"source": 1
},
{
"begin": 900,
"end": 971,
"name": "PUSH [tag]",
"source": 1,
"value": "48"
},
{
"begin": 900,
"end": 971,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 900,
"end": 971,
"name": "tag",
"source": 1,
"value": "53"
},
{
"begin": 900,
"end": 971,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 756,
"end": 978,
"name": "SWAP3",
"source": 1
},
{
"begin": 756,
"end": 978,
"name": "SWAP2",
"source": 1
},
{
"begin": 756,
"end": 978,
"name": "POP",
"source": 1
},
{
"begin": 756,
"end": 978,
"name": "POP",
"source": 1
},
{
"begin": 756,
"end": 978,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1065,
"end": 1370,
"name": "tag",
"source": 1,
"value": "27"
},
{
"begin": 1065,
"end": 1370,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1105,
"end": 1108,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1124,
"end": 1144,
"name": "PUSH [tag]",
"source": 1,
"value": "57"
},
{
"begin": 1142,
"end": 1143,
"name": "DUP3",
"source": 1
},
{
"begin": 1124,
"end": 1144,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 1124,
"end": 1144,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1124,
"end": 1144,
"name": "tag",
"source": 1,
"value": "57"
},
{
"begin": 1124,
"end": 1144,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1119,
"end": 1144,
"name": "SWAP2",
"source": 1
},
{
"begin": 1119,
"end": 1144,
"name": "POP",
"source": 1
},
{
"begin": 1158,
"end": 1178,
"name": "PUSH [tag]",
"source": 1,
"value": "58"
},
{
"begin": 1176,
"end": 1177,
"name": "DUP4",
"source": 1
},
{
"begin": 1158,
"end": 1178,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 1158,
"end": 1178,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1158,
"end": 1178,
"name": "tag",
"source": 1,
"value": "58"
},
{
"begin": 1158,
"end": 1178,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1153,
"end": 1178,
"name": "SWAP3",
"source": 1
},
{
"begin": 1153,
"end": 1178,
"name": "POP",
"source": 1
},
{
"begin": 1312,
"end": 1313,
"name": "DUP3",
"source": 1
},
{
"begin": 1244,
"end": 1310,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1240,
"end": 1314,
"name": "SUB",
"source": 1
},
{
"begin": 1237,
"end": 1238,
"name": "DUP3",
"source": 1
},
{
"begin": 1234,
"end": 1315,
"name": "GT",
"source": 1
},
{
"begin": 1231,
"end": 1338,
"name": "ISZERO",
"source": 1
},
{
"begin": 1231,
"end": 1338,
"name": "PUSH [tag]",
"source": 1,
"value": "59"
},
{
"begin": 1231,
"end": 1338,
"name": "JUMPI",
"source": 1
},
{
"begin": 1318,
"end": 1336,
"name": "PUSH [tag]",
"source": 1,
"value": "60"
},
{
"begin": 1318,
"end": 1336,
"name": "PUSH [tag]",
"source": 1,
"value": "61"
},
{
"begin": 1318,
"end": 1336,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1318,
"end": 1336,
"name": "tag",
"source": 1,
"value": "60"
},
{
"begin": 1318,
"end": 1336,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1231,
"end": 1338,
"name": "tag",
"source": 1,
"value": "59"
},
{
"begin": 1231,
"end": 1338,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1362,
"end": 1363,
"name": "DUP3",
"source": 1
},
{
"begin": 1359,
"end": 1360,
"name": "DUP3",
"source": 1
},
{
"begin": 1355,
"end": 1364,
"name": "ADD",
"source": 1
},
{
"begin": 1348,
"end": 1364,
"name": "SWAP1",
"source": 1
},
{
"begin": 1348,
"end": 1364,
"name": "POP",
"source": 1
},
{
"begin": 1065,
"end": 1370,
"name": "SWAP3",
"source": 1
},
{
"begin": 1065,
"end": 1370,
"name": "SWAP2",
"source": 1
},
{
"begin": 1065,
"end": 1370,
"name": "POP",
"source": 1
},
{
"begin": 1065,
"end": 1370,
"name": "POP",
"source": 1
},
{
"begin": 1065,
"end": 1370,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1376,
"end": 1561,
"name": "tag",
"source": 1,
"value": "30"
},
{
"begin": 1376,
"end": 1561,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1416,
"end": 1417,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1433,
"end": 1453,
"name": "PUSH [tag]",
"source": 1,
"value": "63"
},
{
"begin": 1451,
"end": 1452,
"name": "DUP3",
"source": 1
},
{
"begin": 1433,
"end": 1453,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 1433,
"end": 1453,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1433,
"end": 1453,
"name": "tag",
"source": 1,
"value": "63"
},
{
"begin": 1433,
"end": 1453,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1428,
"end": 1453,
"name": "SWAP2",
"source": 1
},
{
"begin": 1428,
"end": 1453,
"name": "POP",
"source": 1
},
{
"begin": 1467,
"end": 1487,
"name": "PUSH [tag]",
"source": 1,
"value": "64"
},
{
"begin": 1485,
"end": 1486,
"name": "DUP4",
"source": 1
},
{
"begin": 1467,
"end": 1487,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 1467,
"end": 1487,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1467,
"end": 1487,
"name": "tag",
"source": 1,
"value": "64"
},
{
"begin": 1467,
"end": 1487,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1462,
"end": 1487,
"name": "SWAP3",
"source": 1
},
{
"begin": 1462,
"end": 1487,
"name": "POP",
"source": 1
},
{
"begin": 1506,
"end": 1507,
"name": "DUP3",
"source": 1
},
{
"begin": 1496,
"end": 1531,
"name": "PUSH [tag]",
"source": 1,
"value": "65"
},
{
"begin": 1496,
"end": 1531,
"name": "JUMPI",
"source": 1
},
{
"begin": 1511,
"end": 1529,
"name": "PUSH [tag]",
"source": 1,
"value": "66"
},
{
"begin": 1511,
"end": 1529,
"name": "PUSH [tag]",
"source": 1,
"value": "67"
},
{
"begin": 1511,
"end": 1529,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1511,
"end": 1529,
"name": "tag",
"source": 1,
"value": "66"
},
{
"begin": 1511,
"end": 1529,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1496,
"end": 1531,
"name": "tag",
"source": 1,
"value": "65"
},
{
"begin": 1496,
"end": 1531,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1553,
"end": 1554,
"name": "DUP3",
"source": 1
},
{
"begin": 1550,
"end": 1551,
"name": "DUP3",
"source": 1
},
{
"begin": 1546,
"end": 1555,
"name": "DIV",
"source": 1
},
{
"begin": 1541,
"end": 1555,
"name": "SWAP1",
"source": 1
},
{
"begin": 1541,
"end": 1555,
"name": "POP",
"source": 1
},
{
"begin": 1376,
"end": 1561,
"name": "SWAP3",
"source": 1
},
{
"begin": 1376,
"end": 1561,
"name": "SWAP2",
"source": 1
},
{
"begin": 1376,
"end": 1561,
"name": "POP",
"source": 1
},
{
"begin": 1376,
"end": 1561,
"name": "POP",
"source": 1
},
{
"begin": 1376,
"end": 1561,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1567,
"end": 1915,
"name": "tag",
"source": 1,
"value": "36"
},
{
"begin": 1567,
"end": 1915,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1607,
"end": 1614,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1630,
"end": 1650,
"name": "PUSH [tag]",
"source": 1,
"value": "69"
},
{
"begin": 1648,
"end": 1649,
"name": "DUP3",
"source": 1
},
{
"begin": 1630,
"end": 1650,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 1630,
"end": 1650,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1630,
"end": 1650,
"name": "tag",
"source": 1,
"value": "69"
},
{
"begin": 1630,
"end": 1650,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1625,
"end": 1650,
"name": "SWAP2",
"source": 1
},
{
"begin": 1625,
"end": 1650,
"name": "POP",
"source": 1
},
{
"begin": 1664,
"end": 1684,
"name": "PUSH [tag]",
"source": 1,
"value": "70"
},
{
"begin": 1682,
"end": 1683,
"name": "DUP4",
"source": 1
},
{
"begin": 1664,
"end": 1684,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 1664,
"end": 1684,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1664,
"end": 1684,
"name": "tag",
"source": 1,
"value": "70"
},
{
"begin": 1664,
"end": 1684,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1659,
"end": 1684,
"name": "SWAP3",
"source": 1
},
{
"begin": 1659,
"end": 1684,
"name": "POP",
"source": 1
},
{
"begin": 1852,
"end": 1853,
"name": "DUP2",
"source": 1
},
{
"begin": 1784,
"end": 1850,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1780,
"end": 1854,
"name": "DIV",
"source": 1
},
{
"begin": 1777,
"end": 1778,
"name": "DUP4",
"source": 1
},
{
"begin": 1774,
"end": 1855,
"name": "GT",
"source": 1
},
{
"begin": 1769,
"end": 1770,
"name": "DUP3",
"source": 1
},
{
"begin": 1762,
"end": 1771,
"name": "ISZERO",
"source": 1
},
{
"begin": 1755,
"end": 1772,
"name": "ISZERO",
"source": 1
},
{
"begin": 1751,
"end": 1856,
"name": "AND",
"source": 1
},
{
"begin": 1748,
"end": 1879,
"name": "ISZERO",
"source": 1
},
{
"begin": 1748,
"end": 1879,
"name": "PUSH [tag]",
"source": 1,
"value": "71"
},
{
"begin": 1748,
"end": 1879,
"name": "JUMPI",
"source": 1
},
{
"begin": 1859,
"end": 1877,
"name": "PUSH [tag]",
"source": 1,
"value": "72"
},
{
"begin": 1859,
"end": 1877,
"name": "PUSH [tag]",
"source": 1,
"value": "61"
},
{
"begin": 1859,
"end": 1877,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1859,
"end": 1877,
"name": "tag",
"source": 1,
"value": "72"
},
{
"begin": 1859,
"end": 1877,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1748,
"end": 1879,
"name": "tag",
"source": 1,
"value": "71"
},
{
"begin": 1748,
"end": 1879,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1907,
"end": 1908,
"name": "DUP3",
"source": 1
},
{
"begin": 1904,
"end": 1905,
"name": "DUP3",
"source": 1
},
{
"begin": 1900,
"end": 1909,
"name": "MUL",
"source": 1
},
{
"begin": 1889,
"end": 1909,
"name": "SWAP1",
"source": 1
},
{
"begin": 1889,
"end": 1909,
"name": "POP",
"source": 1
},
{
"begin": 1567,
"end": 1915,
"name": "SWAP3",
"source": 1
},
{
"begin": 1567,
"end": 1915,
"name": "SWAP2",
"source": 1
},
{
"begin": 1567,
"end": 1915,
"name": "POP",
"source": 1
},
{
"begin": 1567,
"end": 1915,
"name": "POP",
"source": 1
},
{
"begin": 1567,
"end": 1915,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1921,
"end": 2112,
"name": "tag",
"source": 1,
"value": "33"
},
{
"begin": 1921,
"end": 2112,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1961,
"end": 1965,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1981,
"end": 2001,
"name": "PUSH [tag]",
"source": 1,
"value": "74"
},
{
"begin": 1999,
"end": 2000,
"name": "DUP3",
"source": 1
},
{
"begin": 1981,
"end": 2001,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 1981,
"end": 2001,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1981,
"end": 2001,
"name": "tag",
"source": 1,
"value": "74"
},
{
"begin": 1981,
"end": 2001,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1976,
"end": 2001,
"name": "SWAP2",
"source": 1
},
{
"begin": 1976,
"end": 2001,
"name": "POP",
"source": 1
},
{
"begin": 2015,
"end": 2035,
"name": "PUSH [tag]",
"source": 1,
"value": "75"
},
{
"begin": 2033,
"end": 2034,
"name": "DUP4",
"source": 1
},
{
"begin": 2015,
"end": 2035,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 2015,
"end": 2035,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2015,
"end": 2035,
"name": "tag",
"source": 1,
"value": "75"
},
{
"begin": 2015,
"end": 2035,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2010,
"end": 2035,
"name": "SWAP3",
"source": 1
},
{
"begin": 2010,
"end": 2035,
"name": "POP",
"source": 1
},
{
"begin": 2054,
"end": 2055,
"name": "DUP3",
"source": 1
},
{
"begin": 2051,
"end": 2052,
"name": "DUP3",
"source": 1
},
{
"begin": 2048,
"end": 2056,
"name": "LT",
"source": 1
},
{
"begin": 2045,
"end": 2079,
"name": "ISZERO",
"source": 1
},
{
"begin": 2045,
"end": 2079,
"name": "PUSH [tag]",
"source": 1,
"value": "76"
},
{
"begin": 2045,
"end": 2079,
"name": "JUMPI",
"source": 1
},
{
"begin": 2059,
"end": 2077,
"name": "PUSH [tag]",
"source": 1,
"value": "77"
},
{
"begin": 2059,
"end": 2077,
"name": "PUSH [tag]",
"source": 1,
"value": "61"
},
{
"begin": 2059,
"end": 2077,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2059,
"end": 2077,
"name": "tag",
"source": 1,
"value": "77"
},
{
"begin": 2059,
"end": 2077,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2045,
"end": 2079,
"name": "tag",
"source": 1,
"value": "76"
},
{
"begin": 2045,
"end": 2079,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2104,
"end": 2105,
"name": "DUP3",
"source": 1
},
{
"begin": 2101,
"end": 2102,
"name": "DUP3",
"source": 1
},
{
"begin": 2097,
"end": 2106,
"name": "SUB",
"source": 1
},
{
"begin": 2089,
"end": 2106,
"name": "SWAP1",
"source": 1
},
{
"begin": 2089,
"end": 2106,
"name": "POP",
"source": 1
},
{
"begin": 1921,
"end": 2112,
"name": "SWAP3",
"source": 1
},
{
"begin": 1921,
"end": 2112,
"name": "SWAP2",
"source": 1
},
{
"begin": 1921,
"end": 2112,
"name": "POP",
"source": 1
},
{
"begin": 1921,
"end": 2112,
"name": "POP",
"source": 1
},
{
"begin": 1921,
"end": 2112,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 2118,
"end": 2195,
"name": "tag",
"source": 1,
"value": "51"
},
{
"begin": 2118,
"end": 2195,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2155,
"end": 2162,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2184,
"end": 2189,
"name": "DUP2",
"source": 1
},
{
"begin": 2173,
"end": 2189,
"name": "SWAP1",
"source": 1
},
{
"begin": 2173,
"end": 2189,
"name": "POP",
"source": 1
},
{
"begin": 2118,
"end": 2195,
"name": "SWAP2",
"source": 1
},
{
"begin": 2118,
"end": 2195,
"name": "SWAP1",
"source": 1
},
{
"begin": 2118,
"end": 2195,
"name": "POP",
"source": 1
},
{
"begin": 2118,
"end": 2195,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 2201,
"end": 2381,
"name": "tag",
"source": 1,
"value": "61"
},
{
"begin": 2201,
"end": 2381,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2249,
"end": 2326,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 2246,
"end": 2247,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2239,
"end": 2327,
"name": "MSTORE",
"source": 1
},
{
"begin": 2346,
"end": 2350,
"name": "PUSH",
"source": 1,
"value": "11"
},
{
"begin": 2343,
"end": 2344,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 2336,
"end": 2351,
"name": "MSTORE",
"source": 1
},
{
"begin": 2370,
"end": 2374,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 2367,
"end": 2368,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2360,
"end": 2375,
"name": "REVERT",
"source": 1
},
{
"begin": 2387,
"end": 2567,
"name": "tag",
"source": 1,
"value": "67"
},
{
"begin": 2387,
"end": 2567,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2435,
"end": 2512,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 2432,
"end": 2433,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2425,
"end": 2513,
"name": "MSTORE",
"source": 1
},
{
"begin": 2532,
"end": 2536,
"name": "PUSH",
"source": 1,
"value": "12"
},
{
"begin": 2529,
"end": 2530,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 2522,
"end": 2537,
"name": "MSTORE",
"source": 1
},
{
"begin": 2556,
"end": 2560,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 2553,
"end": 2554,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2546,
"end": 2561,
"name": "REVERT",
"source": 1
},
{
"begin": 2696,
"end": 2813,
"name": "tag",
"source": 1,
"value": "45"
},
{
"begin": 2696,
"end": 2813,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2805,
"end": 2806,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2802,
"end": 2803,
"name": "DUP1",
"source": 1
},
{
"begin": 2795,
"end": 2807,
"name": "REVERT",
"source": 1
},
{
"begin": 2819,
"end": 2941,
"name": "tag",
"source": 1,
"value": "41"
},
{
"begin": 2819,
"end": 2941,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2892,
"end": 2916,
"name": "PUSH [tag]",
"source": 1,
"value": "85"
},
{
"begin": 2910,
"end": 2915,
"name": "DUP2",
"source": 1
},
{
"begin": 2892,
"end": 2916,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 2892,
"end": 2916,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2892,
"end": 2916,
"name": "tag",
"source": 1,
"value": "85"
},
{
"begin": 2892,
"end": 2916,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2885,
"end": 2890,
"name": "DUP2",
"source": 1
},
{
"begin": 2882,
"end": 2917,
"name": "EQ",
"source": 1
},
{
"begin": 2872,
"end": 2935,
"name": "PUSH [tag]",
"source": 1,
"value": "86"
},
{
"begin": 2872,
"end": 2935,
"name": "JUMPI",
"source": 1
},
{
"begin": 2931,
"end": 2932,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2928,
"end": 2929,
"name": "DUP1",
"source": 1
},
{
"begin": 2921,
"end": 2933,
"name": "REVERT",
"source": 1
},
{
"begin": 2872,
"end": 2935,
"name": "tag",
"source": 1,
"value": "86"
},
{
"begin": 2872,
"end": 2935,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2819,
"end": 2941,
"name": "POP",
"source": 1
},
{
"begin": 2819,
"end": 2941,
"name": "JUMP",
"source": 1,
"value": "[out]"
}
]
}
}
},
"methodIdentifiers": {
"add(uint256,uint256)": "771602f7",
"div(uint256,uint256)": "a391c15b",
"mul(uint256,uint256)": "c8a4ac9c",
"sub(uint256,uint256)": "b67d77c5"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"add\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"div\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"mul\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"sub\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"index.sol\":\"calculator\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"index.sol\":{\"keccak256\":\"0x023f5d864c85d4972aca8789a30bc55c9be95e7599583f5b64a5bf8ac2b63496\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9878ed5099596a5aac7c38b6641ce79a55638e889c34be71c943c190f9076368\",\"dweb:/ipfs/QmZp2XGfA5rEuy92PnGoefPhryDPsks2dF4bVLEt4Y9PRC\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"index.sol": {
"ast": {
"absolutePath": "index.sol",
"exportedSymbols": {
"calculator": [
58
]
},
"id": 59,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.8",
".7"
],
"nodeType": "PragmaDirective",
"src": "33:23:0"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 58,
"linearizedBaseContracts": [
58
],
"name": "calculator",
"nameLocation": "67:10:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 14,
"nodeType": "Block",
"src": "159:29:0",
"statements": [
{
"expression": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 12,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 10,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "177:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"id": 11,
"name": "y",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "179:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "177:3:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 9,
"id": 13,
"nodeType": "Return",
"src": "170:10:0"
}
]
},
"functionSelector": "771602f7",
"id": 15,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "add",
"nameLocation": "111:3:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 6,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3,
"mutability": "mutable",
"name": "x",
"nameLocation": "120:1:0",
"nodeType": "VariableDeclaration",
"scope": 15,
"src": "115:6:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "115:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 5,
"mutability": "mutable",
"name": "y",
"nameLocation": "128:1:0",
"nodeType": "VariableDeclaration",
"scope": 15,
"src": "123:6:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "123:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "114:16:0"
},
"returnParameters": {
"id": 9,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 8,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 15,
"src": "153:4:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "153:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "152:6:0"
},
"scope": 58,
"src": "102:86:0",
"stateMutability": "pure",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 28,
"nodeType": "Block",
"src": "268:29:0",
"statements": [
{
"expression": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 26,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 24,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17,
"src": "286:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "*",
"rightExpression": {
"id": 25,
"name": "y",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19,
"src": "288:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "286:3:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 23,
"id": 27,
"nodeType": "Return",
"src": "279:10:0"
}
]
},
"functionSelector": "c8a4ac9c",
"id": 29,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "mul",
"nameLocation": "220:3:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 20,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 17,
"mutability": "mutable",
"name": "x",
"nameLocation": "229:1:0",
"nodeType": "VariableDeclaration",
"scope": 29,
"src": "224:6:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 16,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "224:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 19,
"mutability": "mutable",
"name": "y",
"nameLocation": "237:1:0",
"nodeType": "VariableDeclaration",
"scope": 29,
"src": "232:6:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 18,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "232:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "223:16:0"
},
"returnParameters": {
"id": 23,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 29,
"src": "262:4:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 21,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "262:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "261:6:0"
},
"scope": 58,
"src": "211:86:0",
"stateMutability": "pure",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 42,
"nodeType": "Block",
"src": "377:29:0",
"statements": [
{
"expression": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 40,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 38,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 31,
"src": "395:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "/",
"rightExpression": {
"id": 39,
"name": "y",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 33,
"src": "397:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "395:3:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 37,
"id": 41,
"nodeType": "Return",
"src": "388:10:0"
}
]
},
"functionSelector": "a391c15b",
"id": 43,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "div",
"nameLocation": "329:3:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 34,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 31,
"mutability": "mutable",
"name": "x",
"nameLocation": "338:1:0",
"nodeType": "VariableDeclaration",
"scope": 43,
"src": "333:6:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 30,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "333:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 33,
"mutability": "mutable",
"name": "y",
"nameLocation": "346:1:0",
"nodeType": "VariableDeclaration",
"scope": 43,
"src": "341:6:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 32,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "341:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "332:16:0"
},
"returnParameters": {
"id": 37,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 36,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 43,
"src": "371:4:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 35,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "371:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "370:6:0"
},
"scope": 58,
"src": "320:86:0",
"stateMutability": "pure",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 56,
"nodeType": "Block",
"src": "490:29:0",
"statements": [
{
"expression": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 54,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 52,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 45,
"src": "508:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"id": 53,
"name": "y",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 47,
"src": "510:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "508:3:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 51,
"id": 55,
"nodeType": "Return",
"src": "501:10:0"
}
]
},
"functionSelector": "b67d77c5",
"id": 57,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "sub",
"nameLocation": "442:3:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 48,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 45,
"mutability": "mutable",
"name": "x",
"nameLocation": "451:1:0",
"nodeType": "VariableDeclaration",
"scope": 57,
"src": "446:6:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 44,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "446:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 47,
"mutability": "mutable",
"name": "y",
"nameLocation": "459:1:0",
"nodeType": "VariableDeclaration",
"scope": 57,
"src": "454:6:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 46,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "454:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "445:16:0"
},
"returnParameters": {
"id": 51,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 50,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 57,
"src": "484:4:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 49,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "484:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "483:6:0"
},
"scope": 58,
"src": "433:86:0",
"stateMutability": "pure",
"virtual": false,
"visibility": "external"
}
],
"scope": 59,
"src": "58:464:0",
"usedErrors": []
}
],
"src": "33:491:0"
},
"id": 0
}
}
}
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506103b7806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063771602f714610051578063a391c15b14610081578063b67d77c5146100b1578063c8a4ac9c146100e1575b600080fd5b61006b6004803603810190610066919061017e565b610111565b60405161007891906101cd565b60405180910390f35b61009b6004803603810190610096919061017e565b610127565b6040516100a891906101cd565b60405180910390f35b6100cb60048036038101906100c6919061017e565b61013d565b6040516100d891906101cd565b60405180910390f35b6100fb60048036038101906100f6919061017e565b610153565b60405161010891906101cd565b60405180910390f35b6000818361011f91906101e8565b905092915050565b60008183610135919061023e565b905092915050565b6000818361014b91906102c9565b905092915050565b60008183610161919061026f565b905092915050565b6000813590506101788161036a565b92915050565b6000806040838503121561019557610194610365565b5b60006101a385828601610169565b92505060206101b485828601610169565b9150509250929050565b6101c7816102fd565b82525050565b60006020820190506101e260008301846101be565b92915050565b60006101f3826102fd565b91506101fe836102fd565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561023357610232610307565b5b828201905092915050565b6000610249826102fd565b9150610254836102fd565b92508261026457610263610336565b5b828204905092915050565b600061027a826102fd565b9150610285836102fd565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156102be576102bd610307565b5b828202905092915050565b60006102d4826102fd565b91506102df836102fd565b9250828210156102f2576102f1610307565b5b828203905092915050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b610373816102fd565b811461037e57600080fd5b5056fea264697066735822122037f7f63ad98b5cccbf4edc38074904f27ea1c93ce0ba5af4f8200724084898f364736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B7 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 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x771602F7 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0xA391C15B EQ PUSH2 0x81 JUMPI DUP1 PUSH4 0xB67D77C5 EQ PUSH2 0xB1 JUMPI DUP1 PUSH4 0xC8A4AC9C EQ PUSH2 0xE1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x17E JUMP JUMPDEST PUSH2 0x111 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x78 SWAP2 SWAP1 PUSH2 0x1CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x96 SWAP2 SWAP1 PUSH2 0x17E JUMP JUMPDEST PUSH2 0x127 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA8 SWAP2 SWAP1 PUSH2 0x1CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC6 SWAP2 SWAP1 PUSH2 0x17E JUMP JUMPDEST PUSH2 0x13D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD8 SWAP2 SWAP1 PUSH2 0x1CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF6 SWAP2 SWAP1 PUSH2 0x17E JUMP JUMPDEST PUSH2 0x153 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x108 SWAP2 SWAP1 PUSH2 0x1CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x11F SWAP2 SWAP1 PUSH2 0x1E8 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x135 SWAP2 SWAP1 PUSH2 0x23E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x14B SWAP2 SWAP1 PUSH2 0x2C9 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x161 SWAP2 SWAP1 PUSH2 0x26F JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x178 DUP2 PUSH2 0x36A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x195 JUMPI PUSH2 0x194 PUSH2 0x365 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1A3 DUP6 DUP3 DUP7 ADD PUSH2 0x169 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1B4 DUP6 DUP3 DUP7 ADD PUSH2 0x169 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C7 DUP2 PUSH2 0x2FD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1E2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1BE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F3 DUP3 PUSH2 0x2FD JUMP JUMPDEST SWAP2 POP PUSH2 0x1FE DUP4 PUSH2 0x2FD JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x233 JUMPI PUSH2 0x232 PUSH2 0x307 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x249 DUP3 PUSH2 0x2FD JUMP JUMPDEST SWAP2 POP PUSH2 0x254 DUP4 PUSH2 0x2FD JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x264 JUMPI PUSH2 0x263 PUSH2 0x336 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27A DUP3 PUSH2 0x2FD JUMP JUMPDEST SWAP2 POP PUSH2 0x285 DUP4 PUSH2 0x2FD JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x2BE JUMPI PUSH2 0x2BD PUSH2 0x307 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D4 DUP3 PUSH2 0x2FD JUMP JUMPDEST SWAP2 POP PUSH2 0x2DF DUP4 PUSH2 0x2FD JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x2F2 JUMPI PUSH2 0x2F1 PUSH2 0x307 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x373 DUP2 PUSH2 0x2FD JUMP JUMPDEST DUP2 EQ PUSH2 0x37E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLDATACOPY 0xF7 0xF6 GASPRICE 0xD9 DUP12 0x5C 0xCC 0xBF 0x4E 0xDC CODESIZE SMOD 0x49 DIV CALLCODE PUSH31 0xA1C93CE0BA5AF4F8200724084898F364736F6C634300080700330000000000 ",
"sourceMap": "58:464:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@add_15": {
"entryPoint": 273,
"id": 15,
"parameterSlots": 2,
"returnSlots": 1
},
"@div_43": {
"entryPoint": 295,
"id": 43,
"parameterSlots": 2,
"returnSlots": 1
},
"@mul_29": {
"entryPoint": 339,
"id": 29,
"parameterSlots": 2,
"returnSlots": 1
},
"@sub_57": {
"entryPoint": 317,
"id": 57,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 361,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256t_uint256": {
"entryPoint": 382,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 446,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 461,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 488,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_div_t_uint256": {
"entryPoint": 574,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_mul_t_uint256": {
"entryPoint": 623,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 713,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 765,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 775,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x12": {
"entryPoint": 822,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 869,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 874,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:2944: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": "235:391:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "281:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "283:77:1"
},
"nodeType": "YulFunctionCall",
"src": "283:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "283:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "256:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "265:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "252:3:1"
},
"nodeType": "YulFunctionCall",
"src": "252:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "277:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "248:3:1"
},
"nodeType": "YulFunctionCall",
"src": "248:32:1"
},
"nodeType": "YulIf",
"src": "245:119:1"
},
{
"nodeType": "YulBlock",
"src": "374:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "389:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "403:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "393:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "418:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "453:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "464:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "449:3:1"
},
"nodeType": "YulFunctionCall",
"src": "449:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "473:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "428:20:1"
},
"nodeType": "YulFunctionCall",
"src": "428:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "418:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "501:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "516:16:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "530:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "520:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "546:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "581:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "592:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "577:3:1"
},
"nodeType": "YulFunctionCall",
"src": "577:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "601:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "556:20:1"
},
"nodeType": "YulFunctionCall",
"src": "556:53:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "546:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "197:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "208:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "220:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "228:6:1",
"type": ""
}
],
"src": "152:474:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "697:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "714:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "737:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "719:17:1"
},
"nodeType": "YulFunctionCall",
"src": "719:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "707:6:1"
},
"nodeType": "YulFunctionCall",
"src": "707:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "707:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "685:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "692:3:1",
"type": ""
}
],
"src": "632:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "854:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "864:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "876:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "887:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "872:3:1"
},
"nodeType": "YulFunctionCall",
"src": "872:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "864:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "944:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "957:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "968:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "953:3:1"
},
"nodeType": "YulFunctionCall",
"src": "953:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "900:43:1"
},
"nodeType": "YulFunctionCall",
"src": "900:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "900:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "826:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "838:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "849:4:1",
"type": ""
}
],
"src": "756:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1024:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1034:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1050:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1044:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1044:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "1034:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "1017:6:1",
"type": ""
}
],
"src": "984:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1109:261:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1119:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1142:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1124:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1124:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1119:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1153:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1176:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1158:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1158:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1153:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1316:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1318:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1318:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1318:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1237:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1244:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1312:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1240:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1240:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1234:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1234:81:1"
},
"nodeType": "YulIf",
"src": "1231:107:1"
},
{
"nodeType": "YulAssignment",
"src": "1348:16:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1359:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1362:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1355:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1355:9:1"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "1348:3:1"
}
]
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "1096:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "1099:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "1105:3:1",
"type": ""
}
],
"src": "1065:305:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1418:143:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1428:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1451:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1433:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1433:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1428:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1462:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1485:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1467:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1467:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1462:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1509:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x12",
"nodeType": "YulIdentifier",
"src": "1511:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1511:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1511:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1506:1:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1499:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1499:9:1"
},
"nodeType": "YulIf",
"src": "1496:35:1"
},
{
"nodeType": "YulAssignment",
"src": "1541:14:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1550:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1553:1:1"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "1546:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1546:9:1"
},
"variableNames": [
{
"name": "r",
"nodeType": "YulIdentifier",
"src": "1541:1:1"
}
]
}
]
},
"name": "checked_div_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "1407:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "1410:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "r",
"nodeType": "YulTypedName",
"src": "1416:1:1",
"type": ""
}
],
"src": "1376:185:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1615:300:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1625:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1648:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1630:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1630:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1625:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1659:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1682:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1664:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1664:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1659:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1857:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "1859:16:1"
},
"nodeType": "YulFunctionCall",
"src": "1859:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "1859:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1769:1:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1762:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1762:9:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "1755:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1755:17:1"
},
{
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1777:1:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1784:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1852:1:1"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "1780:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1780:74:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1774:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1774:81:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1751:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1751:105:1"
},
"nodeType": "YulIf",
"src": "1748:131:1"
},
{
"nodeType": "YulAssignment",
"src": "1889:20:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1904:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "1907:1:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "1900:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1900:9:1"
},
"variableNames": [
{
"name": "product",
"nodeType": "YulIdentifier",
"src": "1889:7:1"
}
]
}
]
},
"name": "checked_mul_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "1598:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "1601:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "product",
"nodeType": "YulTypedName",
"src": "1607:7:1",
"type": ""
}
],
"src": "1567:348:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1966:146:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1976:25:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1999:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1981:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1981:20:1"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "1976:1:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2010:25:1",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2033:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2015:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2015:20:1"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2010:1:1"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2057:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "2059:16:1"
},
"nodeType": "YulFunctionCall",
"src": "2059:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "2059:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2051:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2054:1:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2048:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2048:8:1"
},
"nodeType": "YulIf",
"src": "2045:34:1"
},
{
"nodeType": "YulAssignment",
"src": "2089:17:1",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2101:1:1"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2104:1:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2097:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2097:9:1"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "2089:4:1"
}
]
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "1952:1:1",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "1955:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "1961:4:1",
"type": ""
}
],
"src": "1921:191:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2163:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2173:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "2184:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "2173:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2145:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "2155:7:1",
"type": ""
}
],
"src": "2118:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2229:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2246:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2249:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2239:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2239:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "2239:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2343:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2346:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2336:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2336:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2336:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2367:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2370:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2360:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2360:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2360:15:1"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "2201:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2415:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2432:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2435:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2425:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2425:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "2425:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2529:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2532:4:1",
"type": "",
"value": "0x12"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2522:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2522:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2522:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2553:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2556:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2546:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2546:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2546:15:1"
}
]
},
"name": "panic_error_0x12",
"nodeType": "YulFunctionDefinition",
"src": "2387:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2662:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2679:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2682:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2672:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2672:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2672:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "2573:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2785:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2802:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2805:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2795:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2795:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2795:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "2696:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2862:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2919:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2928:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2931:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2921:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2921:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "2921:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2885:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2910:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2892:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2892:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2882:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2882:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2875:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2875:43:1"
},
"nodeType": "YulIf",
"src": "2872:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2855:5:1",
"type": ""
}
],
"src": "2819: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_uint256t_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { 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 let offset := 32\n\n value1 := 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 checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\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": "608060405234801561001057600080fd5b506004361061004c5760003560e01c8063771602f714610051578063a391c15b14610081578063b67d77c5146100b1578063c8a4ac9c146100e1575b600080fd5b61006b6004803603810190610066919061017e565b610111565b60405161007891906101cd565b60405180910390f35b61009b6004803603810190610096919061017e565b610127565b6040516100a891906101cd565b60405180910390f35b6100cb60048036038101906100c6919061017e565b61013d565b6040516100d891906101cd565b60405180910390f35b6100fb60048036038101906100f6919061017e565b610153565b60405161010891906101cd565b60405180910390f35b6000818361011f91906101e8565b905092915050565b60008183610135919061023e565b905092915050565b6000818361014b91906102c9565b905092915050565b60008183610161919061026f565b905092915050565b6000813590506101788161036a565b92915050565b6000806040838503121561019557610194610365565b5b60006101a385828601610169565b92505060206101b485828601610169565b9150509250929050565b6101c7816102fd565b82525050565b60006020820190506101e260008301846101be565b92915050565b60006101f3826102fd565b91506101fe836102fd565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561023357610232610307565b5b828201905092915050565b6000610249826102fd565b9150610254836102fd565b92508261026457610263610336565b5b828204905092915050565b600061027a826102fd565b9150610285836102fd565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156102be576102bd610307565b5b828202905092915050565b60006102d4826102fd565b91506102df836102fd565b9250828210156102f2576102f1610307565b5b828203905092915050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b610373816102fd565b811461037e57600080fd5b5056fea264697066735822122037f7f63ad98b5cccbf4edc38074904f27ea1c93ce0ba5af4f8200724084898f364736f6c63430008070033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x771602F7 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0xA391C15B EQ PUSH2 0x81 JUMPI DUP1 PUSH4 0xB67D77C5 EQ PUSH2 0xB1 JUMPI DUP1 PUSH4 0xC8A4AC9C EQ PUSH2 0xE1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x17E JUMP JUMPDEST PUSH2 0x111 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x78 SWAP2 SWAP1 PUSH2 0x1CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x96 SWAP2 SWAP1 PUSH2 0x17E JUMP JUMPDEST PUSH2 0x127 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA8 SWAP2 SWAP1 PUSH2 0x1CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC6 SWAP2 SWAP1 PUSH2 0x17E JUMP JUMPDEST PUSH2 0x13D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD8 SWAP2 SWAP1 PUSH2 0x1CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xF6 SWAP2 SWAP1 PUSH2 0x17E JUMP JUMPDEST PUSH2 0x153 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x108 SWAP2 SWAP1 PUSH2 0x1CD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x11F SWAP2 SWAP1 PUSH2 0x1E8 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x135 SWAP2 SWAP1 PUSH2 0x23E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x14B SWAP2 SWAP1 PUSH2 0x2C9 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 PUSH2 0x161 SWAP2 SWAP1 PUSH2 0x26F JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x178 DUP2 PUSH2 0x36A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x195 JUMPI PUSH2 0x194 PUSH2 0x365 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1A3 DUP6 DUP3 DUP7 ADD PUSH2 0x169 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1B4 DUP6 DUP3 DUP7 ADD PUSH2 0x169 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C7 DUP2 PUSH2 0x2FD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1E2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1BE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F3 DUP3 PUSH2 0x2FD JUMP JUMPDEST SWAP2 POP PUSH2 0x1FE DUP4 PUSH2 0x2FD JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x233 JUMPI PUSH2 0x232 PUSH2 0x307 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x249 DUP3 PUSH2 0x2FD JUMP JUMPDEST SWAP2 POP PUSH2 0x254 DUP4 PUSH2 0x2FD JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x264 JUMPI PUSH2 0x263 PUSH2 0x336 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27A DUP3 PUSH2 0x2FD JUMP JUMPDEST SWAP2 POP PUSH2 0x285 DUP4 PUSH2 0x2FD JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x2BE JUMPI PUSH2 0x2BD PUSH2 0x307 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D4 DUP3 PUSH2 0x2FD JUMP JUMPDEST SWAP2 POP PUSH2 0x2DF DUP4 PUSH2 0x2FD JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x2F2 JUMPI PUSH2 0x2F1 PUSH2 0x307 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x373 DUP2 PUSH2 0x2FD JUMP JUMPDEST DUP2 EQ PUSH2 0x37E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLDATACOPY 0xF7 0xF6 GASPRICE 0xD9 DUP12 0x5C 0xCC 0xBF 0x4E 0xDC CODESIZE SMOD 0x49 DIV CALLCODE PUSH31 0xA1C93CE0BA5AF4F8200724084898F364736F6C634300080700330000000000 ",
"sourceMap": "58:464:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;102:86;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;320;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;433;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;211;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;102;153:4;179:1;177;:3;;;;:::i;:::-;170:10;;102:86;;;;:::o;320:::-;371:4;397:1;395;:3;;;;:::i;:::-;388:10;;320:86;;;;:::o;433:::-;484:4;510:1;508;:3;;;;:::i;:::-;501:10;;433:86;;;;:::o;211:::-;262:4;288:1;286;:3;;;;:::i;:::-;279:10;;211:86;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:474::-;220:6;228;277:2;265:9;256:7;252:23;248:32;245:119;;;283:79;;:::i;:::-;245:119;403:1;428:53;473:7;464:6;453:9;449:22;428:53;:::i;:::-;418:63;;374:117;530:2;556:53;601:7;592:6;581:9;577:22;556:53;:::i;:::-;546:63;;501:118;152:474;;;;;:::o;632:118::-;719:24;737:5;719:24;:::i;:::-;714:3;707:37;632:118;;:::o;756:222::-;849:4;887:2;876:9;872:18;864:26;;900:71;968:1;957:9;953:17;944:6;900:71;:::i;:::-;756:222;;;;:::o;1065:305::-;1105:3;1124:20;1142:1;1124:20;:::i;:::-;1119:25;;1158:20;1176:1;1158:20;:::i;:::-;1153:25;;1312:1;1244:66;1240:74;1237:1;1234:81;1231:107;;;1318:18;;:::i;:::-;1231:107;1362:1;1359;1355:9;1348:16;;1065:305;;;;:::o;1376:185::-;1416:1;1433:20;1451:1;1433:20;:::i;:::-;1428:25;;1467:20;1485:1;1467:20;:::i;:::-;1462:25;;1506:1;1496:35;;1511:18;;:::i;:::-;1496:35;1553:1;1550;1546:9;1541:14;;1376:185;;;;:::o;1567:348::-;1607:7;1630:20;1648:1;1630:20;:::i;:::-;1625:25;;1664:20;1682:1;1664:20;:::i;:::-;1659:25;;1852:1;1784:66;1780:74;1777:1;1774:81;1769:1;1762:9;1755:17;1751:105;1748:131;;;1859:18;;:::i;:::-;1748:131;1907:1;1904;1900:9;1889:20;;1567:348;;;;:::o;1921:191::-;1961:4;1981:20;1999:1;1981:20;:::i;:::-;1976:25;;2015:20;2033:1;2015:20;:::i;:::-;2010:25;;2054:1;2051;2048:8;2045:34;;;2059:18;;:::i;:::-;2045:34;2104:1;2101;2097:9;2089:17;;1921:191;;;;:::o;2118:77::-;2155:7;2184:5;2173:16;;2118:77;;;:::o;2201:180::-;2249:77;2246:1;2239:88;2346:4;2343:1;2336:15;2370:4;2367:1;2360:15;2387:180;2435:77;2432:1;2425:88;2532:4;2529:1;2522:15;2556:4;2553:1;2546:15;2696:117;2805:1;2802;2795:12;2819:122;2892:24;2910:5;2892:24;:::i;:::-;2885:5;2882:35;2872:63;;2931:1;2928;2921:12;2872:63;2819:122;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "190200",
"executionCost": "232",
"totalCost": "190432"
},
"external": {
"add(uint256,uint256)": "infinite",
"div(uint256,uint256)": "infinite",
"mul(uint256,uint256)": "infinite",
"sub(uint256,uint256)": "infinite"
}
},
"methodIdentifiers": {
"add(uint256,uint256)": "771602f7",
"div(uint256,uint256)": "a391c15b",
"mul(uint256,uint256)": "c8a4ac9c",
"sub(uint256,uint256)": "b67d77c5"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
}
],
"name": "add",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
}
],
"name": "div",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
}
],
"name": "mul",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
}
],
"name": "sub",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.7+commit.e28d00a7"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
}
],
"name": "add",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
}
],
"name": "div",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
}
],
"name": "mul",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
}
],
"name": "sub",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"index.sol": "calculator"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"index.sol": {
"keccak256": "0x023f5d864c85d4972aca8789a30bc55c9be95e7599583f5b64a5bf8ac2b63496",
"license": "MIT",
"urls": [
"bzz-raw://9878ed5099596a5aac7c38b6641ce79a55638e889c34be71c943c190f9076368",
"dweb:/ipfs/QmZp2XGfA5rEuy92PnGoefPhryDPsks2dF4bVLEt4Y9PRC"
]
}
},
"version": 1
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
contract calculator {
// addition
function add(uint x, uint y) external pure returns(uint) {
return x+y;
}
// multiply
function mul(uint x, uint y) external pure returns(uint) {
return x*y;
}
// division
function div(uint x, uint y) external pure returns(uint) {
return x/y;
}
// subtrhuction
function sub(uint x, uint y) external pure returns(uint) {
return x-y;
}
}
// SPDX-License-Identifier: MIT
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment