Skip to content

Instantly share code, notes, and snippets.

@zeeskhan1990
Last active July 19, 2023 20:48
Show Gist options
  • Save zeeskhan1990/e80a7180ef9e469c4fbd59a07298e6c9 to your computer and use it in GitHub Desktop.
Save zeeskhan1990/e80a7180ef9e469c4fbd59a07298e6c9 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.19+commit.7dd6d404.js&optimize=false&runs=200&gist=
{
"id": "ab6b0f099428a99ac65aba0f76489eee",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.19",
"solcLongVersion": "0.8.19+commit.7dd6d404",
"input": {
"language": "Solidity",
"sources": {
"SimpleStorage.sol": {
"content": "//SPDX-License-Identifier: MIT\r\npragma solidity 0.8.19; //pragma solidtity ^0.8.18, pragma solidity >=0.8.18 <0.9.0\r\n\r\ncontract SimpleStorage {\r\n //Basic types : boolean, uint, int, address, bytes, string\r\n // public, private, internal, external. Default is internal.\r\n //view, pure doesn't allow updating state, hence can be invoked without txn externally. only a \"call\"\r\n uint256 myFavoriteNumber;\r\n\r\n uint256[] listOfFavoriteNumbers;\r\n\r\n struct Person {\r\n uint256 favoriteNumber;\r\n string name;\r\n }\r\n\r\n Person[] public listOfPeople;\r\n\r\n Person public pat = Person({favoriteNumber: 7, name: \"Pat\"});\r\n\r\n function store(uint256 _favoriteNumber) public {\r\n myFavoriteNumber = _favoriteNumber;\r\n }\r\n\r\n function retrieve() public view returns(uint256) {\r\n return myFavoriteNumber;\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"
]
}
}
}
},
"output": {
"contracts": {
"SimpleStorage.sol": {
"SimpleStorage": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "listOfPeople",
"outputs": [
{
"internalType": "uint256",
"name": "favoriteNumber",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pat",
"outputs": [
{
"internalType": "uint256",
"name": "favoriteNumber",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "retrieve",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"SimpleStorage.sol\":119:852 contract SimpleStorage {... */\n mstore(0x40, 0x80)\n /* \"SimpleStorage.sol\":601:641 Person({favoriteNumber: 7, name: \"Pat\"}) */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n /* \"SimpleStorage.sol\":625:626 7 */\n 0x07\n /* \"SimpleStorage.sol\":601:641 Person({favoriteNumber: 7, name: \"Pat\"}) */\n dup2\n mstore\n 0x20\n add\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x03\n dup2\n mstore\n 0x20\n add\n 0x5061740000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n dup2\n mstore\n pop\n /* \"SimpleStorage.sol\":581:641 Person public pat = Person({favoriteNumber: 7, name: \"Pat\"}) */\n 0x03\n 0x00\n dup3\n add\n mload\n dup2\n 0x00\n add\n sstore\n 0x20\n dup3\n add\n mload\n dup2\n 0x01\n add\n swap1\n dup2\n tag_1\n swap2\n swap1\n tag_2\n jump\t// in\ntag_1:\n pop\n pop\n pop\n /* \"SimpleStorage.sol\":119:852 contract SimpleStorage {... */\n callvalue\n dup1\n iszero\n tag_3\n jumpi\n 0x00\n dup1\n revert\ntag_3:\n pop\n jump(tag_4)\n /* \"#utility.yul\":7:106 */\ntag_5:\n /* \"#utility.yul\":59:65 */\n 0x00\n /* \"#utility.yul\":93:98 */\n dup2\n /* \"#utility.yul\":87:99 */\n mload\n /* \"#utility.yul\":77:99 */\n swap1\n pop\n /* \"#utility.yul\":7:106 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":112:292 */\ntag_6:\n /* \"#utility.yul\":160:237 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":157:158 */\n 0x00\n /* \"#utility.yul\":150:238 */\n mstore\n /* \"#utility.yul\":257:261 */\n 0x41\n /* \"#utility.yul\":254:255 */\n 0x04\n /* \"#utility.yul\":247:262 */\n mstore\n /* \"#utility.yul\":281:285 */\n 0x24\n /* \"#utility.yul\":278:279 */\n 0x00\n /* \"#utility.yul\":271:286 */\n revert\n /* \"#utility.yul\":298:478 */\ntag_7:\n /* \"#utility.yul\":346:423 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":343:344 */\n 0x00\n /* \"#utility.yul\":336:424 */\n mstore\n /* \"#utility.yul\":443:447 */\n 0x22\n /* \"#utility.yul\":440:441 */\n 0x04\n /* \"#utility.yul\":433:448 */\n mstore\n /* \"#utility.yul\":467:471 */\n 0x24\n /* \"#utility.yul\":464:465 */\n 0x00\n /* \"#utility.yul\":457:472 */\n revert\n /* \"#utility.yul\":484:804 */\ntag_8:\n /* \"#utility.yul\":528:534 */\n 0x00\n /* \"#utility.yul\":565:566 */\n 0x02\n /* \"#utility.yul\":559:563 */\n dup3\n /* \"#utility.yul\":555:567 */\n div\n /* \"#utility.yul\":545:567 */\n swap1\n pop\n /* \"#utility.yul\":612:613 */\n 0x01\n /* \"#utility.yul\":606:610 */\n dup3\n /* \"#utility.yul\":602:614 */\n and\n /* \"#utility.yul\":633:651 */\n dup1\n /* \"#utility.yul\":623:704 */\n tag_30\n jumpi\n /* \"#utility.yul\":689:693 */\n 0x7f\n /* \"#utility.yul\":681:687 */\n dup3\n /* \"#utility.yul\":677:694 */\n and\n /* \"#utility.yul\":667:694 */\n swap2\n pop\n /* \"#utility.yul\":623:704 */\ntag_30:\n /* \"#utility.yul\":751:753 */\n 0x20\n /* \"#utility.yul\":743:749 */\n dup3\n /* \"#utility.yul\":740:754 */\n lt\n /* \"#utility.yul\":720:738 */\n dup2\n /* \"#utility.yul\":717:755 */\n sub\n /* \"#utility.yul\":714:798 */\n tag_31\n jumpi\n /* \"#utility.yul\":770:788 */\n tag_32\n tag_7\n jump\t// in\ntag_32:\n /* \"#utility.yul\":714:798 */\ntag_31:\n /* \"#utility.yul\":535:804 */\n pop\n /* \"#utility.yul\":484:804 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":810:951 */\ntag_9:\n /* \"#utility.yul\":859:863 */\n 0x00\n /* \"#utility.yul\":882:885 */\n dup2\n /* \"#utility.yul\":874:885 */\n swap1\n pop\n /* \"#utility.yul\":905:908 */\n dup2\n /* \"#utility.yul\":902:903 */\n 0x00\n /* \"#utility.yul\":895:909 */\n mstore\n /* \"#utility.yul\":939:943 */\n 0x20\n /* \"#utility.yul\":936:937 */\n 0x00\n /* \"#utility.yul\":926:944 */\n keccak256\n /* \"#utility.yul\":918:944 */\n swap1\n pop\n /* \"#utility.yul\":810:951 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":957:1050 */\ntag_10:\n /* \"#utility.yul\":994:1000 */\n 0x00\n /* \"#utility.yul\":1041:1043 */\n 0x20\n /* \"#utility.yul\":1036:1038 */\n 0x1f\n /* \"#utility.yul\":1029:1034 */\n dup4\n /* \"#utility.yul\":1025:1039 */\n add\n /* \"#utility.yul\":1021:1044 */\n div\n /* \"#utility.yul\":1011:1044 */\n swap1\n pop\n /* \"#utility.yul\":957:1050 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1056:1163 */\ntag_11:\n /* \"#utility.yul\":1100:1108 */\n 0x00\n /* \"#utility.yul\":1150:1155 */\n dup3\n /* \"#utility.yul\":1144:1148 */\n dup3\n /* \"#utility.yul\":1140:1156 */\n shl\n /* \"#utility.yul\":1119:1156 */\n swap1\n pop\n /* \"#utility.yul\":1056:1163 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1169:1562 */\ntag_12:\n /* \"#utility.yul\":1238:1244 */\n 0x00\n /* \"#utility.yul\":1288:1289 */\n 0x08\n /* \"#utility.yul\":1276:1286 */\n dup4\n /* \"#utility.yul\":1272:1290 */\n mul\n /* \"#utility.yul\":1311:1408 */\n tag_37\n /* \"#utility.yul\":1341:1407 */\n 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":1330:1339 */\n dup3\n /* \"#utility.yul\":1311:1408 */\n tag_11\n jump\t// in\ntag_37:\n /* \"#utility.yul\":1429:1468 */\n tag_38\n /* \"#utility.yul\":1459:1467 */\n dup7\n /* \"#utility.yul\":1448:1457 */\n dup4\n /* \"#utility.yul\":1429:1468 */\n tag_11\n jump\t// in\ntag_38:\n /* \"#utility.yul\":1417:1468 */\n swap6\n pop\n /* \"#utility.yul\":1501:1505 */\n dup1\n /* \"#utility.yul\":1497:1506 */\n not\n /* \"#utility.yul\":1490:1495 */\n dup5\n /* \"#utility.yul\":1486:1507 */\n and\n /* \"#utility.yul\":1477:1507 */\n swap4\n pop\n /* \"#utility.yul\":1550:1554 */\n dup1\n /* \"#utility.yul\":1540:1548 */\n dup7\n /* \"#utility.yul\":1536:1555 */\n and\n /* \"#utility.yul\":1529:1534 */\n dup5\n /* \"#utility.yul\":1526:1556 */\n or\n /* \"#utility.yul\":1516:1556 */\n swap3\n pop\n /* \"#utility.yul\":1245:1562 */\n pop\n pop\n /* \"#utility.yul\":1169:1562 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1568:1645 */\ntag_13:\n /* \"#utility.yul\":1605:1612 */\n 0x00\n /* \"#utility.yul\":1634:1639 */\n dup2\n /* \"#utility.yul\":1623:1639 */\n swap1\n pop\n /* \"#utility.yul\":1568:1645 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1651:1711 */\ntag_14:\n /* \"#utility.yul\":1679:1682 */\n 0x00\n /* \"#utility.yul\":1700:1705 */\n dup2\n /* \"#utility.yul\":1693:1705 */\n swap1\n pop\n /* \"#utility.yul\":1651:1711 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1717:1859 */\ntag_15:\n /* \"#utility.yul\":1767:1776 */\n 0x00\n /* \"#utility.yul\":1800:1853 */\n tag_42\n /* \"#utility.yul\":1818:1852 */\n tag_43\n /* \"#utility.yul\":1827:1851 */\n tag_44\n /* \"#utility.yul\":1845:1850 */\n dup5\n /* \"#utility.yul\":1827:1851 */\n tag_13\n jump\t// in\ntag_44:\n /* \"#utility.yul\":1818:1852 */\n tag_14\n jump\t// in\ntag_43:\n /* \"#utility.yul\":1800:1853 */\n tag_13\n jump\t// in\ntag_42:\n /* \"#utility.yul\":1787:1853 */\n swap1\n pop\n /* \"#utility.yul\":1717:1859 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1865:1940 */\ntag_16:\n /* \"#utility.yul\":1908:1911 */\n 0x00\n /* \"#utility.yul\":1929:1934 */\n dup2\n /* \"#utility.yul\":1922:1934 */\n swap1\n pop\n /* \"#utility.yul\":1865:1940 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1946:2215 */\ntag_17:\n /* \"#utility.yul\":2056:2095 */\n tag_47\n /* \"#utility.yul\":2087:2094 */\n dup4\n /* \"#utility.yul\":2056:2095 */\n tag_15\n jump\t// in\ntag_47:\n /* \"#utility.yul\":2117:2208 */\n tag_48\n /* \"#utility.yul\":2166:2207 */\n tag_49\n /* \"#utility.yul\":2190:2206 */\n dup3\n /* \"#utility.yul\":2166:2207 */\n tag_16\n jump\t// in\ntag_49:\n /* \"#utility.yul\":2158:2164 */\n dup5\n /* \"#utility.yul\":2151:2155 */\n dup5\n /* \"#utility.yul\":2145:2156 */\n sload\n /* \"#utility.yul\":2117:2208 */\n tag_12\n jump\t// in\ntag_48:\n /* \"#utility.yul\":2111:2115 */\n dup3\n /* \"#utility.yul\":2104:2209 */\n sstore\n /* \"#utility.yul\":2022:2215 */\n pop\n /* \"#utility.yul\":1946:2215 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2221:2294 */\ntag_18:\n /* \"#utility.yul\":2266:2269 */\n 0x00\n /* \"#utility.yul\":2221:2294 */\n swap1\n jump\t// out\n /* \"#utility.yul\":2300:2489 */\ntag_19:\n /* \"#utility.yul\":2377:2409 */\n tag_52\n tag_18\n jump\t// in\ntag_52:\n /* \"#utility.yul\":2418:2483 */\n tag_53\n /* \"#utility.yul\":2476:2482 */\n dup2\n /* \"#utility.yul\":2468:2474 */\n dup5\n /* \"#utility.yul\":2462:2466 */\n dup5\n /* \"#utility.yul\":2418:2483 */\n tag_17\n jump\t// in\ntag_53:\n /* \"#utility.yul\":2353:2489 */\n pop\n /* \"#utility.yul\":2300:2489 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2495:2681 */\ntag_20:\n /* \"#utility.yul\":2555:2675 */\ntag_55:\n /* \"#utility.yul\":2572:2575 */\n dup2\n /* \"#utility.yul\":2565:2570 */\n dup2\n /* \"#utility.yul\":2562:2576 */\n lt\n /* \"#utility.yul\":2555:2675 */\n iszero\n tag_57\n jumpi\n /* \"#utility.yul\":2626:2665 */\n tag_58\n /* \"#utility.yul\":2663:2664 */\n 0x00\n /* \"#utility.yul\":2656:2661 */\n dup3\n /* \"#utility.yul\":2626:2665 */\n tag_19\n jump\t// in\ntag_58:\n /* \"#utility.yul\":2599:2600 */\n 0x01\n /* \"#utility.yul\":2592:2597 */\n dup2\n /* \"#utility.yul\":2588:2601 */\n add\n /* \"#utility.yul\":2579:2601 */\n swap1\n pop\n /* \"#utility.yul\":2555:2675 */\n jump(tag_55)\ntag_57:\n /* \"#utility.yul\":2495:2681 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2687:3230 */\ntag_21:\n /* \"#utility.yul\":2788:2790 */\n 0x1f\n /* \"#utility.yul\":2783:2786 */\n dup3\n /* \"#utility.yul\":2780:2791 */\n gt\n /* \"#utility.yul\":2777:3223 */\n iszero\n tag_60\n jumpi\n /* \"#utility.yul\":2822:2860 */\n tag_61\n /* \"#utility.yul\":2854:2859 */\n dup2\n /* \"#utility.yul\":2822:2860 */\n tag_9\n jump\t// in\ntag_61:\n /* \"#utility.yul\":2906:2935 */\n tag_62\n /* \"#utility.yul\":2924:2934 */\n dup5\n /* \"#utility.yul\":2906:2935 */\n tag_10\n jump\t// in\ntag_62:\n /* \"#utility.yul\":2896:2904 */\n dup2\n /* \"#utility.yul\":2892:2936 */\n add\n /* \"#utility.yul\":3089:3091 */\n 0x20\n /* \"#utility.yul\":3077:3087 */\n dup6\n /* \"#utility.yul\":3074:3092 */\n lt\n /* \"#utility.yul\":3071:3120 */\n iszero\n tag_63\n jumpi\n /* \"#utility.yul\":3110:3118 */\n dup2\n /* \"#utility.yul\":3095:3118 */\n swap1\n pop\n /* \"#utility.yul\":3071:3120 */\ntag_63:\n /* \"#utility.yul\":3133:3213 */\n tag_64\n /* \"#utility.yul\":3189:3211 */\n tag_65\n /* \"#utility.yul\":3207:3210 */\n dup6\n /* \"#utility.yul\":3189:3211 */\n tag_10\n jump\t// in\ntag_65:\n /* \"#utility.yul\":3179:3187 */\n dup4\n /* \"#utility.yul\":3175:3212 */\n add\n /* \"#utility.yul\":3162:3173 */\n dup3\n /* \"#utility.yul\":3133:3213 */\n tag_20\n jump\t// in\ntag_64:\n /* \"#utility.yul\":2792:3223 */\n pop\n pop\n /* \"#utility.yul\":2777:3223 */\ntag_60:\n /* \"#utility.yul\":2687:3230 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3236:3353 */\ntag_22:\n /* \"#utility.yul\":3290:3298 */\n 0x00\n /* \"#utility.yul\":3340:3345 */\n dup3\n /* \"#utility.yul\":3334:3338 */\n dup3\n /* \"#utility.yul\":3330:3346 */\n shr\n /* \"#utility.yul\":3309:3346 */\n swap1\n pop\n /* \"#utility.yul\":3236:3353 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3359:3528 */\ntag_23:\n /* \"#utility.yul\":3403:3409 */\n 0x00\n /* \"#utility.yul\":3436:3487 */\n tag_68\n /* \"#utility.yul\":3484:3485 */\n 0x00\n /* \"#utility.yul\":3480:3486 */\n not\n /* \"#utility.yul\":3472:3477 */\n dup5\n /* \"#utility.yul\":3469:3470 */\n 0x08\n /* \"#utility.yul\":3465:3478 */\n mul\n /* \"#utility.yul\":3436:3487 */\n tag_22\n jump\t// in\ntag_68:\n /* \"#utility.yul\":3432:3488 */\n not\n /* \"#utility.yul\":3517:3521 */\n dup1\n /* \"#utility.yul\":3511:3515 */\n dup4\n /* \"#utility.yul\":3507:3522 */\n and\n /* \"#utility.yul\":3497:3522 */\n swap2\n pop\n /* \"#utility.yul\":3410:3528 */\n pop\n /* \"#utility.yul\":3359:3528 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3533:3828 */\ntag_24:\n /* \"#utility.yul\":3609:3613 */\n 0x00\n /* \"#utility.yul\":3755:3784 */\n tag_70\n /* \"#utility.yul\":3780:3783 */\n dup4\n /* \"#utility.yul\":3774:3778 */\n dup4\n /* \"#utility.yul\":3755:3784 */\n tag_23\n jump\t// in\ntag_70:\n /* \"#utility.yul\":3747:3784 */\n swap2\n pop\n /* \"#utility.yul\":3817:3820 */\n dup3\n /* \"#utility.yul\":3814:3815 */\n 0x02\n /* \"#utility.yul\":3810:3821 */\n mul\n /* \"#utility.yul\":3804:3808 */\n dup3\n /* \"#utility.yul\":3801:3822 */\n or\n /* \"#utility.yul\":3793:3822 */\n swap1\n pop\n /* \"#utility.yul\":3533:3828 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3833:5228 */\ntag_2:\n /* \"#utility.yul\":3950:3987 */\n tag_72\n /* \"#utility.yul\":3983:3986 */\n dup3\n /* \"#utility.yul\":3950:3987 */\n tag_5\n jump\t// in\ntag_72:\n /* \"#utility.yul\":4052:4070 */\n 0xffffffffffffffff\n /* \"#utility.yul\":4044:4050 */\n dup2\n /* \"#utility.yul\":4041:4071 */\n gt\n /* \"#utility.yul\":4038:4094 */\n iszero\n tag_73\n jumpi\n /* \"#utility.yul\":4074:4092 */\n tag_74\n tag_6\n jump\t// in\ntag_74:\n /* \"#utility.yul\":4038:4094 */\ntag_73:\n /* \"#utility.yul\":4118:4156 */\n tag_75\n /* \"#utility.yul\":4150:4154 */\n dup3\n /* \"#utility.yul\":4144:4155 */\n sload\n /* \"#utility.yul\":4118:4156 */\n tag_8\n jump\t// in\ntag_75:\n /* \"#utility.yul\":4203:4270 */\n tag_76\n /* \"#utility.yul\":4263:4269 */\n dup3\n /* \"#utility.yul\":4255:4261 */\n dup3\n /* \"#utility.yul\":4249:4253 */\n dup6\n /* \"#utility.yul\":4203:4270 */\n tag_21\n jump\t// in\ntag_76:\n /* \"#utility.yul\":4297:4298 */\n 0x00\n /* \"#utility.yul\":4321:4325 */\n 0x20\n /* \"#utility.yul\":4308:4325 */\n swap1\n pop\n /* \"#utility.yul\":4353:4355 */\n 0x1f\n /* \"#utility.yul\":4345:4351 */\n dup4\n /* \"#utility.yul\":4342:4356 */\n gt\n /* \"#utility.yul\":4370:4371 */\n 0x01\n /* \"#utility.yul\":4365:4983 */\n dup2\n eq\n tag_78\n jumpi\n /* \"#utility.yul\":5027:5028 */\n 0x00\n /* \"#utility.yul\":5044:5050 */\n dup5\n /* \"#utility.yul\":5041:5118 */\n iszero\n tag_79\n jumpi\n /* \"#utility.yul\":5093:5102 */\n dup3\n /* \"#utility.yul\":5088:5091 */\n dup8\n /* \"#utility.yul\":5084:5103 */\n add\n /* \"#utility.yul\":5078:5104 */\n mload\n /* \"#utility.yul\":5069:5104 */\n swap1\n pop\n /* \"#utility.yul\":5041:5118 */\ntag_79:\n /* \"#utility.yul\":5144:5211 */\n tag_80\n /* \"#utility.yul\":5204:5210 */\n dup6\n /* \"#utility.yul\":5197:5202 */\n dup3\n /* \"#utility.yul\":5144:5211 */\n tag_24\n jump\t// in\ntag_80:\n /* \"#utility.yul\":5138:5142 */\n dup7\n /* \"#utility.yul\":5131:5212 */\n sstore\n /* \"#utility.yul\":5000:5222 */\n pop\n /* \"#utility.yul\":4335:5222 */\n jump(tag_77)\n /* \"#utility.yul\":4365:4983 */\ntag_78:\n /* \"#utility.yul\":4417:4421 */\n 0x1f\n /* \"#utility.yul\":4413:4422 */\n not\n /* \"#utility.yul\":4405:4411 */\n dup5\n /* \"#utility.yul\":4401:4423 */\n and\n /* \"#utility.yul\":4451:4488 */\n tag_81\n /* \"#utility.yul\":4483:4487 */\n dup7\n /* \"#utility.yul\":4451:4488 */\n tag_9\n jump\t// in\ntag_81:\n /* \"#utility.yul\":4510:4511 */\n 0x00\n /* \"#utility.yul\":4524:4732 */\ntag_82:\n /* \"#utility.yul\":4538:4545 */\n dup3\n /* \"#utility.yul\":4535:4536 */\n dup2\n /* \"#utility.yul\":4532:4546 */\n lt\n /* \"#utility.yul\":4524:4732 */\n iszero\n tag_84\n jumpi\n /* \"#utility.yul\":4617:4626 */\n dup5\n /* \"#utility.yul\":4612:4615 */\n dup10\n /* \"#utility.yul\":4608:4627 */\n add\n /* \"#utility.yul\":4602:4628 */\n mload\n /* \"#utility.yul\":4594:4600 */\n dup3\n /* \"#utility.yul\":4587:4629 */\n sstore\n /* \"#utility.yul\":4668:4669 */\n 0x01\n /* \"#utility.yul\":4660:4666 */\n dup3\n /* \"#utility.yul\":4656:4670 */\n add\n /* \"#utility.yul\":4646:4670 */\n swap2\n pop\n /* \"#utility.yul\":4715:4717 */\n 0x20\n /* \"#utility.yul\":4704:4713 */\n dup6\n /* \"#utility.yul\":4700:4718 */\n add\n /* \"#utility.yul\":4687:4718 */\n swap5\n pop\n /* \"#utility.yul\":4561:4565 */\n 0x20\n /* \"#utility.yul\":4558:4559 */\n dup2\n /* \"#utility.yul\":4554:4566 */\n add\n /* \"#utility.yul\":4549:4566 */\n swap1\n pop\n /* \"#utility.yul\":4524:4732 */\n jump(tag_82)\ntag_84:\n /* \"#utility.yul\":4760:4766 */\n dup7\n /* \"#utility.yul\":4751:4758 */\n dup4\n /* \"#utility.yul\":4748:4767 */\n lt\n /* \"#utility.yul\":4745:4924 */\n iszero\n tag_85\n jumpi\n /* \"#utility.yul\":4818:4827 */\n dup5\n /* \"#utility.yul\":4813:4816 */\n dup10\n /* \"#utility.yul\":4809:4828 */\n add\n /* \"#utility.yul\":4803:4829 */\n mload\n /* \"#utility.yul\":4861:4909 */\n tag_86\n /* \"#utility.yul\":4903:4907 */\n 0x1f\n /* \"#utility.yul\":4895:4901 */\n dup10\n /* \"#utility.yul\":4891:4908 */\n and\n /* \"#utility.yul\":4880:4889 */\n dup3\n /* \"#utility.yul\":4861:4909 */\n tag_23\n jump\t// in\ntag_86:\n /* \"#utility.yul\":4853:4859 */\n dup4\n /* \"#utility.yul\":4846:4910 */\n sstore\n /* \"#utility.yul\":4768:4924 */\n pop\n /* \"#utility.yul\":4745:4924 */\ntag_85:\n /* \"#utility.yul\":4970:4971 */\n 0x01\n /* \"#utility.yul\":4966:4967 */\n 0x02\n /* \"#utility.yul\":4958:4964 */\n dup9\n /* \"#utility.yul\":4954:4968 */\n mul\n /* \"#utility.yul\":4950:4972 */\n add\n /* \"#utility.yul\":4944:4948 */\n dup9\n /* \"#utility.yul\":4937:4973 */\n sstore\n /* \"#utility.yul\":4372:4983 */\n pop\n pop\n pop\n /* \"#utility.yul\":4335:5222 */\ntag_77:\n pop\n /* \"#utility.yul\":3925:5228 */\n pop\n pop\n pop\n /* \"#utility.yul\":3833:5228 */\n pop\n pop\n jump\t// out\n /* \"SimpleStorage.sol\":119:852 contract SimpleStorage {... */\ntag_4:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"SimpleStorage.sol\":119:852 contract SimpleStorage {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x2e64cec1\n eq\n tag_3\n jumpi\n dup1\n 0x2ebce631\n eq\n tag_4\n jumpi\n dup1\n 0x6057361d\n eq\n tag_5\n jumpi\n dup1\n 0xb4a24f50\n eq\n tag_6\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"SimpleStorage.sol\":758:849 function retrieve() public view returns(uint256) {... */\n tag_3:\n tag_7\n tag_8\n jump\t// in\n tag_7:\n mload(0x40)\n tag_9\n swap2\n swap1\n tag_10\n jump\t// in\n tag_9:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"SimpleStorage.sol\":544:572 Person[] public listOfPeople */\n tag_4:\n tag_11\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_12\n swap2\n swap1\n tag_13\n jump\t// in\n tag_12:\n tag_14\n jump\t// in\n tag_11:\n mload(0x40)\n tag_15\n swap3\n swap2\n swap1\n tag_16\n jump\t// in\n tag_15:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"SimpleStorage.sol\":650:750 function store(uint256 _favoriteNumber) public {... */\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_13\n jump\t// in\n tag_18:\n tag_19\n jump\t// in\n tag_17:\n stop\n /* \"SimpleStorage.sol\":581:641 Person public pat = Person({favoriteNumber: 7, name: \"Pat\"}) */\n tag_6:\n tag_20\n tag_21\n jump\t// in\n tag_20:\n mload(0x40)\n tag_22\n swap3\n swap2\n swap1\n tag_16\n jump\t// in\n tag_22:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"SimpleStorage.sol\":758:849 function retrieve() public view returns(uint256) {... */\n tag_8:\n /* \"SimpleStorage.sol\":798:805 uint256 */\n 0x00\n /* \"SimpleStorage.sol\":825:841 myFavoriteNumber */\n dup1\n sload\n /* \"SimpleStorage.sol\":818:841 return myFavoriteNumber */\n swap1\n pop\n /* \"SimpleStorage.sol\":758:849 function retrieve() public view returns(uint256) {... */\n swap1\n jump\t// out\n /* \"SimpleStorage.sol\":544:572 Person[] public listOfPeople */\n tag_14:\n 0x02\n dup2\n dup2\n sload\n dup2\n lt\n tag_24\n jumpi\n 0x00\n dup1\n revert\n tag_24:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x02\n mul\n add\n 0x00\n swap2\n pop\n swap1\n pop\n dup1\n 0x00\n add\n sload\n swap1\n dup1\n 0x01\n add\n dup1\n sload\n tag_26\n swap1\n tag_27\n jump\t// in\n tag_26:\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n tag_28\n swap1\n tag_27\n jump\t// in\n tag_28:\n dup1\n iszero\n tag_29\n jumpi\n dup1\n 0x1f\n lt\n tag_30\n jumpi\n 0x0100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_29)\n tag_30:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_31:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x01\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_31\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_29:\n pop\n pop\n pop\n pop\n pop\n swap1\n pop\n dup3\n jump\t// out\n /* \"SimpleStorage.sol\":650:750 function store(uint256 _favoriteNumber) public {... */\n tag_19:\n /* \"SimpleStorage.sol\":727:742 _favoriteNumber */\n dup1\n /* \"SimpleStorage.sol\":708:724 myFavoriteNumber */\n 0x00\n /* \"SimpleStorage.sol\":708:742 myFavoriteNumber = _favoriteNumber */\n dup2\n swap1\n sstore\n pop\n /* \"SimpleStorage.sol\":650:750 function store(uint256 _favoriteNumber) public {... */\n pop\n jump\t// out\n /* \"SimpleStorage.sol\":581:641 Person public pat = Person({favoriteNumber: 7, name: \"Pat\"}) */\n tag_21:\n 0x03\n dup1\n 0x00\n add\n sload\n swap1\n dup1\n 0x01\n add\n dup1\n sload\n tag_33\n swap1\n tag_27\n jump\t// in\n tag_33:\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n tag_34\n swap1\n tag_27\n jump\t// in\n tag_34:\n dup1\n iszero\n tag_35\n jumpi\n dup1\n 0x1f\n lt\n tag_36\n jumpi\n 0x0100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_35)\n tag_36:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_37:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x01\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_37\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_35:\n pop\n pop\n pop\n pop\n pop\n swap1\n pop\n dup3\n jump\t// out\n /* \"#utility.yul\":7:84 */\n tag_38:\n /* \"#utility.yul\":44:51 */\n 0x00\n /* \"#utility.yul\":73:78 */\n dup2\n /* \"#utility.yul\":62:78 */\n swap1\n pop\n /* \"#utility.yul\":7:84 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":90:208 */\n tag_39:\n /* \"#utility.yul\":177:201 */\n tag_54\n /* \"#utility.yul\":195:200 */\n dup2\n /* \"#utility.yul\":177:201 */\n tag_38\n jump\t// in\n tag_54:\n /* \"#utility.yul\":172:175 */\n dup3\n /* \"#utility.yul\":165:202 */\n mstore\n /* \"#utility.yul\":90:208 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":214:436 */\n tag_10:\n /* \"#utility.yul\":307:311 */\n 0x00\n /* \"#utility.yul\":345:347 */\n 0x20\n /* \"#utility.yul\":334:343 */\n dup3\n /* \"#utility.yul\":330:348 */\n add\n /* \"#utility.yul\":322:348 */\n swap1\n pop\n /* \"#utility.yul\":358:429 */\n tag_56\n /* \"#utility.yul\":426:427 */\n 0x00\n /* \"#utility.yul\":415:424 */\n dup4\n /* \"#utility.yul\":411:428 */\n add\n /* \"#utility.yul\":402:408 */\n dup5\n /* \"#utility.yul\":358:429 */\n tag_39\n jump\t// in\n tag_56:\n /* \"#utility.yul\":214:436 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":523:640 */\n tag_41:\n /* \"#utility.yul\":632:633 */\n 0x00\n /* \"#utility.yul\":629:630 */\n dup1\n /* \"#utility.yul\":622:634 */\n revert\n /* \"#utility.yul\":769:891 */\n tag_43:\n /* \"#utility.yul\":842:866 */\n tag_61\n /* \"#utility.yul\":860:865 */\n dup2\n /* \"#utility.yul\":842:866 */\n tag_38\n jump\t// in\n tag_61:\n /* \"#utility.yul\":835:840 */\n dup2\n /* \"#utility.yul\":832:867 */\n eq\n /* \"#utility.yul\":822:885 */\n tag_62\n jumpi\n /* \"#utility.yul\":881:882 */\n 0x00\n /* \"#utility.yul\":878:879 */\n dup1\n /* \"#utility.yul\":871:883 */\n revert\n /* \"#utility.yul\":822:885 */\n tag_62:\n /* \"#utility.yul\":769:891 */\n pop\n jump\t// out\n /* \"#utility.yul\":897:1036 */\n tag_44:\n /* \"#utility.yul\":943:948 */\n 0x00\n /* \"#utility.yul\":981:987 */\n dup2\n /* \"#utility.yul\":968:988 */\n calldataload\n /* \"#utility.yul\":959:988 */\n swap1\n pop\n /* \"#utility.yul\":997:1030 */\n tag_64\n /* \"#utility.yul\":1024:1029 */\n dup2\n /* \"#utility.yul\":997:1030 */\n tag_43\n jump\t// in\n tag_64:\n /* \"#utility.yul\":897:1036 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1042:1371 */\n tag_13:\n /* \"#utility.yul\":1101:1107 */\n 0x00\n /* \"#utility.yul\":1150:1152 */\n 0x20\n /* \"#utility.yul\":1138:1147 */\n dup3\n /* \"#utility.yul\":1129:1136 */\n dup5\n /* \"#utility.yul\":1125:1148 */\n sub\n /* \"#utility.yul\":1121:1153 */\n slt\n /* \"#utility.yul\":1118:1237 */\n iszero\n tag_66\n jumpi\n /* \"#utility.yul\":1156:1235 */\n tag_67\n tag_41\n jump\t// in\n tag_67:\n /* \"#utility.yul\":1118:1237 */\n tag_66:\n /* \"#utility.yul\":1276:1277 */\n 0x00\n /* \"#utility.yul\":1301:1354 */\n tag_68\n /* \"#utility.yul\":1346:1353 */\n dup5\n /* \"#utility.yul\":1337:1343 */\n dup3\n /* \"#utility.yul\":1326:1335 */\n dup6\n /* \"#utility.yul\":1322:1344 */\n add\n /* \"#utility.yul\":1301:1354 */\n tag_44\n jump\t// in\n tag_68:\n /* \"#utility.yul\":1291:1354 */\n swap2\n pop\n /* \"#utility.yul\":1247:1364 */\n pop\n /* \"#utility.yul\":1042:1371 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1377:1476 */\n tag_45:\n /* \"#utility.yul\":1429:1435 */\n 0x00\n /* \"#utility.yul\":1463:1468 */\n dup2\n /* \"#utility.yul\":1457:1469 */\n mload\n /* \"#utility.yul\":1447:1469 */\n swap1\n pop\n /* \"#utility.yul\":1377:1476 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1482:1651 */\n tag_46:\n /* \"#utility.yul\":1566:1577 */\n 0x00\n /* \"#utility.yul\":1600:1606 */\n dup3\n /* \"#utility.yul\":1595:1598 */\n dup3\n /* \"#utility.yul\":1588:1607 */\n mstore\n /* \"#utility.yul\":1640:1644 */\n 0x20\n /* \"#utility.yul\":1635:1638 */\n dup3\n /* \"#utility.yul\":1631:1645 */\n add\n /* \"#utility.yul\":1616:1645 */\n swap1\n pop\n /* \"#utility.yul\":1482:1651 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1657:1903 */\n tag_47:\n /* \"#utility.yul\":1738:1739 */\n 0x00\n /* \"#utility.yul\":1748:1861 */\n tag_72:\n /* \"#utility.yul\":1762:1768 */\n dup4\n /* \"#utility.yul\":1759:1760 */\n dup2\n /* \"#utility.yul\":1756:1769 */\n lt\n /* \"#utility.yul\":1748:1861 */\n iszero\n tag_74\n jumpi\n /* \"#utility.yul\":1847:1848 */\n dup1\n /* \"#utility.yul\":1842:1845 */\n dup3\n /* \"#utility.yul\":1838:1849 */\n add\n /* \"#utility.yul\":1832:1850 */\n mload\n /* \"#utility.yul\":1828:1829 */\n dup2\n /* \"#utility.yul\":1823:1826 */\n dup5\n /* \"#utility.yul\":1819:1830 */\n add\n /* \"#utility.yul\":1812:1851 */\n mstore\n /* \"#utility.yul\":1784:1786 */\n 0x20\n /* \"#utility.yul\":1781:1782 */\n dup2\n /* \"#utility.yul\":1777:1787 */\n add\n /* \"#utility.yul\":1772:1787 */\n swap1\n pop\n /* \"#utility.yul\":1748:1861 */\n jump(tag_72)\n tag_74:\n /* \"#utility.yul\":1895:1896 */\n 0x00\n /* \"#utility.yul\":1886:1892 */\n dup5\n /* \"#utility.yul\":1881:1884 */\n dup5\n /* \"#utility.yul\":1877:1893 */\n add\n /* \"#utility.yul\":1870:1897 */\n mstore\n /* \"#utility.yul\":1719:1903 */\n pop\n /* \"#utility.yul\":1657:1903 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1909:2011 */\n tag_48:\n /* \"#utility.yul\":1950:1956 */\n 0x00\n /* \"#utility.yul\":2001:2003 */\n 0x1f\n /* \"#utility.yul\":1997:2004 */\n not\n /* \"#utility.yul\":1992:1994 */\n 0x1f\n /* \"#utility.yul\":1985:1990 */\n dup4\n /* \"#utility.yul\":1981:1995 */\n add\n /* \"#utility.yul\":1977:2005 */\n and\n /* \"#utility.yul\":1967:2005 */\n swap1\n pop\n /* \"#utility.yul\":1909:2011 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2017:2394 */\n tag_49:\n /* \"#utility.yul\":2105:2108 */\n 0x00\n /* \"#utility.yul\":2133:2172 */\n tag_77\n /* \"#utility.yul\":2166:2171 */\n dup3\n /* \"#utility.yul\":2133:2172 */\n tag_45\n jump\t// in\n tag_77:\n /* \"#utility.yul\":2188:2259 */\n tag_78\n /* \"#utility.yul\":2252:2258 */\n dup2\n /* \"#utility.yul\":2247:2250 */\n dup6\n /* \"#utility.yul\":2188:2259 */\n tag_46\n jump\t// in\n tag_78:\n /* \"#utility.yul\":2181:2259 */\n swap4\n pop\n /* \"#utility.yul\":2268:2333 */\n tag_79\n /* \"#utility.yul\":2326:2332 */\n dup2\n /* \"#utility.yul\":2321:2324 */\n dup6\n /* \"#utility.yul\":2314:2318 */\n 0x20\n /* \"#utility.yul\":2307:2312 */\n dup7\n /* \"#utility.yul\":2303:2319 */\n add\n /* \"#utility.yul\":2268:2333 */\n tag_47\n jump\t// in\n tag_79:\n /* \"#utility.yul\":2358:2387 */\n tag_80\n /* \"#utility.yul\":2380:2386 */\n dup2\n /* \"#utility.yul\":2358:2387 */\n tag_48\n jump\t// in\n tag_80:\n /* \"#utility.yul\":2353:2356 */\n dup5\n /* \"#utility.yul\":2349:2388 */\n add\n /* \"#utility.yul\":2342:2388 */\n swap2\n pop\n /* \"#utility.yul\":2109:2394 */\n pop\n /* \"#utility.yul\":2017:2394 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2400:2823 */\n tag_16:\n /* \"#utility.yul\":2541:2545 */\n 0x00\n /* \"#utility.yul\":2579:2581 */\n 0x40\n /* \"#utility.yul\":2568:2577 */\n dup3\n /* \"#utility.yul\":2564:2582 */\n add\n /* \"#utility.yul\":2556:2582 */\n swap1\n pop\n /* \"#utility.yul\":2592:2663 */\n tag_82\n /* \"#utility.yul\":2660:2661 */\n 0x00\n /* \"#utility.yul\":2649:2658 */\n dup4\n /* \"#utility.yul\":2645:2662 */\n add\n /* \"#utility.yul\":2636:2642 */\n dup6\n /* \"#utility.yul\":2592:2663 */\n tag_39\n jump\t// in\n tag_82:\n /* \"#utility.yul\":2710:2719 */\n dup2\n /* \"#utility.yul\":2704:2708 */\n dup2\n /* \"#utility.yul\":2700:2720 */\n sub\n /* \"#utility.yul\":2695:2697 */\n 0x20\n /* \"#utility.yul\":2684:2693 */\n dup4\n /* \"#utility.yul\":2680:2698 */\n add\n /* \"#utility.yul\":2673:2721 */\n mstore\n /* \"#utility.yul\":2738:2816 */\n tag_83\n /* \"#utility.yul\":2811:2815 */\n dup2\n /* \"#utility.yul\":2802:2808 */\n dup5\n /* \"#utility.yul\":2738:2816 */\n tag_49\n jump\t// in\n tag_83:\n /* \"#utility.yul\":2730:2816 */\n swap1\n pop\n /* \"#utility.yul\":2400:2823 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2829:3009 */\n tag_50:\n /* \"#utility.yul\":2877:2954 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":2874:2875 */\n 0x00\n /* \"#utility.yul\":2867:2955 */\n mstore\n /* \"#utility.yul\":2974:2978 */\n 0x22\n /* \"#utility.yul\":2971:2972 */\n 0x04\n /* \"#utility.yul\":2964:2979 */\n mstore\n /* \"#utility.yul\":2998:3002 */\n 0x24\n /* \"#utility.yul\":2995:2996 */\n 0x00\n /* \"#utility.yul\":2988:3003 */\n revert\n /* \"#utility.yul\":3015:3335 */\n tag_27:\n /* \"#utility.yul\":3059:3065 */\n 0x00\n /* \"#utility.yul\":3096:3097 */\n 0x02\n /* \"#utility.yul\":3090:3094 */\n dup3\n /* \"#utility.yul\":3086:3098 */\n div\n /* \"#utility.yul\":3076:3098 */\n swap1\n pop\n /* \"#utility.yul\":3143:3144 */\n 0x01\n /* \"#utility.yul\":3137:3141 */\n dup3\n /* \"#utility.yul\":3133:3145 */\n and\n /* \"#utility.yul\":3164:3182 */\n dup1\n /* \"#utility.yul\":3154:3235 */\n tag_86\n jumpi\n /* \"#utility.yul\":3220:3224 */\n 0x7f\n /* \"#utility.yul\":3212:3218 */\n dup3\n /* \"#utility.yul\":3208:3225 */\n and\n /* \"#utility.yul\":3198:3225 */\n swap2\n pop\n /* \"#utility.yul\":3154:3235 */\n tag_86:\n /* \"#utility.yul\":3282:3284 */\n 0x20\n /* \"#utility.yul\":3274:3280 */\n dup3\n /* \"#utility.yul\":3271:3285 */\n lt\n /* \"#utility.yul\":3251:3269 */\n dup2\n /* \"#utility.yul\":3248:3286 */\n sub\n /* \"#utility.yul\":3245:3329 */\n tag_87\n jumpi\n /* \"#utility.yul\":3301:3319 */\n tag_88\n tag_50\n jump\t// in\n tag_88:\n /* \"#utility.yul\":3245:3329 */\n tag_87:\n /* \"#utility.yul\":3066:3335 */\n pop\n /* \"#utility.yul\":3015:3335 */\n swap2\n swap1\n pop\n jump\t// out\n\n auxdata: 0xa26469706673582212203ed39682d53db41c648a911d46a36a61bc1605cb9879e7305a4968a03c540d5664736f6c63430008130033\n}\n",
"bytecode": {
"functionDebugData": {
"array_dataslot_t_string_storage": {
"entryPoint": 295,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 137,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 616,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_uint256": {
"entryPoint": 431,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 577,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 451,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 771,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 316,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 242,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 741,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 441,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 709,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 195,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 148,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 491,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 332,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 696,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 549,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 345,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 501,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 544,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:5231:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "140:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "157:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "160:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "150:6:1"
},
"nodeType": "YulFunctionCall",
"src": "150:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "150:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "254:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "257:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "247:6:1"
},
"nodeType": "YulFunctionCall",
"src": "247:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "247:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "278:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "281:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "271:6:1"
},
"nodeType": "YulFunctionCall",
"src": "271:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "271:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "112:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "326:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "343:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "346:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "336:6:1"
},
"nodeType": "YulFunctionCall",
"src": "336:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "336:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "440:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "443:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
"nodeType": "YulFunctionCall",
"src": "433:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "433:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "464:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "467:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "457:6:1"
},
"nodeType": "YulFunctionCall",
"src": "457:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "457:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "298:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "535:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "545:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "559:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "565:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "555:3:1"
},
"nodeType": "YulFunctionCall",
"src": "555:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "545:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "576:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "606:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "612:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "602:3:1"
},
"nodeType": "YulFunctionCall",
"src": "602:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "580:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "653:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "667:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "681:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "689:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "677:3:1"
},
"nodeType": "YulFunctionCall",
"src": "677:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "667:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "633:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "626:6:1"
},
"nodeType": "YulFunctionCall",
"src": "626:26:1"
},
"nodeType": "YulIf",
"src": "623:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "770:16:1"
},
"nodeType": "YulFunctionCall",
"src": "770:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "770:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "720:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "743:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "751:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "740:2:1"
},
"nodeType": "YulFunctionCall",
"src": "740:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "717:2:1"
},
"nodeType": "YulFunctionCall",
"src": "717:38:1"
},
"nodeType": "YulIf",
"src": "714:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "519:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "528:6:1",
"type": ""
}
],
"src": "484:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "864:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "874:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "882:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "874:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "902:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "905:3:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "895:6:1"
},
"nodeType": "YulFunctionCall",
"src": "895:14:1"
},
"nodeType": "YulExpressionStatement",
"src": "895:14:1"
},
{
"nodeType": "YulAssignment",
"src": "918:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "936:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "939:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nodeType": "YulIdentifier",
"src": "926:9:1"
},
"nodeType": "YulFunctionCall",
"src": "926:18:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "918:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "851:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "859:4:1",
"type": ""
}
],
"src": "810:141:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1001:49:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1011:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1029:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1036:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1025:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1025:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1041:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "1021:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1021:23:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1011:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "984:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "994:6:1",
"type": ""
}
],
"src": "957:93:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1109:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1119:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "1144:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1150:5:1"
}
],
"functionName": {
"name": "shl",
"nodeType": "YulIdentifier",
"src": "1140:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1140:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "1119:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "1084:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1090:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "1100:8:1",
"type": ""
}
],
"src": "1056:107:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1245:317:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1255:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nodeType": "YulIdentifier",
"src": "1276:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1288:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "1272:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1272:18:1"
},
"variables": [
{
"name": "shiftBits",
"nodeType": "YulTypedName",
"src": "1259:9:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "1299:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "1330:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1341:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "1311:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1311:97:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "1303:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1417:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "1448:9:1"
},
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1459:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "1429:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1429:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1417:8:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1477:30:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1490:5:1"
},
{
"arguments": [
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "1501:4:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1497:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1497:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1486:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1486:21:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1477:5:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1516:40:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1529:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1540:8:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "1550:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1536:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1536:19:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "1526:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1526:30:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1516:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1206:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nodeType": "YulTypedName",
"src": "1213:10:1",
"type": ""
},
{
"name": "toInsert",
"nodeType": "YulTypedName",
"src": "1225:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1238:6:1",
"type": ""
}
],
"src": "1169:393:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1613:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1623:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1634:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1623:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1595:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1605:7:1",
"type": ""
}
],
"src": "1568:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1683:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1693:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1700:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1693:3:1"
}
]
}
]
},
"name": "identity",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1669:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1679:3:1",
"type": ""
}
],
"src": "1651:60:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1777:82:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1787:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1845:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1827:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1827:24:1"
}
],
"functionName": {
"name": "identity",
"nodeType": "YulIdentifier",
"src": "1818:8:1"
},
"nodeType": "YulFunctionCall",
"src": "1818:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1800:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1800:53:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "1787:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1757:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "1767:9:1",
"type": ""
}
],
"src": "1717:142:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1912:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1922:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1929:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1922:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1898:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1908:3:1",
"type": ""
}
],
"src": "1865:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2022:193:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2032:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nodeType": "YulIdentifier",
"src": "2087:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "2056:30:1"
},
"nodeType": "YulFunctionCall",
"src": "2056:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nodeType": "YulTypedName",
"src": "2036:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2111:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2151:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "2145:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2145:11:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2158:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nodeType": "YulIdentifier",
"src": "2190:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nodeType": "YulIdentifier",
"src": "2166:23:1"
},
"nodeType": "YulFunctionCall",
"src": "2166:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nodeType": "YulIdentifier",
"src": "2117:27:1"
},
"nodeType": "YulFunctionCall",
"src": "2117:91:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "2104:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2104:105:1"
},
"nodeType": "YulExpressionStatement",
"src": "2104:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "1999:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2005:6:1",
"type": ""
},
{
"name": "value_0",
"nodeType": "YulTypedName",
"src": "2013:7:1",
"type": ""
}
],
"src": "1946:269:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2270:24:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2280:8:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2287:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "2280:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "2266:3:1",
"type": ""
}
],
"src": "2221:73:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2353:136:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2363:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulIdentifier",
"src": "2377:30:1"
},
"nodeType": "YulFunctionCall",
"src": "2377:32:1"
},
"variables": [
{
"name": "zero_0",
"nodeType": "YulTypedName",
"src": "2367:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2462:4:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2468:6:1"
},
{
"name": "zero_0",
"nodeType": "YulIdentifier",
"src": "2476:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "2418:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2418:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "2418:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "2339:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2345:6:1",
"type": ""
}
],
"src": "2300:189:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2545:136:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2612:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2656:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2663:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulIdentifier",
"src": "2626:29:1"
},
"nodeType": "YulFunctionCall",
"src": "2626:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "2626:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2565:5:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2572:3:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2562:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2562:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2577:26:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2579:22:1",
"value": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2592:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2599:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2588:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2588:13:1"
},
"variableNames": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2579:5:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2559:2:1",
"statements": []
},
"src": "2555:120:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nodeType": "YulTypedName",
"src": "2533:5:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2540:3:1",
"type": ""
}
],
"src": "2495:186:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2766:464:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2792:431:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2806:54:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2854:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "2822:31:1"
},
"nodeType": "YulFunctionCall",
"src": "2822:38:1"
},
"variables": [
{
"name": "dataArea",
"nodeType": "YulTypedName",
"src": "2810:8:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2873:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "2896:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "2924:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "2906:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2906:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2892:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2892:44:1"
},
"variables": [
{
"name": "deleteStart",
"nodeType": "YulTypedName",
"src": "2877:11:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3093:27:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3095:23:1",
"value": {
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "3110:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "3095:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "3077:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3089:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3074:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3074:18:1"
},
"nodeType": "YulIf",
"src": "3071:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "3162:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "3179:8:1"
},
{
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3207:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "3189:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3189:22:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3175:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3175:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulIdentifier",
"src": "3133:28:1"
},
"nodeType": "YulFunctionCall",
"src": "3133:80:1"
},
"nodeType": "YulExpressionStatement",
"src": "3133:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "2783:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2788:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2780:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2780:11:1"
},
"nodeType": "YulIf",
"src": "2777:446:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "2742:5:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "2749:3:1",
"type": ""
},
{
"name": "startIndex",
"nodeType": "YulTypedName",
"src": "2754:10:1",
"type": ""
}
],
"src": "2687:543:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3299:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3309:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "3334:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3340:5:1"
}
],
"functionName": {
"name": "shr",
"nodeType": "YulIdentifier",
"src": "3330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3330:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "3309:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "3274:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3280:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "3290:8:1",
"type": ""
}
],
"src": "3236:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3410:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3420:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3469:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nodeType": "YulIdentifier",
"src": "3472:5:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "3465:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3465:13:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3484:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3480:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3480:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulIdentifier",
"src": "3436:28:1"
},
"nodeType": "YulFunctionCall",
"src": "3436:51:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3432:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3432:56:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "3424:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3497:25:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3511:4:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "3517:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3507:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3507:15:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "3497:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3387:4:1",
"type": ""
},
{
"name": "bytes",
"nodeType": "YulTypedName",
"src": "3393:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "3403:6:1",
"type": ""
}
],
"src": "3359:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3614:214:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3747:37:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3774:4:1"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3780:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "3755:18:1"
},
"nodeType": "YulFunctionCall",
"src": "3755:29:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3747:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3793:29:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3804:4:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3814:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3817:3:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "3810:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3810:11:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "3801:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3801:21:1"
},
"variableNames": [
{
"name": "used",
"nodeType": "YulIdentifier",
"src": "3793:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3595:4:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "3601:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nodeType": "YulTypedName",
"src": "3609:4:1",
"type": ""
}
],
"src": "3533:295:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3925:1303:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3936:51:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "3983:3:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3950:32:1"
},
"nodeType": "YulFunctionCall",
"src": "3950:37:1"
},
"variables": [
{
"name": "newLen",
"nodeType": "YulTypedName",
"src": "3940:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4072:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "4074:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4074:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4074:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4044:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4052:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4041:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4041:30:1"
},
"nodeType": "YulIf",
"src": "4038:56:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "4104:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4150:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "4144:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4144:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nodeType": "YulIdentifier",
"src": "4118:25:1"
},
"nodeType": "YulFunctionCall",
"src": "4118:38:1"
},
"variables": [
{
"name": "oldLen",
"nodeType": "YulTypedName",
"src": "4108:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4249:4:1"
},
{
"name": "oldLen",
"nodeType": "YulIdentifier",
"src": "4255:6:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4263:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulIdentifier",
"src": "4203:45:1"
},
"nodeType": "YulFunctionCall",
"src": "4203:67:1"
},
"nodeType": "YulExpressionStatement",
"src": "4203:67:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "4280:18:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4297:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nodeType": "YulTypedName",
"src": "4284:9:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4308:17:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4321:4:1",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4308:9:1"
}
]
},
{
"cases": [
{
"body": {
"nodeType": "YulBlock",
"src": "4372:611:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4386:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4405:6:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4417:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "4413:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4413:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4401:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4401:22:1"
},
"variables": [
{
"name": "loopEnd",
"nodeType": "YulTypedName",
"src": "4390:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4437:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4483:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "4451:31:1"
},
"nodeType": "YulFunctionCall",
"src": "4451:37:1"
},
"variables": [
{
"name": "dstPtr",
"nodeType": "YulTypedName",
"src": "4441:6:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4501:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4510:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "4505:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4569:163:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4594:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4612:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4617:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4608:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4608:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4602:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4602:26:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4587:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4587:42:1"
},
"nodeType": "YulExpressionStatement",
"src": "4587:42:1"
},
{
"nodeType": "YulAssignment",
"src": "4646:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4660:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4668:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4656:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4656:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4646:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4687:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4704:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4715:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4700:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4700:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4687:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4535:1:1"
},
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "4538:7:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4532:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4532:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "4547:21:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4549:17:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4558:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4561:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4554:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4554:12:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4549:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "4528:3:1",
"statements": []
},
"src": "4524:208:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4768:156:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4786:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4813:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4818:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4809:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4809:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4803:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4803:26:1"
},
"variables": [
{
"name": "lastValue",
"nodeType": "YulTypedName",
"src": "4790:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4853:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nodeType": "YulIdentifier",
"src": "4880:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4895:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4903:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4891:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4891:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "4861:18:1"
},
"nodeType": "YulFunctionCall",
"src": "4861:48:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4846:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4846:64:1"
},
"nodeType": "YulExpressionStatement",
"src": "4846:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "4751:7:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4760:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4748:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4748:19:1"
},
"nodeType": "YulIf",
"src": "4745:179:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4944:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4958:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4966:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "4954:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4954:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4970:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4950:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4950:22:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4937:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4937:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "4937:36:1"
}
]
},
"nodeType": "YulCase",
"src": "4365:618:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4370:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nodeType": "YulBlock",
"src": "5000:222:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5014:14:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5027:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5018:5:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5051:67:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5069:35:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5088:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "5093:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5084:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5084:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5078:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5078:26:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5069:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "5044:6:1"
},
"nodeType": "YulIf",
"src": "5041:77:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "5138:4:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5197:5:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "5204:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulIdentifier",
"src": "5144:52:1"
},
"nodeType": "YulFunctionCall",
"src": "5144:67:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "5131:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5131:81:1"
},
"nodeType": "YulExpressionStatement",
"src": "5131:81:1"
}
]
},
"nodeType": "YulCase",
"src": "4992:230:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4345:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4353:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4342:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4342:14:1"
},
"nodeType": "YulSwitch",
"src": "4335:887:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "3914:4:1",
"type": ""
},
{
"name": "src",
"nodeType": "YulTypedName",
"src": "3920:3:1",
"type": ""
}
],
"src": "3833:1395:1"
}
]
},
"contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "60806040526040518060400160405280600781526020016040518060400160405280600381526020017f5061740000000000000000000000000000000000000000000000000000000000815250815250600360008201518160000155602082015181600101908162000072919062000303565b5050503480156200008257600080fd5b50620003ea565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200010b57607f821691505b602082108103620001215762000120620000c3565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200018b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200014c565b6200019786836200014c565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620001e4620001de620001d884620001af565b620001b9565b620001af565b9050919050565b6000819050919050565b6200020083620001c3565b620002186200020f82620001eb565b84845462000159565b825550505050565b600090565b6200022f62000220565b6200023c818484620001f5565b505050565b5b8181101562000264576200025860008262000225565b60018101905062000242565b5050565b601f821115620002b3576200027d8162000127565b62000288846200013c565b8101602085101562000298578190505b620002b0620002a7856200013c565b83018262000241565b50505b505050565b600082821c905092915050565b6000620002d860001984600802620002b8565b1980831691505092915050565b6000620002f38383620002c5565b9150826002028217905092915050565b6200030e8262000089565b67ffffffffffffffff8111156200032a576200032962000094565b5b620003368254620000f2565b6200034382828562000268565b600060209050601f8311600181146200037b576000841562000366578287015190505b620003728582620002e5565b865550620003e2565b601f1984166200038b8662000127565b60005b82811015620003b5578489015182556001820191506020850194506020810190506200038e565b86831015620003d55784890151620003d1601f891682620002c5565b8355505b6001600288020188555050505b505050505050565b61042c80620003fa6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632e64cec1146100515780632ebce6311461006f5780636057361d146100a0578063b4a24f50146100bc575b600080fd5b6100596100db565b604051610066919061025d565b60405180910390f35b610089600480360381019061008491906102a9565b6100e4565b604051610097929190610366565b60405180910390f35b6100ba60048036038101906100b591906102a9565b6101a0565b005b6100c46101aa565b6040516100d2929190610366565b60405180910390f35b60008054905090565b600281815481106100f457600080fd5b906000526020600020906002020160009150905080600001549080600101805461011d906103c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610149906103c5565b80156101965780601f1061016b57610100808354040283529160200191610196565b820191906000526020600020905b81548152906001019060200180831161017957829003601f168201915b5050505050905082565b8060008190555050565b60038060000154908060010180546101c1906103c5565b80601f01602080910402602001604051908101604052809291908181526020018280546101ed906103c5565b801561023a5780601f1061020f5761010080835404028352916020019161023a565b820191906000526020600020905b81548152906001019060200180831161021d57829003601f168201915b5050505050905082565b6000819050919050565b61025781610244565b82525050565b6000602082019050610272600083018461024e565b92915050565b600080fd5b61028681610244565b811461029157600080fd5b50565b6000813590506102a38161027d565b92915050565b6000602082840312156102bf576102be610278565b5b60006102cd84828501610294565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156103105780820151818401526020810190506102f5565b60008484015250505050565b6000601f19601f8301169050919050565b6000610338826102d6565b61034281856102e1565b93506103528185602086016102f2565b61035b8161031c565b840191505092915050565b600060408201905061037b600083018561024e565b818103602083015261038d818461032d565b90509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806103dd57607f821691505b6020821081036103f0576103ef610396565b5b5091905056fea26469706673582212203ed39682d53db41c648a911d46a36a61bc1605cb9879e7305a4968a03c540d5664736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x5061740000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE POP PUSH1 0x3 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP2 PUSH3 0x72 SWAP2 SWAP1 PUSH3 0x303 JUMP JUMPDEST POP POP POP CALLVALUE DUP1 ISZERO PUSH3 0x82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x3EA JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x10B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x121 JUMPI PUSH3 0x120 PUSH3 0xC3 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x18B PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x14C JUMP JUMPDEST PUSH3 0x197 DUP7 DUP4 PUSH3 0x14C JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x1E4 PUSH3 0x1DE PUSH3 0x1D8 DUP5 PUSH3 0x1AF JUMP JUMPDEST PUSH3 0x1B9 JUMP JUMPDEST PUSH3 0x1AF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x200 DUP4 PUSH3 0x1C3 JUMP JUMPDEST PUSH3 0x218 PUSH3 0x20F DUP3 PUSH3 0x1EB JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x159 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x22F PUSH3 0x220 JUMP JUMPDEST PUSH3 0x23C DUP2 DUP5 DUP5 PUSH3 0x1F5 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x264 JUMPI PUSH3 0x258 PUSH1 0x0 DUP3 PUSH3 0x225 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x242 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x2B3 JUMPI PUSH3 0x27D DUP2 PUSH3 0x127 JUMP JUMPDEST PUSH3 0x288 DUP5 PUSH3 0x13C JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x298 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x2B0 PUSH3 0x2A7 DUP6 PUSH3 0x13C JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x241 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2D8 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x2B8 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2F3 DUP4 DUP4 PUSH3 0x2C5 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x30E DUP3 PUSH3 0x89 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x32A JUMPI PUSH3 0x329 PUSH3 0x94 JUMP JUMPDEST JUMPDEST PUSH3 0x336 DUP3 SLOAD PUSH3 0xF2 JUMP JUMPDEST PUSH3 0x343 DUP3 DUP3 DUP6 PUSH3 0x268 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x37B JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x366 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x372 DUP6 DUP3 PUSH3 0x2E5 JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x3E2 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x38B DUP7 PUSH3 0x127 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x3B5 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x38E JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x3D5 JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x3D1 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x2C5 JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x42C DUP1 PUSH3 0x3FA 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 0x2E64CEC1 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x2EBCE631 EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0xA0 JUMPI DUP1 PUSH4 0xB4A24F50 EQ PUSH2 0xBC JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0xDB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x25D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x89 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x84 SWAP2 SWAP1 PUSH2 0x2A9 JUMP JUMPDEST PUSH2 0xE4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x97 SWAP3 SWAP2 SWAP1 PUSH2 0x366 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB5 SWAP2 SWAP1 PUSH2 0x2A9 JUMP JUMPDEST PUSH2 0x1A0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC4 PUSH2 0x1AA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD2 SWAP3 SWAP2 SWAP1 PUSH2 0x366 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x11D SWAP1 PUSH2 0x3C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x149 SWAP1 PUSH2 0x3C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x196 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x16B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x196 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x179 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x3 DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x1C1 SWAP1 PUSH2 0x3C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1ED SWAP1 PUSH2 0x3C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x23A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x20F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x23A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x21D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x257 DUP2 PUSH2 0x244 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x272 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x24E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x286 DUP2 PUSH2 0x244 JUMP JUMPDEST DUP2 EQ PUSH2 0x291 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2A3 DUP2 PUSH2 0x27D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BF JUMPI PUSH2 0x2BE PUSH2 0x278 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2CD DUP5 DUP3 DUP6 ADD PUSH2 0x294 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x310 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2F5 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x338 DUP3 PUSH2 0x2D6 JUMP JUMPDEST PUSH2 0x342 DUP2 DUP6 PUSH2 0x2E1 JUMP JUMPDEST SWAP4 POP PUSH2 0x352 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2F2 JUMP JUMPDEST PUSH2 0x35B DUP2 PUSH2 0x31C JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x37B PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x24E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x38D DUP2 DUP5 PUSH2 0x32D JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x3DD JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x3F0 JUMPI PUSH2 0x3EF PUSH2 0x396 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 RETURNDATACOPY 0xD3 SWAP7 DUP3 0xD5 RETURNDATASIZE 0xB4 SHR PUSH5 0x8A911D46A3 PUSH11 0x61BC1605CB9879E7305A49 PUSH9 0xA03C540D5664736F6C PUSH4 0x43000813 STOP CALLER ",
"sourceMap": "119:733:0:-:0;;;601:40;;;;;;;;625:1;601:40;;;;;;;;;;;;;;;;;;;;;;;;581:60;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;119:733;;;;;;;;;;;;7:99:1;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:180::-;160:77;157:1;150:88;257:4;254:1;247:15;281:4;278:1;271:15;298:180;346:77;343:1;336:88;443:4;440:1;433:15;467:4;464:1;457:15;484:320;528:6;565:1;559:4;555:12;545:22;;612:1;606:4;602:12;633:18;623:81;;689:4;681:6;677:17;667:27;;623:81;751:2;743:6;740:14;720:18;717:38;714:84;;770:18;;:::i;:::-;714:84;535:269;484:320;;;:::o;810:141::-;859:4;882:3;874:11;;905:3;902:1;895:14;939:4;936:1;926:18;918:26;;810:141;;;:::o;957:93::-;994:6;1041:2;1036;1029:5;1025:14;1021:23;1011:33;;957:93;;;:::o;1056:107::-;1100:8;1150:5;1144:4;1140:16;1119:37;;1056:107;;;;:::o;1169:393::-;1238:6;1288:1;1276:10;1272:18;1311:97;1341:66;1330:9;1311:97;:::i;:::-;1429:39;1459:8;1448:9;1429:39;:::i;:::-;1417:51;;1501:4;1497:9;1490:5;1486:21;1477:30;;1550:4;1540:8;1536:19;1529:5;1526:30;1516:40;;1245:317;;1169:393;;;;;:::o;1568:77::-;1605:7;1634:5;1623:16;;1568:77;;;:::o;1651:60::-;1679:3;1700:5;1693:12;;1651:60;;;:::o;1717:142::-;1767:9;1800:53;1818:34;1827:24;1845:5;1827:24;:::i;:::-;1818:34;:::i;:::-;1800:53;:::i;:::-;1787:66;;1717:142;;;:::o;1865:75::-;1908:3;1929:5;1922:12;;1865:75;;;:::o;1946:269::-;2056:39;2087:7;2056:39;:::i;:::-;2117:91;2166:41;2190:16;2166:41;:::i;:::-;2158:6;2151:4;2145:11;2117:91;:::i;:::-;2111:4;2104:105;2022:193;1946:269;;;:::o;2221:73::-;2266:3;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:186::-;2555:120;2572:3;2565:5;2562:14;2555:120;;;2626:39;2663:1;2656:5;2626:39;:::i;:::-;2599:1;2592:5;2588:13;2579:22;;2555:120;;;2495:186;;:::o;2687:543::-;2788:2;2783:3;2780:11;2777:446;;;2822:38;2854:5;2822:38;:::i;:::-;2906:29;2924:10;2906:29;:::i;:::-;2896:8;2892:44;3089:2;3077:10;3074:18;3071:49;;;3110:8;3095:23;;3071:49;3133:80;3189:22;3207:3;3189:22;:::i;:::-;3179:8;3175:37;3162:11;3133:80;:::i;:::-;2792:431;;2777:446;2687:543;;;:::o;3236:117::-;3290:8;3340:5;3334:4;3330:16;3309:37;;3236:117;;;;:::o;3359:169::-;3403:6;3436:51;3484:1;3480:6;3472:5;3469:1;3465:13;3436:51;:::i;:::-;3432:56;3517:4;3511;3507:15;3497:25;;3410:118;3359:169;;;;:::o;3533:295::-;3609:4;3755:29;3780:3;3774:4;3755:29;:::i;:::-;3747:37;;3817:3;3814:1;3810:11;3804:4;3801:21;3793:29;;3533:295;;;;:::o;3833:1395::-;3950:37;3983:3;3950:37;:::i;:::-;4052:18;4044:6;4041:30;4038:56;;;4074:18;;:::i;:::-;4038:56;4118:38;4150:4;4144:11;4118:38;:::i;:::-;4203:67;4263:6;4255;4249:4;4203:67;:::i;:::-;4297:1;4321:4;4308:17;;4353:2;4345:6;4342:14;4370:1;4365:618;;;;5027:1;5044:6;5041:77;;;5093:9;5088:3;5084:19;5078:26;5069:35;;5041:77;5144:67;5204:6;5197:5;5144:67;:::i;:::-;5138:4;5131:81;5000:222;4335:887;;4365:618;4417:4;4413:9;4405:6;4401:22;4451:37;4483:4;4451:37;:::i;:::-;4510:1;4524:208;4538:7;4535:1;4532:14;4524:208;;;4617:9;4612:3;4608:19;4602:26;4594:6;4587:42;4668:1;4660:6;4656:14;4646:24;;4715:2;4704:9;4700:18;4687:31;;4561:4;4558:1;4554:12;4549:17;;4524:208;;;4760:6;4751:7;4748:19;4745:179;;;4818:9;4813:3;4809:19;4803:26;4861:48;4903:4;4895:6;4891:17;4880:9;4861:48;:::i;:::-;4853:6;4846:64;4768:156;4745:179;4970:1;4966;4958:6;4954:14;4950:22;4944:4;4937:36;4372:611;;;4335:887;;3925:1303;;;3833:1395;;:::o;119:733:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@listOfPeople_15": {
"entryPoint": 228,
"id": 15,
"parameterSlots": 0,
"returnSlots": 0
},
"@pat_22": {
"entryPoint": 426,
"id": 22,
"parameterSlots": 0,
"returnSlots": 0
},
"@retrieve_40": {
"entryPoint": 219,
"id": 40,
"parameterSlots": 0,
"returnSlots": 1
},
"@store_32": {
"entryPoint": 416,
"id": 32,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 660,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 681,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 813,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 590,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 605,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 870,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 726,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 737,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 580,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 754,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 965,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 918,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 632,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 796,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_uint256": {
"entryPoint": 637,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:3338:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "155:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "172:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "195:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "177:17:1"
},
"nodeType": "YulFunctionCall",
"src": "177:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "165:6:1"
},
"nodeType": "YulFunctionCall",
"src": "165:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "165:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "143:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "150:3:1",
"type": ""
}
],
"src": "90:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "312:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "322:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "334:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "345:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "330:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "322:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "402:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "415:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "426:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "411:3:1"
},
"nodeType": "YulFunctionCall",
"src": "411:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "358:43:1"
},
"nodeType": "YulFunctionCall",
"src": "358:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "358:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "284:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "296:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "307:4:1",
"type": ""
}
],
"src": "214:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "482:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "492:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "508:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "502:5:1"
},
"nodeType": "YulFunctionCall",
"src": "502:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "492:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "475:6:1",
"type": ""
}
],
"src": "442:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "612:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "629:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "632:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "622:6:1"
},
"nodeType": "YulFunctionCall",
"src": "622:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "622:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "523:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "735:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "752:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "755:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "745:6:1"
},
"nodeType": "YulFunctionCall",
"src": "745:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "745:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "646:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "812:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "869:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "878:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "881:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "871:6:1"
},
"nodeType": "YulFunctionCall",
"src": "871:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "871:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "835:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "860:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "842:17:1"
},
"nodeType": "YulFunctionCall",
"src": "842:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "832:2:1"
},
"nodeType": "YulFunctionCall",
"src": "832:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "825:6:1"
},
"nodeType": "YulFunctionCall",
"src": "825:43:1"
},
"nodeType": "YulIf",
"src": "822:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "805:5:1",
"type": ""
}
],
"src": "769:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "949:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "959:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "981:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "968:12:1"
},
"nodeType": "YulFunctionCall",
"src": "968:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "959:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1024:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "997:26:1"
},
"nodeType": "YulFunctionCall",
"src": "997:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "997:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "927:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "935:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "943:5:1",
"type": ""
}
],
"src": "897:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1108:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1154:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1156:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1156:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1156:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1129:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1138:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1125:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1125:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1150:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1121:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1121:32:1"
},
"nodeType": "YulIf",
"src": "1118:119:1"
},
{
"nodeType": "YulBlock",
"src": "1247:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1262:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1276:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1266:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1291:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1326:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1337:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1322:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1322:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1346:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1301:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1301:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1291:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1078:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1089:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1101:6:1",
"type": ""
}
],
"src": "1042:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1436:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1447:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1463:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1457:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1457:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1447:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1419:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1429:6:1",
"type": ""
}
],
"src": "1377:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1578:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1595:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1600:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1588:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1588:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "1588:19:1"
},
{
"nodeType": "YulAssignment",
"src": "1616:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1635:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1640:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1631:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1631:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "1616:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1550:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1555:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "1566:11:1",
"type": ""
}
],
"src": "1482:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1719:184:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1729:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1738:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "1733:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1798:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1823:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1828:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1819:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1819:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "1842:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1847:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1838:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1838:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1832:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1832:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1812:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1812:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "1812:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1759:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1762:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1756:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1756:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "1770:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1772:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1781:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1784:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1777:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1777:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1772:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "1752:3:1",
"statements": []
},
"src": "1748:113:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1881:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1886:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1877:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1877:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1895:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1870:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1870:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "1870:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "1701:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "1706:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1711:6:1",
"type": ""
}
],
"src": "1657:246:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1957:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1967:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1985:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1992:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1981:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1981:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2001:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1997:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1997:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1977:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1977:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1967:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1940:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1950:6:1",
"type": ""
}
],
"src": "1909:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2109:285:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2119:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2166:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2133:32:1"
},
"nodeType": "YulFunctionCall",
"src": "2133:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2123:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2181:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2247:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2252:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2188:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2188:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2181:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2307:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2314:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2303:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2303:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2321:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2326:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "2268:34:1"
},
"nodeType": "YulFunctionCall",
"src": "2268:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "2268:65:1"
},
{
"nodeType": "YulAssignment",
"src": "2342:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2353:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2380:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2358:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2358:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2349:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2349:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2342:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2090:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2097:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2105:3:1",
"type": ""
}
],
"src": "2017:377:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2546:277:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2556:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2568:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2579:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2564:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2564:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2556:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2636:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2649:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2660:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2645:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2645:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "2592:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2592:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2592:71:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2684:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2695:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2680:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2680:18:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2704:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2710:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2700:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2700:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2673:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2673:48:1"
},
"nodeType": "YulExpressionStatement",
"src": "2673:48:1"
},
{
"nodeType": "YulAssignment",
"src": "2730:86:1",
"value": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "2802:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2811:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2738:63:1"
},
"nodeType": "YulFunctionCall",
"src": "2738:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2730:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2510:9:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "2522:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2530:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2541:4:1",
"type": ""
}
],
"src": "2400:423:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2857:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2874:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2877:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2867:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2867:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "2867:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2971:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2974:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2964:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2964:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2964:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2995:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2998:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2988:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2988:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2988:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "2829:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3066:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3076:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3090:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3096:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "3086:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3086:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3076:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "3107:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3137:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3143:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3133:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3133:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "3111:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3184:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3198:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3212:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3220:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3208:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3208:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3198:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "3164:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3157:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3157:26:1"
},
"nodeType": "YulIf",
"src": "3154:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3287:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "3301:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3301:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "3301:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "3251:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3274:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3282:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3271:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3271:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3248:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3248:38:1"
},
"nodeType": "YulIf",
"src": "3245:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3050:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3059:6:1",
"type": ""
}
],
"src": "3015:320:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\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 revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\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 function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1, tail)\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061004c5760003560e01c80632e64cec1146100515780632ebce6311461006f5780636057361d146100a0578063b4a24f50146100bc575b600080fd5b6100596100db565b604051610066919061025d565b60405180910390f35b610089600480360381019061008491906102a9565b6100e4565b604051610097929190610366565b60405180910390f35b6100ba60048036038101906100b591906102a9565b6101a0565b005b6100c46101aa565b6040516100d2929190610366565b60405180910390f35b60008054905090565b600281815481106100f457600080fd5b906000526020600020906002020160009150905080600001549080600101805461011d906103c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610149906103c5565b80156101965780601f1061016b57610100808354040283529160200191610196565b820191906000526020600020905b81548152906001019060200180831161017957829003601f168201915b5050505050905082565b8060008190555050565b60038060000154908060010180546101c1906103c5565b80601f01602080910402602001604051908101604052809291908181526020018280546101ed906103c5565b801561023a5780601f1061020f5761010080835404028352916020019161023a565b820191906000526020600020905b81548152906001019060200180831161021d57829003601f168201915b5050505050905082565b6000819050919050565b61025781610244565b82525050565b6000602082019050610272600083018461024e565b92915050565b600080fd5b61028681610244565b811461029157600080fd5b50565b6000813590506102a38161027d565b92915050565b6000602082840312156102bf576102be610278565b5b60006102cd84828501610294565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156103105780820151818401526020810190506102f5565b60008484015250505050565b6000601f19601f8301169050919050565b6000610338826102d6565b61034281856102e1565b93506103528185602086016102f2565b61035b8161031c565b840191505092915050565b600060408201905061037b600083018561024e565b818103602083015261038d818461032d565b90509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806103dd57607f821691505b6020821081036103f0576103ef610396565b5b5091905056fea26469706673582212203ed39682d53db41c648a911d46a36a61bc1605cb9879e7305a4968a03c540d5664736f6c63430008130033",
"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 0x2E64CEC1 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x2EBCE631 EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0xA0 JUMPI DUP1 PUSH4 0xB4A24F50 EQ PUSH2 0xBC JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0xDB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x25D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x89 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x84 SWAP2 SWAP1 PUSH2 0x2A9 JUMP JUMPDEST PUSH2 0xE4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x97 SWAP3 SWAP2 SWAP1 PUSH2 0x366 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB5 SWAP2 SWAP1 PUSH2 0x2A9 JUMP JUMPDEST PUSH2 0x1A0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC4 PUSH2 0x1AA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD2 SWAP3 SWAP2 SWAP1 PUSH2 0x366 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x11D SWAP1 PUSH2 0x3C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x149 SWAP1 PUSH2 0x3C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x196 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x16B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x196 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x179 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x3 DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x1C1 SWAP1 PUSH2 0x3C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1ED SWAP1 PUSH2 0x3C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x23A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x20F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x23A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x21D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x257 DUP2 PUSH2 0x244 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x272 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x24E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x286 DUP2 PUSH2 0x244 JUMP JUMPDEST DUP2 EQ PUSH2 0x291 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2A3 DUP2 PUSH2 0x27D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BF JUMPI PUSH2 0x2BE PUSH2 0x278 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2CD DUP5 DUP3 DUP6 ADD PUSH2 0x294 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x310 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2F5 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x338 DUP3 PUSH2 0x2D6 JUMP JUMPDEST PUSH2 0x342 DUP2 DUP6 PUSH2 0x2E1 JUMP JUMPDEST SWAP4 POP PUSH2 0x352 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2F2 JUMP JUMPDEST PUSH2 0x35B DUP2 PUSH2 0x31C JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x37B PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x24E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x38D DUP2 DUP5 PUSH2 0x32D JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x3DD JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x3F0 JUMPI PUSH2 0x3EF PUSH2 0x396 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 RETURNDATACOPY 0xD3 SWAP7 DUP3 0xD5 RETURNDATASIZE 0xB4 SHR PUSH5 0x8A911D46A3 PUSH11 0x61BC1605CB9879E7305A49 PUSH9 0xA03C540D5664736F6C PUSH4 0x43000813 STOP CALLER ",
"sourceMap": "119:733:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;758:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;544:28;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;650:100;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;581:60;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;758:91;798:7;825:16;;818:23;;758:91;:::o;544:28::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;650:100::-;727:15;708:16;:34;;;;650:100;:::o;581:60::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;523:117::-;632:1;629;622:12;769:122;842:24;860:5;842:24;:::i;:::-;835:5;832:35;822:63;;881:1;878;871:12;822:63;769:122;:::o;897:139::-;943:5;981:6;968:20;959:29;;997:33;1024:5;997:33;:::i;:::-;897:139;;;;:::o;1042:329::-;1101:6;1150:2;1138:9;1129:7;1125:23;1121:32;1118:119;;;1156:79;;:::i;:::-;1118:119;1276:1;1301:53;1346:7;1337:6;1326:9;1322:22;1301:53;:::i;:::-;1291:63;;1247:117;1042:329;;;;:::o;1377:99::-;1429:6;1463:5;1457:12;1447:22;;1377:99;;;:::o;1482:169::-;1566:11;1600:6;1595:3;1588:19;1640:4;1635:3;1631:14;1616:29;;1482:169;;;;:::o;1657:246::-;1738:1;1748:113;1762:6;1759:1;1756:13;1748:113;;;1847:1;1842:3;1838:11;1832:18;1828:1;1823:3;1819:11;1812:39;1784:2;1781:1;1777:10;1772:15;;1748:113;;;1895:1;1886:6;1881:3;1877:16;1870:27;1719:184;1657:246;;;:::o;1909:102::-;1950:6;2001:2;1997:7;1992:2;1985:5;1981:14;1977:28;1967:38;;1909:102;;;:::o;2017:377::-;2105:3;2133:39;2166:5;2133:39;:::i;:::-;2188:71;2252:6;2247:3;2188:71;:::i;:::-;2181:78;;2268:65;2326:6;2321:3;2314:4;2307:5;2303:16;2268:65;:::i;:::-;2358:29;2380:6;2358:29;:::i;:::-;2353:3;2349:39;2342:46;;2109:285;2017:377;;;;:::o;2400:423::-;2541:4;2579:2;2568:9;2564:18;2556:26;;2592:71;2660:1;2649:9;2645:17;2636:6;2592:71;:::i;:::-;2710:9;2704:4;2700:20;2695:2;2684:9;2680:18;2673:48;2738:78;2811:4;2802:6;2738:78;:::i;:::-;2730:86;;2400:423;;;;;:::o;2829:180::-;2877:77;2874:1;2867:88;2974:4;2971:1;2964:15;2998:4;2995:1;2988:15;3015:320;3059:6;3096:1;3090:4;3086:12;3076:22;;3143:1;3137:4;3133:12;3164:18;3154:81;;3220:4;3212:6;3208:17;3198:27;;3154:81;3282:2;3274:6;3271:14;3251:18;3248:38;3245:84;;3301:18;;:::i;:::-;3245:84;3066:269;3015:320;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "213600",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"listOfPeople(uint256)": "infinite",
"pat()": "infinite",
"retrieve()": "2415",
"store(uint256)": "22542"
}
},
"legacyAssembly": {
".code": [
{
"begin": 119,
"end": 852,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 119,
"end": 852,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 119,
"end": 852,
"name": "MSTORE",
"source": 0
},
{
"begin": 601,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 601,
"end": 641,
"name": "MLOAD",
"source": 0
},
{
"begin": 601,
"end": 641,
"name": "DUP1",
"source": 0
},
{
"begin": 601,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 601,
"end": 641,
"name": "ADD",
"source": 0
},
{
"begin": 601,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 601,
"end": 641,
"name": "MSTORE",
"source": 0
},
{
"begin": 601,
"end": 641,
"name": "DUP1",
"source": 0
},
{
"begin": 625,
"end": 626,
"name": "PUSH",
"source": 0,
"value": "7"
},
{
"begin": 601,
"end": 641,
"name": "DUP2",
"source": 0
},
{
"begin": 601,
"end": 641,
"name": "MSTORE",
"source": 0
},
{
"begin": 601,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 601,
"end": 641,
"name": "ADD",
"source": 0
},
{
"begin": 601,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 601,
"end": 641,
"name": "MLOAD",
"source": 0
},
{
"begin": 601,
"end": 641,
"name": "DUP1",
"source": 0
},
{
"begin": 601,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 601,
"end": 641,
"name": "ADD",
"source": 0
},
{
"begin": 601,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 601,
"end": 641,
"name": "MSTORE",
"source": 0
},
{
"begin": 601,
"end": 641,
"name": "DUP1",
"source": 0
},
{
"begin": 601,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "3"
},
{
"begin": 601,
"end": 641,
"name": "DUP2",
"source": 0
},
{
"begin": 601,
"end": 641,
"name": "MSTORE",
"source": 0
},
{
"begin": 601,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 601,
"end": 641,
"name": "ADD",
"source": 0
},
{
"begin": 601,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "5061740000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 601,
"end": 641,
"name": "DUP2",
"source": 0
},
{
"begin": 601,
"end": 641,
"name": "MSTORE",
"source": 0
},
{
"begin": 601,
"end": 641,
"name": "POP",
"source": 0
},
{
"begin": 601,
"end": 641,
"name": "DUP2",
"source": 0
},
{
"begin": 601,
"end": 641,
"name": "MSTORE",
"source": 0
},
{
"begin": 601,
"end": 641,
"name": "POP",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "3"
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 581,
"end": 641,
"name": "DUP3",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "ADD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "MLOAD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP2",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 581,
"end": 641,
"name": "ADD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SSTORE",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 581,
"end": 641,
"name": "DUP3",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "ADD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "MLOAD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP2",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 581,
"end": 641,
"name": "ADD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP2",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 581,
"end": 641,
"name": "SWAP2",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 581,
"end": 641,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 581,
"end": 641,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "POP",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "POP",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "POP",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "DUP1",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "ISZERO",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 119,
"end": 852,
"name": "JUMPI",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 119,
"end": 852,
"name": "DUP1",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "REVERT",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 119,
"end": 852,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "POP",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 119,
"end": 852,
"name": "JUMP",
"source": 0
},
{
"begin": 7,
"end": 106,
"name": "tag",
"source": 1,
"value": "5"
},
{
"begin": 7,
"end": 106,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 59,
"end": 65,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 93,
"end": 98,
"name": "DUP2",
"source": 1
},
{
"begin": 87,
"end": 99,
"name": "MLOAD",
"source": 1
},
{
"begin": 77,
"end": 99,
"name": "SWAP1",
"source": 1
},
{
"begin": 77,
"end": 99,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 106,
"name": "SWAP2",
"source": 1
},
{
"begin": 7,
"end": 106,
"name": "SWAP1",
"source": 1
},
{
"begin": 7,
"end": 106,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 106,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 112,
"end": 292,
"name": "tag",
"source": 1,
"value": "6"
},
{
"begin": 112,
"end": 292,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 160,
"end": 237,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 157,
"end": 158,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 150,
"end": 238,
"name": "MSTORE",
"source": 1
},
{
"begin": 257,
"end": 261,
"name": "PUSH",
"source": 1,
"value": "41"
},
{
"begin": 254,
"end": 255,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 247,
"end": 262,
"name": "MSTORE",
"source": 1
},
{
"begin": 281,
"end": 285,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 278,
"end": 279,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 271,
"end": 286,
"name": "REVERT",
"source": 1
},
{
"begin": 298,
"end": 478,
"name": "tag",
"source": 1,
"value": "7"
},
{
"begin": 298,
"end": 478,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 346,
"end": 423,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 343,
"end": 344,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 336,
"end": 424,
"name": "MSTORE",
"source": 1
},
{
"begin": 443,
"end": 447,
"name": "PUSH",
"source": 1,
"value": "22"
},
{
"begin": 440,
"end": 441,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 433,
"end": 448,
"name": "MSTORE",
"source": 1
},
{
"begin": 467,
"end": 471,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 464,
"end": 465,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 457,
"end": 472,
"name": "REVERT",
"source": 1
},
{
"begin": 484,
"end": 804,
"name": "tag",
"source": 1,
"value": "8"
},
{
"begin": 484,
"end": 804,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 528,
"end": 534,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 565,
"end": 566,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 559,
"end": 563,
"name": "DUP3",
"source": 1
},
{
"begin": 555,
"end": 567,
"name": "DIV",
"source": 1
},
{
"begin": 545,
"end": 567,
"name": "SWAP1",
"source": 1
},
{
"begin": 545,
"end": 567,
"name": "POP",
"source": 1
},
{
"begin": 612,
"end": 613,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 606,
"end": 610,
"name": "DUP3",
"source": 1
},
{
"begin": 602,
"end": 614,
"name": "AND",
"source": 1
},
{
"begin": 633,
"end": 651,
"name": "DUP1",
"source": 1
},
{
"begin": 623,
"end": 704,
"name": "PUSH [tag]",
"source": 1,
"value": "30"
},
{
"begin": 623,
"end": 704,
"name": "JUMPI",
"source": 1
},
{
"begin": 689,
"end": 693,
"name": "PUSH",
"source": 1,
"value": "7F"
},
{
"begin": 681,
"end": 687,
"name": "DUP3",
"source": 1
},
{
"begin": 677,
"end": 694,
"name": "AND",
"source": 1
},
{
"begin": 667,
"end": 694,
"name": "SWAP2",
"source": 1
},
{
"begin": 667,
"end": 694,
"name": "POP",
"source": 1
},
{
"begin": 623,
"end": 704,
"name": "tag",
"source": 1,
"value": "30"
},
{
"begin": 623,
"end": 704,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 751,
"end": 753,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 743,
"end": 749,
"name": "DUP3",
"source": 1
},
{
"begin": 740,
"end": 754,
"name": "LT",
"source": 1
},
{
"begin": 720,
"end": 738,
"name": "DUP2",
"source": 1
},
{
"begin": 717,
"end": 755,
"name": "SUB",
"source": 1
},
{
"begin": 714,
"end": 798,
"name": "PUSH [tag]",
"source": 1,
"value": "31"
},
{
"begin": 714,
"end": 798,
"name": "JUMPI",
"source": 1
},
{
"begin": 770,
"end": 788,
"name": "PUSH [tag]",
"source": 1,
"value": "32"
},
{
"begin": 770,
"end": 788,
"name": "PUSH [tag]",
"source": 1,
"value": "7"
},
{
"begin": 770,
"end": 788,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 770,
"end": 788,
"name": "tag",
"source": 1,
"value": "32"
},
{
"begin": 770,
"end": 788,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 714,
"end": 798,
"name": "tag",
"source": 1,
"value": "31"
},
{
"begin": 714,
"end": 798,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 535,
"end": 804,
"name": "POP",
"source": 1
},
{
"begin": 484,
"end": 804,
"name": "SWAP2",
"source": 1
},
{
"begin": 484,
"end": 804,
"name": "SWAP1",
"source": 1
},
{
"begin": 484,
"end": 804,
"name": "POP",
"source": 1
},
{
"begin": 484,
"end": 804,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 810,
"end": 951,
"name": "tag",
"source": 1,
"value": "9"
},
{
"begin": 810,
"end": 951,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 859,
"end": 863,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 882,
"end": 885,
"name": "DUP2",
"source": 1
},
{
"begin": 874,
"end": 885,
"name": "SWAP1",
"source": 1
},
{
"begin": 874,
"end": 885,
"name": "POP",
"source": 1
},
{
"begin": 905,
"end": 908,
"name": "DUP2",
"source": 1
},
{
"begin": 902,
"end": 903,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 895,
"end": 909,
"name": "MSTORE",
"source": 1
},
{
"begin": 939,
"end": 943,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 936,
"end": 937,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 926,
"end": 944,
"name": "KECCAK256",
"source": 1
},
{
"begin": 918,
"end": 944,
"name": "SWAP1",
"source": 1
},
{
"begin": 918,
"end": 944,
"name": "POP",
"source": 1
},
{
"begin": 810,
"end": 951,
"name": "SWAP2",
"source": 1
},
{
"begin": 810,
"end": 951,
"name": "SWAP1",
"source": 1
},
{
"begin": 810,
"end": 951,
"name": "POP",
"source": 1
},
{
"begin": 810,
"end": 951,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 957,
"end": 1050,
"name": "tag",
"source": 1,
"value": "10"
},
{
"begin": 957,
"end": 1050,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 994,
"end": 1000,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1041,
"end": 1043,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1036,
"end": 1038,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 1029,
"end": 1034,
"name": "DUP4",
"source": 1
},
{
"begin": 1025,
"end": 1039,
"name": "ADD",
"source": 1
},
{
"begin": 1021,
"end": 1044,
"name": "DIV",
"source": 1
},
{
"begin": 1011,
"end": 1044,
"name": "SWAP1",
"source": 1
},
{
"begin": 1011,
"end": 1044,
"name": "POP",
"source": 1
},
{
"begin": 957,
"end": 1050,
"name": "SWAP2",
"source": 1
},
{
"begin": 957,
"end": 1050,
"name": "SWAP1",
"source": 1
},
{
"begin": 957,
"end": 1050,
"name": "POP",
"source": 1
},
{
"begin": 957,
"end": 1050,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1056,
"end": 1163,
"name": "tag",
"source": 1,
"value": "11"
},
{
"begin": 1056,
"end": 1163,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1100,
"end": 1108,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1150,
"end": 1155,
"name": "DUP3",
"source": 1
},
{
"begin": 1144,
"end": 1148,
"name": "DUP3",
"source": 1
},
{
"begin": 1140,
"end": 1156,
"name": "SHL",
"source": 1
},
{
"begin": 1119,
"end": 1156,
"name": "SWAP1",
"source": 1
},
{
"begin": 1119,
"end": 1156,
"name": "POP",
"source": 1
},
{
"begin": 1056,
"end": 1163,
"name": "SWAP3",
"source": 1
},
{
"begin": 1056,
"end": 1163,
"name": "SWAP2",
"source": 1
},
{
"begin": 1056,
"end": 1163,
"name": "POP",
"source": 1
},
{
"begin": 1056,
"end": 1163,
"name": "POP",
"source": 1
},
{
"begin": 1056,
"end": 1163,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1169,
"end": 1562,
"name": "tag",
"source": 1,
"value": "12"
},
{
"begin": 1169,
"end": 1562,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1238,
"end": 1244,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1288,
"end": 1289,
"name": "PUSH",
"source": 1,
"value": "8"
},
{
"begin": 1276,
"end": 1286,
"name": "DUP4",
"source": 1
},
{
"begin": 1272,
"end": 1290,
"name": "MUL",
"source": 1
},
{
"begin": 1311,
"end": 1408,
"name": "PUSH [tag]",
"source": 1,
"value": "37"
},
{
"begin": 1341,
"end": 1407,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1330,
"end": 1339,
"name": "DUP3",
"source": 1
},
{
"begin": 1311,
"end": 1408,
"name": "PUSH [tag]",
"source": 1,
"value": "11"
},
{
"begin": 1311,
"end": 1408,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1311,
"end": 1408,
"name": "tag",
"source": 1,
"value": "37"
},
{
"begin": 1311,
"end": 1408,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1429,
"end": 1468,
"name": "PUSH [tag]",
"source": 1,
"value": "38"
},
{
"begin": 1459,
"end": 1467,
"name": "DUP7",
"source": 1
},
{
"begin": 1448,
"end": 1457,
"name": "DUP4",
"source": 1
},
{
"begin": 1429,
"end": 1468,
"name": "PUSH [tag]",
"source": 1,
"value": "11"
},
{
"begin": 1429,
"end": 1468,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1429,
"end": 1468,
"name": "tag",
"source": 1,
"value": "38"
},
{
"begin": 1429,
"end": 1468,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1417,
"end": 1468,
"name": "SWAP6",
"source": 1
},
{
"begin": 1417,
"end": 1468,
"name": "POP",
"source": 1
},
{
"begin": 1501,
"end": 1505,
"name": "DUP1",
"source": 1
},
{
"begin": 1497,
"end": 1506,
"name": "NOT",
"source": 1
},
{
"begin": 1490,
"end": 1495,
"name": "DUP5",
"source": 1
},
{
"begin": 1486,
"end": 1507,
"name": "AND",
"source": 1
},
{
"begin": 1477,
"end": 1507,
"name": "SWAP4",
"source": 1
},
{
"begin": 1477,
"end": 1507,
"name": "POP",
"source": 1
},
{
"begin": 1550,
"end": 1554,
"name": "DUP1",
"source": 1
},
{
"begin": 1540,
"end": 1548,
"name": "DUP7",
"source": 1
},
{
"begin": 1536,
"end": 1555,
"name": "AND",
"source": 1
},
{
"begin": 1529,
"end": 1534,
"name": "DUP5",
"source": 1
},
{
"begin": 1526,
"end": 1556,
"name": "OR",
"source": 1
},
{
"begin": 1516,
"end": 1556,
"name": "SWAP3",
"source": 1
},
{
"begin": 1516,
"end": 1556,
"name": "POP",
"source": 1
},
{
"begin": 1245,
"end": 1562,
"name": "POP",
"source": 1
},
{
"begin": 1245,
"end": 1562,
"name": "POP",
"source": 1
},
{
"begin": 1169,
"end": 1562,
"name": "SWAP4",
"source": 1
},
{
"begin": 1169,
"end": 1562,
"name": "SWAP3",
"source": 1
},
{
"begin": 1169,
"end": 1562,
"name": "POP",
"source": 1
},
{
"begin": 1169,
"end": 1562,
"name": "POP",
"source": 1
},
{
"begin": 1169,
"end": 1562,
"name": "POP",
"source": 1
},
{
"begin": 1169,
"end": 1562,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1568,
"end": 1645,
"name": "tag",
"source": 1,
"value": "13"
},
{
"begin": 1568,
"end": 1645,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1605,
"end": 1612,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1634,
"end": 1639,
"name": "DUP2",
"source": 1
},
{
"begin": 1623,
"end": 1639,
"name": "SWAP1",
"source": 1
},
{
"begin": 1623,
"end": 1639,
"name": "POP",
"source": 1
},
{
"begin": 1568,
"end": 1645,
"name": "SWAP2",
"source": 1
},
{
"begin": 1568,
"end": 1645,
"name": "SWAP1",
"source": 1
},
{
"begin": 1568,
"end": 1645,
"name": "POP",
"source": 1
},
{
"begin": 1568,
"end": 1645,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1651,
"end": 1711,
"name": "tag",
"source": 1,
"value": "14"
},
{
"begin": 1651,
"end": 1711,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1679,
"end": 1682,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1700,
"end": 1705,
"name": "DUP2",
"source": 1
},
{
"begin": 1693,
"end": 1705,
"name": "SWAP1",
"source": 1
},
{
"begin": 1693,
"end": 1705,
"name": "POP",
"source": 1
},
{
"begin": 1651,
"end": 1711,
"name": "SWAP2",
"source": 1
},
{
"begin": 1651,
"end": 1711,
"name": "SWAP1",
"source": 1
},
{
"begin": 1651,
"end": 1711,
"name": "POP",
"source": 1
},
{
"begin": 1651,
"end": 1711,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1717,
"end": 1859,
"name": "tag",
"source": 1,
"value": "15"
},
{
"begin": 1717,
"end": 1859,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1767,
"end": 1776,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1800,
"end": 1853,
"name": "PUSH [tag]",
"source": 1,
"value": "42"
},
{
"begin": 1818,
"end": 1852,
"name": "PUSH [tag]",
"source": 1,
"value": "43"
},
{
"begin": 1827,
"end": 1851,
"name": "PUSH [tag]",
"source": 1,
"value": "44"
},
{
"begin": 1845,
"end": 1850,
"name": "DUP5",
"source": 1
},
{
"begin": 1827,
"end": 1851,
"name": "PUSH [tag]",
"source": 1,
"value": "13"
},
{
"begin": 1827,
"end": 1851,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1827,
"end": 1851,
"name": "tag",
"source": 1,
"value": "44"
},
{
"begin": 1827,
"end": 1851,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1818,
"end": 1852,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 1818,
"end": 1852,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1818,
"end": 1852,
"name": "tag",
"source": 1,
"value": "43"
},
{
"begin": 1818,
"end": 1852,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1800,
"end": 1853,
"name": "PUSH [tag]",
"source": 1,
"value": "13"
},
{
"begin": 1800,
"end": 1853,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1800,
"end": 1853,
"name": "tag",
"source": 1,
"value": "42"
},
{
"begin": 1800,
"end": 1853,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1787,
"end": 1853,
"name": "SWAP1",
"source": 1
},
{
"begin": 1787,
"end": 1853,
"name": "POP",
"source": 1
},
{
"begin": 1717,
"end": 1859,
"name": "SWAP2",
"source": 1
},
{
"begin": 1717,
"end": 1859,
"name": "SWAP1",
"source": 1
},
{
"begin": 1717,
"end": 1859,
"name": "POP",
"source": 1
},
{
"begin": 1717,
"end": 1859,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1865,
"end": 1940,
"name": "tag",
"source": 1,
"value": "16"
},
{
"begin": 1865,
"end": 1940,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1908,
"end": 1911,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1929,
"end": 1934,
"name": "DUP2",
"source": 1
},
{
"begin": 1922,
"end": 1934,
"name": "SWAP1",
"source": 1
},
{
"begin": 1922,
"end": 1934,
"name": "POP",
"source": 1
},
{
"begin": 1865,
"end": 1940,
"name": "SWAP2",
"source": 1
},
{
"begin": 1865,
"end": 1940,
"name": "SWAP1",
"source": 1
},
{
"begin": 1865,
"end": 1940,
"name": "POP",
"source": 1
},
{
"begin": 1865,
"end": 1940,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1946,
"end": 2215,
"name": "tag",
"source": 1,
"value": "17"
},
{
"begin": 1946,
"end": 2215,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2056,
"end": 2095,
"name": "PUSH [tag]",
"source": 1,
"value": "47"
},
{
"begin": 2087,
"end": 2094,
"name": "DUP4",
"source": 1
},
{
"begin": 2056,
"end": 2095,
"name": "PUSH [tag]",
"source": 1,
"value": "15"
},
{
"begin": 2056,
"end": 2095,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2056,
"end": 2095,
"name": "tag",
"source": 1,
"value": "47"
},
{
"begin": 2056,
"end": 2095,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2117,
"end": 2208,
"name": "PUSH [tag]",
"source": 1,
"value": "48"
},
{
"begin": 2166,
"end": 2207,
"name": "PUSH [tag]",
"source": 1,
"value": "49"
},
{
"begin": 2190,
"end": 2206,
"name": "DUP3",
"source": 1
},
{
"begin": 2166,
"end": 2207,
"name": "PUSH [tag]",
"source": 1,
"value": "16"
},
{
"begin": 2166,
"end": 2207,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2166,
"end": 2207,
"name": "tag",
"source": 1,
"value": "49"
},
{
"begin": 2166,
"end": 2207,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2158,
"end": 2164,
"name": "DUP5",
"source": 1
},
{
"begin": 2151,
"end": 2155,
"name": "DUP5",
"source": 1
},
{
"begin": 2145,
"end": 2156,
"name": "SLOAD",
"source": 1
},
{
"begin": 2117,
"end": 2208,
"name": "PUSH [tag]",
"source": 1,
"value": "12"
},
{
"begin": 2117,
"end": 2208,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2117,
"end": 2208,
"name": "tag",
"source": 1,
"value": "48"
},
{
"begin": 2117,
"end": 2208,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2111,
"end": 2115,
"name": "DUP3",
"source": 1
},
{
"begin": 2104,
"end": 2209,
"name": "SSTORE",
"source": 1
},
{
"begin": 2022,
"end": 2215,
"name": "POP",
"source": 1
},
{
"begin": 1946,
"end": 2215,
"name": "POP",
"source": 1
},
{
"begin": 1946,
"end": 2215,
"name": "POP",
"source": 1
},
{
"begin": 1946,
"end": 2215,
"name": "POP",
"source": 1
},
{
"begin": 1946,
"end": 2215,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2221,
"end": 2294,
"name": "tag",
"source": 1,
"value": "18"
},
{
"begin": 2221,
"end": 2294,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2266,
"end": 2269,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2221,
"end": 2294,
"name": "SWAP1",
"source": 1
},
{
"begin": 2221,
"end": 2294,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2300,
"end": 2489,
"name": "tag",
"source": 1,
"value": "19"
},
{
"begin": 2300,
"end": 2489,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2377,
"end": 2409,
"name": "PUSH [tag]",
"source": 1,
"value": "52"
},
{
"begin": 2377,
"end": 2409,
"name": "PUSH [tag]",
"source": 1,
"value": "18"
},
{
"begin": 2377,
"end": 2409,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2377,
"end": 2409,
"name": "tag",
"source": 1,
"value": "52"
},
{
"begin": 2377,
"end": 2409,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2418,
"end": 2483,
"name": "PUSH [tag]",
"source": 1,
"value": "53"
},
{
"begin": 2476,
"end": 2482,
"name": "DUP2",
"source": 1
},
{
"begin": 2468,
"end": 2474,
"name": "DUP5",
"source": 1
},
{
"begin": 2462,
"end": 2466,
"name": "DUP5",
"source": 1
},
{
"begin": 2418,
"end": 2483,
"name": "PUSH [tag]",
"source": 1,
"value": "17"
},
{
"begin": 2418,
"end": 2483,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2418,
"end": 2483,
"name": "tag",
"source": 1,
"value": "53"
},
{
"begin": 2418,
"end": 2483,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2353,
"end": 2489,
"name": "POP",
"source": 1
},
{
"begin": 2300,
"end": 2489,
"name": "POP",
"source": 1
},
{
"begin": 2300,
"end": 2489,
"name": "POP",
"source": 1
},
{
"begin": 2300,
"end": 2489,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2495,
"end": 2681,
"name": "tag",
"source": 1,
"value": "20"
},
{
"begin": 2495,
"end": 2681,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2555,
"end": 2675,
"name": "tag",
"source": 1,
"value": "55"
},
{
"begin": 2555,
"end": 2675,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2572,
"end": 2575,
"name": "DUP2",
"source": 1
},
{
"begin": 2565,
"end": 2570,
"name": "DUP2",
"source": 1
},
{
"begin": 2562,
"end": 2576,
"name": "LT",
"source": 1
},
{
"begin": 2555,
"end": 2675,
"name": "ISZERO",
"source": 1
},
{
"begin": 2555,
"end": 2675,
"name": "PUSH [tag]",
"source": 1,
"value": "57"
},
{
"begin": 2555,
"end": 2675,
"name": "JUMPI",
"source": 1
},
{
"begin": 2626,
"end": 2665,
"name": "PUSH [tag]",
"source": 1,
"value": "58"
},
{
"begin": 2663,
"end": 2664,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2656,
"end": 2661,
"name": "DUP3",
"source": 1
},
{
"begin": 2626,
"end": 2665,
"name": "PUSH [tag]",
"source": 1,
"value": "19"
},
{
"begin": 2626,
"end": 2665,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2626,
"end": 2665,
"name": "tag",
"source": 1,
"value": "58"
},
{
"begin": 2626,
"end": 2665,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2599,
"end": 2600,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 2592,
"end": 2597,
"name": "DUP2",
"source": 1
},
{
"begin": 2588,
"end": 2601,
"name": "ADD",
"source": 1
},
{
"begin": 2579,
"end": 2601,
"name": "SWAP1",
"source": 1
},
{
"begin": 2579,
"end": 2601,
"name": "POP",
"source": 1
},
{
"begin": 2555,
"end": 2675,
"name": "PUSH [tag]",
"source": 1,
"value": "55"
},
{
"begin": 2555,
"end": 2675,
"name": "JUMP",
"source": 1
},
{
"begin": 2555,
"end": 2675,
"name": "tag",
"source": 1,
"value": "57"
},
{
"begin": 2555,
"end": 2675,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2495,
"end": 2681,
"name": "POP",
"source": 1
},
{
"begin": 2495,
"end": 2681,
"name": "POP",
"source": 1
},
{
"begin": 2495,
"end": 2681,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2687,
"end": 3230,
"name": "tag",
"source": 1,
"value": "21"
},
{
"begin": 2687,
"end": 3230,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2788,
"end": 2790,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 2783,
"end": 2786,
"name": "DUP3",
"source": 1
},
{
"begin": 2780,
"end": 2791,
"name": "GT",
"source": 1
},
{
"begin": 2777,
"end": 3223,
"name": "ISZERO",
"source": 1
},
{
"begin": 2777,
"end": 3223,
"name": "PUSH [tag]",
"source": 1,
"value": "60"
},
{
"begin": 2777,
"end": 3223,
"name": "JUMPI",
"source": 1
},
{
"begin": 2822,
"end": 2860,
"name": "PUSH [tag]",
"source": 1,
"value": "61"
},
{
"begin": 2854,
"end": 2859,
"name": "DUP2",
"source": 1
},
{
"begin": 2822,
"end": 2860,
"name": "PUSH [tag]",
"source": 1,
"value": "9"
},
{
"begin": 2822,
"end": 2860,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2822,
"end": 2860,
"name": "tag",
"source": 1,
"value": "61"
},
{
"begin": 2822,
"end": 2860,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2906,
"end": 2935,
"name": "PUSH [tag]",
"source": 1,
"value": "62"
},
{
"begin": 2924,
"end": 2934,
"name": "DUP5",
"source": 1
},
{
"begin": 2906,
"end": 2935,
"name": "PUSH [tag]",
"source": 1,
"value": "10"
},
{
"begin": 2906,
"end": 2935,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2906,
"end": 2935,
"name": "tag",
"source": 1,
"value": "62"
},
{
"begin": 2906,
"end": 2935,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2896,
"end": 2904,
"name": "DUP2",
"source": 1
},
{
"begin": 2892,
"end": 2936,
"name": "ADD",
"source": 1
},
{
"begin": 3089,
"end": 3091,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3077,
"end": 3087,
"name": "DUP6",
"source": 1
},
{
"begin": 3074,
"end": 3092,
"name": "LT",
"source": 1
},
{
"begin": 3071,
"end": 3120,
"name": "ISZERO",
"source": 1
},
{
"begin": 3071,
"end": 3120,
"name": "PUSH [tag]",
"source": 1,
"value": "63"
},
{
"begin": 3071,
"end": 3120,
"name": "JUMPI",
"source": 1
},
{
"begin": 3110,
"end": 3118,
"name": "DUP2",
"source": 1
},
{
"begin": 3095,
"end": 3118,
"name": "SWAP1",
"source": 1
},
{
"begin": 3095,
"end": 3118,
"name": "POP",
"source": 1
},
{
"begin": 3071,
"end": 3120,
"name": "tag",
"source": 1,
"value": "63"
},
{
"begin": 3071,
"end": 3120,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3133,
"end": 3213,
"name": "PUSH [tag]",
"source": 1,
"value": "64"
},
{
"begin": 3189,
"end": 3211,
"name": "PUSH [tag]",
"source": 1,
"value": "65"
},
{
"begin": 3207,
"end": 3210,
"name": "DUP6",
"source": 1
},
{
"begin": 3189,
"end": 3211,
"name": "PUSH [tag]",
"source": 1,
"value": "10"
},
{
"begin": 3189,
"end": 3211,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3189,
"end": 3211,
"name": "tag",
"source": 1,
"value": "65"
},
{
"begin": 3189,
"end": 3211,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3179,
"end": 3187,
"name": "DUP4",
"source": 1
},
{
"begin": 3175,
"end": 3212,
"name": "ADD",
"source": 1
},
{
"begin": 3162,
"end": 3173,
"name": "DUP3",
"source": 1
},
{
"begin": 3133,
"end": 3213,
"name": "PUSH [tag]",
"source": 1,
"value": "20"
},
{
"begin": 3133,
"end": 3213,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3133,
"end": 3213,
"name": "tag",
"source": 1,
"value": "64"
},
{
"begin": 3133,
"end": 3213,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2792,
"end": 3223,
"name": "POP",
"source": 1
},
{
"begin": 2792,
"end": 3223,
"name": "POP",
"source": 1
},
{
"begin": 2777,
"end": 3223,
"name": "tag",
"source": 1,
"value": "60"
},
{
"begin": 2777,
"end": 3223,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2687,
"end": 3230,
"name": "POP",
"source": 1
},
{
"begin": 2687,
"end": 3230,
"name": "POP",
"source": 1
},
{
"begin": 2687,
"end": 3230,
"name": "POP",
"source": 1
},
{
"begin": 2687,
"end": 3230,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3236,
"end": 3353,
"name": "tag",
"source": 1,
"value": "22"
},
{
"begin": 3236,
"end": 3353,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3290,
"end": 3298,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3340,
"end": 3345,
"name": "DUP3",
"source": 1
},
{
"begin": 3334,
"end": 3338,
"name": "DUP3",
"source": 1
},
{
"begin": 3330,
"end": 3346,
"name": "SHR",
"source": 1
},
{
"begin": 3309,
"end": 3346,
"name": "SWAP1",
"source": 1
},
{
"begin": 3309,
"end": 3346,
"name": "POP",
"source": 1
},
{
"begin": 3236,
"end": 3353,
"name": "SWAP3",
"source": 1
},
{
"begin": 3236,
"end": 3353,
"name": "SWAP2",
"source": 1
},
{
"begin": 3236,
"end": 3353,
"name": "POP",
"source": 1
},
{
"begin": 3236,
"end": 3353,
"name": "POP",
"source": 1
},
{
"begin": 3236,
"end": 3353,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3359,
"end": 3528,
"name": "tag",
"source": 1,
"value": "23"
},
{
"begin": 3359,
"end": 3528,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3403,
"end": 3409,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3436,
"end": 3487,
"name": "PUSH [tag]",
"source": 1,
"value": "68"
},
{
"begin": 3484,
"end": 3485,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3480,
"end": 3486,
"name": "NOT",
"source": 1
},
{
"begin": 3472,
"end": 3477,
"name": "DUP5",
"source": 1
},
{
"begin": 3469,
"end": 3470,
"name": "PUSH",
"source": 1,
"value": "8"
},
{
"begin": 3465,
"end": 3478,
"name": "MUL",
"source": 1
},
{
"begin": 3436,
"end": 3487,
"name": "PUSH [tag]",
"source": 1,
"value": "22"
},
{
"begin": 3436,
"end": 3487,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3436,
"end": 3487,
"name": "tag",
"source": 1,
"value": "68"
},
{
"begin": 3436,
"end": 3487,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3432,
"end": 3488,
"name": "NOT",
"source": 1
},
{
"begin": 3517,
"end": 3521,
"name": "DUP1",
"source": 1
},
{
"begin": 3511,
"end": 3515,
"name": "DUP4",
"source": 1
},
{
"begin": 3507,
"end": 3522,
"name": "AND",
"source": 1
},
{
"begin": 3497,
"end": 3522,
"name": "SWAP2",
"source": 1
},
{
"begin": 3497,
"end": 3522,
"name": "POP",
"source": 1
},
{
"begin": 3410,
"end": 3528,
"name": "POP",
"source": 1
},
{
"begin": 3359,
"end": 3528,
"name": "SWAP3",
"source": 1
},
{
"begin": 3359,
"end": 3528,
"name": "SWAP2",
"source": 1
},
{
"begin": 3359,
"end": 3528,
"name": "POP",
"source": 1
},
{
"begin": 3359,
"end": 3528,
"name": "POP",
"source": 1
},
{
"begin": 3359,
"end": 3528,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3533,
"end": 3828,
"name": "tag",
"source": 1,
"value": "24"
},
{
"begin": 3533,
"end": 3828,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3609,
"end": 3613,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3755,
"end": 3784,
"name": "PUSH [tag]",
"source": 1,
"value": "70"
},
{
"begin": 3780,
"end": 3783,
"name": "DUP4",
"source": 1
},
{
"begin": 3774,
"end": 3778,
"name": "DUP4",
"source": 1
},
{
"begin": 3755,
"end": 3784,
"name": "PUSH [tag]",
"source": 1,
"value": "23"
},
{
"begin": 3755,
"end": 3784,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3755,
"end": 3784,
"name": "tag",
"source": 1,
"value": "70"
},
{
"begin": 3755,
"end": 3784,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3747,
"end": 3784,
"name": "SWAP2",
"source": 1
},
{
"begin": 3747,
"end": 3784,
"name": "POP",
"source": 1
},
{
"begin": 3817,
"end": 3820,
"name": "DUP3",
"source": 1
},
{
"begin": 3814,
"end": 3815,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 3810,
"end": 3821,
"name": "MUL",
"source": 1
},
{
"begin": 3804,
"end": 3808,
"name": "DUP3",
"source": 1
},
{
"begin": 3801,
"end": 3822,
"name": "OR",
"source": 1
},
{
"begin": 3793,
"end": 3822,
"name": "SWAP1",
"source": 1
},
{
"begin": 3793,
"end": 3822,
"name": "POP",
"source": 1
},
{
"begin": 3533,
"end": 3828,
"name": "SWAP3",
"source": 1
},
{
"begin": 3533,
"end": 3828,
"name": "SWAP2",
"source": 1
},
{
"begin": 3533,
"end": 3828,
"name": "POP",
"source": 1
},
{
"begin": 3533,
"end": 3828,
"name": "POP",
"source": 1
},
{
"begin": 3533,
"end": 3828,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3833,
"end": 5228,
"name": "tag",
"source": 1,
"value": "2"
},
{
"begin": 3833,
"end": 5228,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3950,
"end": 3987,
"name": "PUSH [tag]",
"source": 1,
"value": "72"
},
{
"begin": 3983,
"end": 3986,
"name": "DUP3",
"source": 1
},
{
"begin": 3950,
"end": 3987,
"name": "PUSH [tag]",
"source": 1,
"value": "5"
},
{
"begin": 3950,
"end": 3987,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3950,
"end": 3987,
"name": "tag",
"source": 1,
"value": "72"
},
{
"begin": 3950,
"end": 3987,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4052,
"end": 4070,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 4044,
"end": 4050,
"name": "DUP2",
"source": 1
},
{
"begin": 4041,
"end": 4071,
"name": "GT",
"source": 1
},
{
"begin": 4038,
"end": 4094,
"name": "ISZERO",
"source": 1
},
{
"begin": 4038,
"end": 4094,
"name": "PUSH [tag]",
"source": 1,
"value": "73"
},
{
"begin": 4038,
"end": 4094,
"name": "JUMPI",
"source": 1
},
{
"begin": 4074,
"end": 4092,
"name": "PUSH [tag]",
"source": 1,
"value": "74"
},
{
"begin": 4074,
"end": 4092,
"name": "PUSH [tag]",
"source": 1,
"value": "6"
},
{
"begin": 4074,
"end": 4092,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4074,
"end": 4092,
"name": "tag",
"source": 1,
"value": "74"
},
{
"begin": 4074,
"end": 4092,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4038,
"end": 4094,
"name": "tag",
"source": 1,
"value": "73"
},
{
"begin": 4038,
"end": 4094,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4118,
"end": 4156,
"name": "PUSH [tag]",
"source": 1,
"value": "75"
},
{
"begin": 4150,
"end": 4154,
"name": "DUP3",
"source": 1
},
{
"begin": 4144,
"end": 4155,
"name": "SLOAD",
"source": 1
},
{
"begin": 4118,
"end": 4156,
"name": "PUSH [tag]",
"source": 1,
"value": "8"
},
{
"begin": 4118,
"end": 4156,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4118,
"end": 4156,
"name": "tag",
"source": 1,
"value": "75"
},
{
"begin": 4118,
"end": 4156,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4203,
"end": 4270,
"name": "PUSH [tag]",
"source": 1,
"value": "76"
},
{
"begin": 4263,
"end": 4269,
"name": "DUP3",
"source": 1
},
{
"begin": 4255,
"end": 4261,
"name": "DUP3",
"source": 1
},
{
"begin": 4249,
"end": 4253,
"name": "DUP6",
"source": 1
},
{
"begin": 4203,
"end": 4270,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 4203,
"end": 4270,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4203,
"end": 4270,
"name": "tag",
"source": 1,
"value": "76"
},
{
"begin": 4203,
"end": 4270,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4297,
"end": 4298,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4321,
"end": 4325,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4308,
"end": 4325,
"name": "SWAP1",
"source": 1
},
{
"begin": 4308,
"end": 4325,
"name": "POP",
"source": 1
},
{
"begin": 4353,
"end": 4355,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 4345,
"end": 4351,
"name": "DUP4",
"source": 1
},
{
"begin": 4342,
"end": 4356,
"name": "GT",
"source": 1
},
{
"begin": 4370,
"end": 4371,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 4365,
"end": 4983,
"name": "DUP2",
"source": 1
},
{
"begin": 4365,
"end": 4983,
"name": "EQ",
"source": 1
},
{
"begin": 4365,
"end": 4983,
"name": "PUSH [tag]",
"source": 1,
"value": "78"
},
{
"begin": 4365,
"end": 4983,
"name": "JUMPI",
"source": 1
},
{
"begin": 5027,
"end": 5028,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5044,
"end": 5050,
"name": "DUP5",
"source": 1
},
{
"begin": 5041,
"end": 5118,
"name": "ISZERO",
"source": 1
},
{
"begin": 5041,
"end": 5118,
"name": "PUSH [tag]",
"source": 1,
"value": "79"
},
{
"begin": 5041,
"end": 5118,
"name": "JUMPI",
"source": 1
},
{
"begin": 5093,
"end": 5102,
"name": "DUP3",
"source": 1
},
{
"begin": 5088,
"end": 5091,
"name": "DUP8",
"source": 1
},
{
"begin": 5084,
"end": 5103,
"name": "ADD",
"source": 1
},
{
"begin": 5078,
"end": 5104,
"name": "MLOAD",
"source": 1
},
{
"begin": 5069,
"end": 5104,
"name": "SWAP1",
"source": 1
},
{
"begin": 5069,
"end": 5104,
"name": "POP",
"source": 1
},
{
"begin": 5041,
"end": 5118,
"name": "tag",
"source": 1,
"value": "79"
},
{
"begin": 5041,
"end": 5118,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5144,
"end": 5211,
"name": "PUSH [tag]",
"source": 1,
"value": "80"
},
{
"begin": 5204,
"end": 5210,
"name": "DUP6",
"source": 1
},
{
"begin": 5197,
"end": 5202,
"name": "DUP3",
"source": 1
},
{
"begin": 5144,
"end": 5211,
"name": "PUSH [tag]",
"source": 1,
"value": "24"
},
{
"begin": 5144,
"end": 5211,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 5144,
"end": 5211,
"name": "tag",
"source": 1,
"value": "80"
},
{
"begin": 5144,
"end": 5211,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5138,
"end": 5142,
"name": "DUP7",
"source": 1
},
{
"begin": 5131,
"end": 5212,
"name": "SSTORE",
"source": 1
},
{
"begin": 5000,
"end": 5222,
"name": "POP",
"source": 1
},
{
"begin": 4335,
"end": 5222,
"name": "PUSH [tag]",
"source": 1,
"value": "77"
},
{
"begin": 4335,
"end": 5222,
"name": "JUMP",
"source": 1
},
{
"begin": 4365,
"end": 4983,
"name": "tag",
"source": 1,
"value": "78"
},
{
"begin": 4365,
"end": 4983,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4417,
"end": 4421,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 4413,
"end": 4422,
"name": "NOT",
"source": 1
},
{
"begin": 4405,
"end": 4411,
"name": "DUP5",
"source": 1
},
{
"begin": 4401,
"end": 4423,
"name": "AND",
"source": 1
},
{
"begin": 4451,
"end": 4488,
"name": "PUSH [tag]",
"source": 1,
"value": "81"
},
{
"begin": 4483,
"end": 4487,
"name": "DUP7",
"source": 1
},
{
"begin": 4451,
"end": 4488,
"name": "PUSH [tag]",
"source": 1,
"value": "9"
},
{
"begin": 4451,
"end": 4488,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4451,
"end": 4488,
"name": "tag",
"source": 1,
"value": "81"
},
{
"begin": 4451,
"end": 4488,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4510,
"end": 4511,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4524,
"end": 4732,
"name": "tag",
"source": 1,
"value": "82"
},
{
"begin": 4524,
"end": 4732,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4538,
"end": 4545,
"name": "DUP3",
"source": 1
},
{
"begin": 4535,
"end": 4536,
"name": "DUP2",
"source": 1
},
{
"begin": 4532,
"end": 4546,
"name": "LT",
"source": 1
},
{
"begin": 4524,
"end": 4732,
"name": "ISZERO",
"source": 1
},
{
"begin": 4524,
"end": 4732,
"name": "PUSH [tag]",
"source": 1,
"value": "84"
},
{
"begin": 4524,
"end": 4732,
"name": "JUMPI",
"source": 1
},
{
"begin": 4617,
"end": 4626,
"name": "DUP5",
"source": 1
},
{
"begin": 4612,
"end": 4615,
"name": "DUP10",
"source": 1
},
{
"begin": 4608,
"end": 4627,
"name": "ADD",
"source": 1
},
{
"begin": 4602,
"end": 4628,
"name": "MLOAD",
"source": 1
},
{
"begin": 4594,
"end": 4600,
"name": "DUP3",
"source": 1
},
{
"begin": 4587,
"end": 4629,
"name": "SSTORE",
"source": 1
},
{
"begin": 4668,
"end": 4669,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 4660,
"end": 4666,
"name": "DUP3",
"source": 1
},
{
"begin": 4656,
"end": 4670,
"name": "ADD",
"source": 1
},
{
"begin": 4646,
"end": 4670,
"name": "SWAP2",
"source": 1
},
{
"begin": 4646,
"end": 4670,
"name": "POP",
"source": 1
},
{
"begin": 4715,
"end": 4717,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4704,
"end": 4713,
"name": "DUP6",
"source": 1
},
{
"begin": 4700,
"end": 4718,
"name": "ADD",
"source": 1
},
{
"begin": 4687,
"end": 4718,
"name": "SWAP5",
"source": 1
},
{
"begin": 4687,
"end": 4718,
"name": "POP",
"source": 1
},
{
"begin": 4561,
"end": 4565,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4558,
"end": 4559,
"name": "DUP2",
"source": 1
},
{
"begin": 4554,
"end": 4566,
"name": "ADD",
"source": 1
},
{
"begin": 4549,
"end": 4566,
"name": "SWAP1",
"source": 1
},
{
"begin": 4549,
"end": 4566,
"name": "POP",
"source": 1
},
{
"begin": 4524,
"end": 4732,
"name": "PUSH [tag]",
"source": 1,
"value": "82"
},
{
"begin": 4524,
"end": 4732,
"name": "JUMP",
"source": 1
},
{
"begin": 4524,
"end": 4732,
"name": "tag",
"source": 1,
"value": "84"
},
{
"begin": 4524,
"end": 4732,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4760,
"end": 4766,
"name": "DUP7",
"source": 1
},
{
"begin": 4751,
"end": 4758,
"name": "DUP4",
"source": 1
},
{
"begin": 4748,
"end": 4767,
"name": "LT",
"source": 1
},
{
"begin": 4745,
"end": 4924,
"name": "ISZERO",
"source": 1
},
{
"begin": 4745,
"end": 4924,
"name": "PUSH [tag]",
"source": 1,
"value": "85"
},
{
"begin": 4745,
"end": 4924,
"name": "JUMPI",
"source": 1
},
{
"begin": 4818,
"end": 4827,
"name": "DUP5",
"source": 1
},
{
"begin": 4813,
"end": 4816,
"name": "DUP10",
"source": 1
},
{
"begin": 4809,
"end": 4828,
"name": "ADD",
"source": 1
},
{
"begin": 4803,
"end": 4829,
"name": "MLOAD",
"source": 1
},
{
"begin": 4861,
"end": 4909,
"name": "PUSH [tag]",
"source": 1,
"value": "86"
},
{
"begin": 4903,
"end": 4907,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 4895,
"end": 4901,
"name": "DUP10",
"source": 1
},
{
"begin": 4891,
"end": 4908,
"name": "AND",
"source": 1
},
{
"begin": 4880,
"end": 4889,
"name": "DUP3",
"source": 1
},
{
"begin": 4861,
"end": 4909,
"name": "PUSH [tag]",
"source": 1,
"value": "23"
},
{
"begin": 4861,
"end": 4909,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4861,
"end": 4909,
"name": "tag",
"source": 1,
"value": "86"
},
{
"begin": 4861,
"end": 4909,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4853,
"end": 4859,
"name": "DUP4",
"source": 1
},
{
"begin": 4846,
"end": 4910,
"name": "SSTORE",
"source": 1
},
{
"begin": 4768,
"end": 4924,
"name": "POP",
"source": 1
},
{
"begin": 4745,
"end": 4924,
"name": "tag",
"source": 1,
"value": "85"
},
{
"begin": 4745,
"end": 4924,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4970,
"end": 4971,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 4966,
"end": 4967,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 4958,
"end": 4964,
"name": "DUP9",
"source": 1
},
{
"begin": 4954,
"end": 4968,
"name": "MUL",
"source": 1
},
{
"begin": 4950,
"end": 4972,
"name": "ADD",
"source": 1
},
{
"begin": 4944,
"end": 4948,
"name": "DUP9",
"source": 1
},
{
"begin": 4937,
"end": 4973,
"name": "SSTORE",
"source": 1
},
{
"begin": 4372,
"end": 4983,
"name": "POP",
"source": 1
},
{
"begin": 4372,
"end": 4983,
"name": "POP",
"source": 1
},
{
"begin": 4372,
"end": 4983,
"name": "POP",
"source": 1
},
{
"begin": 4335,
"end": 5222,
"name": "tag",
"source": 1,
"value": "77"
},
{
"begin": 4335,
"end": 5222,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4335,
"end": 5222,
"name": "POP",
"source": 1
},
{
"begin": 3925,
"end": 5228,
"name": "POP",
"source": 1
},
{
"begin": 3925,
"end": 5228,
"name": "POP",
"source": 1
},
{
"begin": 3925,
"end": 5228,
"name": "POP",
"source": 1
},
{
"begin": 3833,
"end": 5228,
"name": "POP",
"source": 1
},
{
"begin": 3833,
"end": 5228,
"name": "POP",
"source": 1
},
{
"begin": 3833,
"end": 5228,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 119,
"end": 852,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 119,
"end": 852,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 119,
"end": 852,
"name": "DUP1",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 119,
"end": 852,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 119,
"end": 852,
"name": "CODECOPY",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 119,
"end": 852,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a26469706673582212203ed39682d53db41c648a911d46a36a61bc1605cb9879e7305a4968a03c540d5664736f6c63430008130033",
".code": [
{
"begin": 119,
"end": 852,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 119,
"end": 852,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 119,
"end": 852,
"name": "MSTORE",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "DUP1",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "ISZERO",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 119,
"end": 852,
"name": "JUMPI",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 119,
"end": 852,
"name": "DUP1",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "REVERT",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 119,
"end": 852,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "POP",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 119,
"end": 852,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "LT",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 119,
"end": 852,
"name": "JUMPI",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 119,
"end": 852,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 119,
"end": 852,
"name": "SHR",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "DUP1",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "PUSH",
"source": 0,
"value": "2E64CEC1"
},
{
"begin": 119,
"end": 852,
"name": "EQ",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 119,
"end": 852,
"name": "JUMPI",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "DUP1",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "PUSH",
"source": 0,
"value": "2EBCE631"
},
{
"begin": 119,
"end": 852,
"name": "EQ",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 119,
"end": 852,
"name": "JUMPI",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "DUP1",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "PUSH",
"source": 0,
"value": "6057361D"
},
{
"begin": 119,
"end": 852,
"name": "EQ",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 119,
"end": 852,
"name": "JUMPI",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "DUP1",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "PUSH",
"source": 0,
"value": "B4A24F50"
},
{
"begin": 119,
"end": 852,
"name": "EQ",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 119,
"end": 852,
"name": "JUMPI",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 119,
"end": 852,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 119,
"end": 852,
"name": "DUP1",
"source": 0
},
{
"begin": 119,
"end": 852,
"name": "REVERT",
"source": 0
},
{
"begin": 758,
"end": 849,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 758,
"end": 849,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 758,
"end": 849,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 758,
"end": 849,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 758,
"end": 849,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 758,
"end": 849,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 758,
"end": 849,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 758,
"end": 849,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 758,
"end": 849,
"name": "MLOAD",
"source": 0
},
{
"begin": 758,
"end": 849,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 758,
"end": 849,
"name": "SWAP2",
"source": 0
},
{
"begin": 758,
"end": 849,
"name": "SWAP1",
"source": 0
},
{
"begin": 758,
"end": 849,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 758,
"end": 849,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 758,
"end": 849,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 758,
"end": 849,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 758,
"end": 849,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 758,
"end": 849,
"name": "MLOAD",
"source": 0
},
{
"begin": 758,
"end": 849,
"name": "DUP1",
"source": 0
},
{
"begin": 758,
"end": 849,
"name": "SWAP2",
"source": 0
},
{
"begin": 758,
"end": 849,
"name": "SUB",
"source": 0
},
{
"begin": 758,
"end": 849,
"name": "SWAP1",
"source": 0
},
{
"begin": 758,
"end": 849,
"name": "RETURN",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 544,
"end": 572,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 544,
"end": 572,
"name": "DUP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SUB",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP2",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "ADD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 544,
"end": 572,
"name": "SWAP2",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 544,
"end": 572,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 544,
"end": 572,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 544,
"end": 572,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 544,
"end": 572,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 544,
"end": 572,
"name": "MLOAD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 544,
"end": 572,
"name": "SWAP3",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP2",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 544,
"end": 572,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 544,
"end": 572,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 544,
"end": 572,
"name": "MLOAD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP2",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SUB",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "RETURN",
"source": 0
},
{
"begin": 650,
"end": 750,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 650,
"end": 750,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 650,
"end": 750,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 650,
"end": 750,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 650,
"end": 750,
"name": "DUP1",
"source": 0
},
{
"begin": 650,
"end": 750,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 650,
"end": 750,
"name": "SUB",
"source": 0
},
{
"begin": 650,
"end": 750,
"name": "DUP2",
"source": 0
},
{
"begin": 650,
"end": 750,
"name": "ADD",
"source": 0
},
{
"begin": 650,
"end": 750,
"name": "SWAP1",
"source": 0
},
{
"begin": 650,
"end": 750,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 650,
"end": 750,
"name": "SWAP2",
"source": 0
},
{
"begin": 650,
"end": 750,
"name": "SWAP1",
"source": 0
},
{
"begin": 650,
"end": 750,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 650,
"end": 750,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 650,
"end": 750,
"name": "tag",
"source": 0,
"value": "18"
},
{
"begin": 650,
"end": 750,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 650,
"end": 750,
"name": "PUSH [tag]",
"source": 0,
"value": "19"
},
{
"begin": 650,
"end": 750,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 650,
"end": 750,
"name": "tag",
"source": 0,
"value": "17"
},
{
"begin": 650,
"end": 750,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 650,
"end": 750,
"name": "STOP",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 581,
"end": 641,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH [tag]",
"source": 0,
"value": "20"
},
{
"begin": 581,
"end": 641,
"name": "PUSH [tag]",
"source": 0,
"value": "21"
},
{
"begin": 581,
"end": 641,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "tag",
"source": 0,
"value": "20"
},
{
"begin": 581,
"end": 641,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 581,
"end": 641,
"name": "MLOAD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 581,
"end": 641,
"name": "SWAP3",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP2",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 581,
"end": 641,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "tag",
"source": 0,
"value": "22"
},
{
"begin": 581,
"end": 641,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 581,
"end": 641,
"name": "MLOAD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP2",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SUB",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "RETURN",
"source": 0
},
{
"begin": 758,
"end": 849,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 758,
"end": 849,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 798,
"end": 805,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 825,
"end": 841,
"name": "DUP1",
"source": 0
},
{
"begin": 825,
"end": 841,
"name": "SLOAD",
"source": 0
},
{
"begin": 818,
"end": 841,
"name": "SWAP1",
"source": 0
},
{
"begin": 818,
"end": 841,
"name": "POP",
"source": 0
},
{
"begin": 758,
"end": 849,
"name": "SWAP1",
"source": 0
},
{
"begin": 758,
"end": 849,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "tag",
"source": 0,
"value": "14"
},
{
"begin": 544,
"end": 572,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "2"
},
{
"begin": 544,
"end": 572,
"name": "DUP2",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP2",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SLOAD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP2",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "LT",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH [tag]",
"source": 0,
"value": "24"
},
{
"begin": 544,
"end": 572,
"name": "JUMPI",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 544,
"end": 572,
"name": "DUP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "REVERT",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "tag",
"source": 0,
"value": "24"
},
{
"begin": 544,
"end": 572,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 544,
"end": 572,
"name": "MSTORE",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 544,
"end": 572,
"name": "KECCAK256",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "2"
},
{
"begin": 544,
"end": 572,
"name": "MUL",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "ADD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 544,
"end": 572,
"name": "SWAP2",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "POP",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "POP",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 544,
"end": 572,
"name": "ADD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SLOAD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 544,
"end": 572,
"name": "ADD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SLOAD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH [tag]",
"source": 0,
"value": "26"
},
{
"begin": 544,
"end": 572,
"name": "SWAP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH [tag]",
"source": 0,
"value": "27"
},
{
"begin": 544,
"end": 572,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "tag",
"source": 0,
"value": "26"
},
{
"begin": 544,
"end": 572,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 544,
"end": 572,
"name": "ADD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 544,
"end": 572,
"name": "DUP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP2",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DIV",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "MUL",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 544,
"end": 572,
"name": "ADD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 544,
"end": 572,
"name": "MLOAD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP2",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "ADD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 544,
"end": 572,
"name": "MSTORE",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP3",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP2",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP2",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP2",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "MSTORE",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 544,
"end": 572,
"name": "ADD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP3",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SLOAD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH [tag]",
"source": 0,
"value": "28"
},
{
"begin": 544,
"end": 572,
"name": "SWAP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH [tag]",
"source": 0,
"value": "27"
},
{
"begin": 544,
"end": 572,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "tag",
"source": 0,
"value": "28"
},
{
"begin": 544,
"end": 572,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "ISZERO",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH [tag]",
"source": 0,
"value": "29"
},
{
"begin": 544,
"end": 572,
"name": "JUMPI",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 544,
"end": 572,
"name": "LT",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH [tag]",
"source": 0,
"value": "30"
},
{
"begin": 544,
"end": 572,
"name": "JUMPI",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 544,
"end": 572,
"name": "DUP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP4",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SLOAD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DIV",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "MUL",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP4",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "MSTORE",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP2",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 544,
"end": 572,
"name": "ADD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP2",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH [tag]",
"source": 0,
"value": "29"
},
{
"begin": 544,
"end": 572,
"name": "JUMP",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "tag",
"source": 0,
"value": "30"
},
{
"begin": 544,
"end": 572,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP3",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "ADD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP2",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 544,
"end": 572,
"name": "MSTORE",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 544,
"end": 572,
"name": "KECCAK256",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "tag",
"source": 0,
"value": "31"
},
{
"begin": 544,
"end": 572,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP2",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SLOAD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP2",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "MSTORE",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 544,
"end": 572,
"name": "ADD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 544,
"end": 572,
"name": "ADD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP4",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "GT",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH [tag]",
"source": 0,
"value": "31"
},
{
"begin": 544,
"end": 572,
"name": "JUMPI",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP3",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SUB",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 544,
"end": 572,
"name": "AND",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP3",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "ADD",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP2",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "tag",
"source": 0,
"value": "29"
},
{
"begin": 544,
"end": 572,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "POP",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "POP",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "POP",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "POP",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "POP",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "SWAP1",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "POP",
"source": 0
},
{
"begin": 544,
"end": 572,
"name": "DUP3",
"source": 0
},
{
"begin": 544,
"end": 572,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 650,
"end": 750,
"name": "tag",
"source": 0,
"value": "19"
},
{
"begin": 650,
"end": 750,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 727,
"end": 742,
"name": "DUP1",
"source": 0
},
{
"begin": 708,
"end": 724,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 708,
"end": 742,
"name": "DUP2",
"source": 0
},
{
"begin": 708,
"end": 742,
"name": "SWAP1",
"source": 0
},
{
"begin": 708,
"end": 742,
"name": "SSTORE",
"source": 0
},
{
"begin": 708,
"end": 742,
"name": "POP",
"source": 0
},
{
"begin": 650,
"end": 750,
"name": "POP",
"source": 0
},
{
"begin": 650,
"end": 750,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "tag",
"source": 0,
"value": "21"
},
{
"begin": 581,
"end": 641,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "3"
},
{
"begin": 581,
"end": 641,
"name": "DUP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 581,
"end": 641,
"name": "ADD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SLOAD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 581,
"end": 641,
"name": "ADD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SLOAD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH [tag]",
"source": 0,
"value": "33"
},
{
"begin": 581,
"end": 641,
"name": "SWAP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH [tag]",
"source": 0,
"value": "27"
},
{
"begin": 581,
"end": 641,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "tag",
"source": 0,
"value": "33"
},
{
"begin": 581,
"end": 641,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 581,
"end": 641,
"name": "ADD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 581,
"end": 641,
"name": "DUP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP2",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DIV",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "MUL",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 581,
"end": 641,
"name": "ADD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 581,
"end": 641,
"name": "MLOAD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP2",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "ADD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 581,
"end": 641,
"name": "MSTORE",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP3",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP2",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP2",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP2",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "MSTORE",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 581,
"end": 641,
"name": "ADD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP3",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SLOAD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH [tag]",
"source": 0,
"value": "34"
},
{
"begin": 581,
"end": 641,
"name": "SWAP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH [tag]",
"source": 0,
"value": "27"
},
{
"begin": 581,
"end": 641,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "tag",
"source": 0,
"value": "34"
},
{
"begin": 581,
"end": 641,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "ISZERO",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH [tag]",
"source": 0,
"value": "35"
},
{
"begin": 581,
"end": 641,
"name": "JUMPI",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 581,
"end": 641,
"name": "LT",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH [tag]",
"source": 0,
"value": "36"
},
{
"begin": 581,
"end": 641,
"name": "JUMPI",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 581,
"end": 641,
"name": "DUP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP4",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SLOAD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DIV",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "MUL",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP4",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "MSTORE",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP2",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 581,
"end": 641,
"name": "ADD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP2",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH [tag]",
"source": 0,
"value": "35"
},
{
"begin": 581,
"end": 641,
"name": "JUMP",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "tag",
"source": 0,
"value": "36"
},
{
"begin": 581,
"end": 641,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP3",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "ADD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP2",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 581,
"end": 641,
"name": "MSTORE",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 581,
"end": 641,
"name": "KECCAK256",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "tag",
"source": 0,
"value": "37"
},
{
"begin": 581,
"end": 641,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP2",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SLOAD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP2",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "MSTORE",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 581,
"end": 641,
"name": "ADD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 581,
"end": 641,
"name": "ADD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP4",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "GT",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH [tag]",
"source": 0,
"value": "37"
},
{
"begin": 581,
"end": 641,
"name": "JUMPI",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP3",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SUB",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "PUSH",
"source": 0,
"value": "1F"
},
{
"begin": 581,
"end": 641,
"name": "AND",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP3",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "ADD",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP2",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "tag",
"source": 0,
"value": "35"
},
{
"begin": 581,
"end": 641,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "POP",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "POP",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "POP",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "POP",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "POP",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "SWAP1",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "POP",
"source": 0
},
{
"begin": 581,
"end": 641,
"name": "DUP3",
"source": 0
},
{
"begin": 581,
"end": 641,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 7,
"end": 84,
"name": "tag",
"source": 1,
"value": "38"
},
{
"begin": 7,
"end": 84,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 44,
"end": 51,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 73,
"end": 78,
"name": "DUP2",
"source": 1
},
{
"begin": 62,
"end": 78,
"name": "SWAP1",
"source": 1
},
{
"begin": 62,
"end": 78,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 84,
"name": "SWAP2",
"source": 1
},
{
"begin": 7,
"end": 84,
"name": "SWAP1",
"source": 1
},
{
"begin": 7,
"end": 84,
"name": "POP",
"source": 1
},
{
"begin": 7,
"end": 84,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 90,
"end": 208,
"name": "tag",
"source": 1,
"value": "39"
},
{
"begin": 90,
"end": 208,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 177,
"end": 201,
"name": "PUSH [tag]",
"source": 1,
"value": "54"
},
{
"begin": 195,
"end": 200,
"name": "DUP2",
"source": 1
},
{
"begin": 177,
"end": 201,
"name": "PUSH [tag]",
"source": 1,
"value": "38"
},
{
"begin": 177,
"end": 201,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 177,
"end": 201,
"name": "tag",
"source": 1,
"value": "54"
},
{
"begin": 177,
"end": 201,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 172,
"end": 175,
"name": "DUP3",
"source": 1
},
{
"begin": 165,
"end": 202,
"name": "MSTORE",
"source": 1
},
{
"begin": 90,
"end": 208,
"name": "POP",
"source": 1
},
{
"begin": 90,
"end": 208,
"name": "POP",
"source": 1
},
{
"begin": 90,
"end": 208,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "tag",
"source": 1,
"value": "10"
},
{
"begin": 214,
"end": 436,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 307,
"end": 311,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 345,
"end": 347,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 334,
"end": 343,
"name": "DUP3",
"source": 1
},
{
"begin": 330,
"end": 348,
"name": "ADD",
"source": 1
},
{
"begin": 322,
"end": 348,
"name": "SWAP1",
"source": 1
},
{
"begin": 322,
"end": 348,
"name": "POP",
"source": 1
},
{
"begin": 358,
"end": 429,
"name": "PUSH [tag]",
"source": 1,
"value": "56"
},
{
"begin": 426,
"end": 427,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 415,
"end": 424,
"name": "DUP4",
"source": 1
},
{
"begin": 411,
"end": 428,
"name": "ADD",
"source": 1
},
{
"begin": 402,
"end": 408,
"name": "DUP5",
"source": 1
},
{
"begin": 358,
"end": 429,
"name": "PUSH [tag]",
"source": 1,
"value": "39"
},
{
"begin": 358,
"end": 429,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 358,
"end": 429,
"name": "tag",
"source": 1,
"value": "56"
},
{
"begin": 358,
"end": 429,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "SWAP3",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "SWAP2",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "POP",
"source": 1
},
{
"begin": 214,
"end": 436,
"name": "POP",
"source": 1
},
{
"begin": 214,
"end": 436,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 523,
"end": 640,
"name": "tag",
"source": 1,
"value": "41"
},
{
"begin": 523,
"end": 640,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 632,
"end": 633,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 629,
"end": 630,
"name": "DUP1",
"source": 1
},
{
"begin": 622,
"end": 634,
"name": "REVERT",
"source": 1
},
{
"begin": 769,
"end": 891,
"name": "tag",
"source": 1,
"value": "43"
},
{
"begin": 769,
"end": 891,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 842,
"end": 866,
"name": "PUSH [tag]",
"source": 1,
"value": "61"
},
{
"begin": 860,
"end": 865,
"name": "DUP2",
"source": 1
},
{
"begin": 842,
"end": 866,
"name": "PUSH [tag]",
"source": 1,
"value": "38"
},
{
"begin": 842,
"end": 866,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 842,
"end": 866,
"name": "tag",
"source": 1,
"value": "61"
},
{
"begin": 842,
"end": 866,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 835,
"end": 840,
"name": "DUP2",
"source": 1
},
{
"begin": 832,
"end": 867,
"name": "EQ",
"source": 1
},
{
"begin": 822,
"end": 885,
"name": "PUSH [tag]",
"source": 1,
"value": "62"
},
{
"begin": 822,
"end": 885,
"name": "JUMPI",
"source": 1
},
{
"begin": 881,
"end": 882,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 878,
"end": 879,
"name": "DUP1",
"source": 1
},
{
"begin": 871,
"end": 883,
"name": "REVERT",
"source": 1
},
{
"begin": 822,
"end": 885,
"name": "tag",
"source": 1,
"value": "62"
},
{
"begin": 822,
"end": 885,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 769,
"end": 891,
"name": "POP",
"source": 1
},
{
"begin": 769,
"end": 891,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 897,
"end": 1036,
"name": "tag",
"source": 1,
"value": "44"
},
{
"begin": 897,
"end": 1036,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 943,
"end": 948,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 981,
"end": 987,
"name": "DUP2",
"source": 1
},
{
"begin": 968,
"end": 988,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 959,
"end": 988,
"name": "SWAP1",
"source": 1
},
{
"begin": 959,
"end": 988,
"name": "POP",
"source": 1
},
{
"begin": 997,
"end": 1030,
"name": "PUSH [tag]",
"source": 1,
"value": "64"
},
{
"begin": 1024,
"end": 1029,
"name": "DUP2",
"source": 1
},
{
"begin": 997,
"end": 1030,
"name": "PUSH [tag]",
"source": 1,
"value": "43"
},
{
"begin": 997,
"end": 1030,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 997,
"end": 1030,
"name": "tag",
"source": 1,
"value": "64"
},
{
"begin": 997,
"end": 1030,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 897,
"end": 1036,
"name": "SWAP3",
"source": 1
},
{
"begin": 897,
"end": 1036,
"name": "SWAP2",
"source": 1
},
{
"begin": 897,
"end": 1036,
"name": "POP",
"source": 1
},
{
"begin": 897,
"end": 1036,
"name": "POP",
"source": 1
},
{
"begin": 897,
"end": 1036,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1042,
"end": 1371,
"name": "tag",
"source": 1,
"value": "13"
},
{
"begin": 1042,
"end": 1371,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1101,
"end": 1107,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1150,
"end": 1152,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1138,
"end": 1147,
"name": "DUP3",
"source": 1
},
{
"begin": 1129,
"end": 1136,
"name": "DUP5",
"source": 1
},
{
"begin": 1125,
"end": 1148,
"name": "SUB",
"source": 1
},
{
"begin": 1121,
"end": 1153,
"name": "SLT",
"source": 1
},
{
"begin": 1118,
"end": 1237,
"name": "ISZERO",
"source": 1
},
{
"begin": 1118,
"end": 1237,
"name": "PUSH [tag]",
"source": 1,
"value": "66"
},
{
"begin": 1118,
"end": 1237,
"name": "JUMPI",
"source": 1
},
{
"begin": 1156,
"end": 1235,
"name": "PUSH [tag]",
"source": 1,
"value": "67"
},
{
"begin": 1156,
"end": 1235,
"name": "PUSH [tag]",
"source": 1,
"value": "41"
},
{
"begin": 1156,
"end": 1235,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1156,
"end": 1235,
"name": "tag",
"source": 1,
"value": "67"
},
{
"begin": 1156,
"end": 1235,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1118,
"end": 1237,
"name": "tag",
"source": 1,
"value": "66"
},
{
"begin": 1118,
"end": 1237,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1276,
"end": 1277,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1301,
"end": 1354,
"name": "PUSH [tag]",
"source": 1,
"value": "68"
},
{
"begin": 1346,
"end": 1353,
"name": "DUP5",
"source": 1
},
{
"begin": 1337,
"end": 1343,
"name": "DUP3",
"source": 1
},
{
"begin": 1326,
"end": 1335,
"name": "DUP6",
"source": 1
},
{
"begin": 1322,
"end": 1344,
"name": "ADD",
"source": 1
},
{
"begin": 1301,
"end": 1354,
"name": "PUSH [tag]",
"source": 1,
"value": "44"
},
{
"begin": 1301,
"end": 1354,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1301,
"end": 1354,
"name": "tag",
"source": 1,
"value": "68"
},
{
"begin": 1301,
"end": 1354,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1291,
"end": 1354,
"name": "SWAP2",
"source": 1
},
{
"begin": 1291,
"end": 1354,
"name": "POP",
"source": 1
},
{
"begin": 1247,
"end": 1364,
"name": "POP",
"source": 1
},
{
"begin": 1042,
"end": 1371,
"name": "SWAP3",
"source": 1
},
{
"begin": 1042,
"end": 1371,
"name": "SWAP2",
"source": 1
},
{
"begin": 1042,
"end": 1371,
"name": "POP",
"source": 1
},
{
"begin": 1042,
"end": 1371,
"name": "POP",
"source": 1
},
{
"begin": 1042,
"end": 1371,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1377,
"end": 1476,
"name": "tag",
"source": 1,
"value": "45"
},
{
"begin": 1377,
"end": 1476,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1429,
"end": 1435,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1463,
"end": 1468,
"name": "DUP2",
"source": 1
},
{
"begin": 1457,
"end": 1469,
"name": "MLOAD",
"source": 1
},
{
"begin": 1447,
"end": 1469,
"name": "SWAP1",
"source": 1
},
{
"begin": 1447,
"end": 1469,
"name": "POP",
"source": 1
},
{
"begin": 1377,
"end": 1476,
"name": "SWAP2",
"source": 1
},
{
"begin": 1377,
"end": 1476,
"name": "SWAP1",
"source": 1
},
{
"begin": 1377,
"end": 1476,
"name": "POP",
"source": 1
},
{
"begin": 1377,
"end": 1476,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1482,
"end": 1651,
"name": "tag",
"source": 1,
"value": "46"
},
{
"begin": 1482,
"end": 1651,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1566,
"end": 1577,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1600,
"end": 1606,
"name": "DUP3",
"source": 1
},
{
"begin": 1595,
"end": 1598,
"name": "DUP3",
"source": 1
},
{
"begin": 1588,
"end": 1607,
"name": "MSTORE",
"source": 1
},
{
"begin": 1640,
"end": 1644,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1635,
"end": 1638,
"name": "DUP3",
"source": 1
},
{
"begin": 1631,
"end": 1645,
"name": "ADD",
"source": 1
},
{
"begin": 1616,
"end": 1645,
"name": "SWAP1",
"source": 1
},
{
"begin": 1616,
"end": 1645,
"name": "POP",
"source": 1
},
{
"begin": 1482,
"end": 1651,
"name": "SWAP3",
"source": 1
},
{
"begin": 1482,
"end": 1651,
"name": "SWAP2",
"source": 1
},
{
"begin": 1482,
"end": 1651,
"name": "POP",
"source": 1
},
{
"begin": 1482,
"end": 1651,
"name": "POP",
"source": 1
},
{
"begin": 1482,
"end": 1651,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1657,
"end": 1903,
"name": "tag",
"source": 1,
"value": "47"
},
{
"begin": 1657,
"end": 1903,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1738,
"end": 1739,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1748,
"end": 1861,
"name": "tag",
"source": 1,
"value": "72"
},
{
"begin": 1748,
"end": 1861,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1762,
"end": 1768,
"name": "DUP4",
"source": 1
},
{
"begin": 1759,
"end": 1760,
"name": "DUP2",
"source": 1
},
{
"begin": 1756,
"end": 1769,
"name": "LT",
"source": 1
},
{
"begin": 1748,
"end": 1861,
"name": "ISZERO",
"source": 1
},
{
"begin": 1748,
"end": 1861,
"name": "PUSH [tag]",
"source": 1,
"value": "74"
},
{
"begin": 1748,
"end": 1861,
"name": "JUMPI",
"source": 1
},
{
"begin": 1847,
"end": 1848,
"name": "DUP1",
"source": 1
},
{
"begin": 1842,
"end": 1845,
"name": "DUP3",
"source": 1
},
{
"begin": 1838,
"end": 1849,
"name": "ADD",
"source": 1
},
{
"begin": 1832,
"end": 1850,
"name": "MLOAD",
"source": 1
},
{
"begin": 1828,
"end": 1829,
"name": "DUP2",
"source": 1
},
{
"begin": 1823,
"end": 1826,
"name": "DUP5",
"source": 1
},
{
"begin": 1819,
"end": 1830,
"name": "ADD",
"source": 1
},
{
"begin": 1812,
"end": 1851,
"name": "MSTORE",
"source": 1
},
{
"begin": 1784,
"end": 1786,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1781,
"end": 1782,
"name": "DUP2",
"source": 1
},
{
"begin": 1777,
"end": 1787,
"name": "ADD",
"source": 1
},
{
"begin": 1772,
"end": 1787,
"name": "SWAP1",
"source": 1
},
{
"begin": 1772,
"end": 1787,
"name": "POP",
"source": 1
},
{
"begin": 1748,
"end": 1861,
"name": "PUSH [tag]",
"source": 1,
"value": "72"
},
{
"begin": 1748,
"end": 1861,
"name": "JUMP",
"source": 1
},
{
"begin": 1748,
"end": 1861,
"name": "tag",
"source": 1,
"value": "74"
},
{
"begin": 1748,
"end": 1861,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1895,
"end": 1896,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1886,
"end": 1892,
"name": "DUP5",
"source": 1
},
{
"begin": 1881,
"end": 1884,
"name": "DUP5",
"source": 1
},
{
"begin": 1877,
"end": 1893,
"name": "ADD",
"source": 1
},
{
"begin": 1870,
"end": 1897,
"name": "MSTORE",
"source": 1
},
{
"begin": 1719,
"end": 1903,
"name": "POP",
"source": 1
},
{
"begin": 1657,
"end": 1903,
"name": "POP",
"source": 1
},
{
"begin": 1657,
"end": 1903,
"name": "POP",
"source": 1
},
{
"begin": 1657,
"end": 1903,
"name": "POP",
"source": 1
},
{
"begin": 1657,
"end": 1903,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1909,
"end": 2011,
"name": "tag",
"source": 1,
"value": "48"
},
{
"begin": 1909,
"end": 2011,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1950,
"end": 1956,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2001,
"end": 2003,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 1997,
"end": 2004,
"name": "NOT",
"source": 1
},
{
"begin": 1992,
"end": 1994,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 1985,
"end": 1990,
"name": "DUP4",
"source": 1
},
{
"begin": 1981,
"end": 1995,
"name": "ADD",
"source": 1
},
{
"begin": 1977,
"end": 2005,
"name": "AND",
"source": 1
},
{
"begin": 1967,
"end": 2005,
"name": "SWAP1",
"source": 1
},
{
"begin": 1967,
"end": 2005,
"name": "POP",
"source": 1
},
{
"begin": 1909,
"end": 2011,
"name": "SWAP2",
"source": 1
},
{
"begin": 1909,
"end": 2011,
"name": "SWAP1",
"source": 1
},
{
"begin": 1909,
"end": 2011,
"name": "POP",
"source": 1
},
{
"begin": 1909,
"end": 2011,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2017,
"end": 2394,
"name": "tag",
"source": 1,
"value": "49"
},
{
"begin": 2017,
"end": 2394,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2105,
"end": 2108,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2133,
"end": 2172,
"name": "PUSH [tag]",
"source": 1,
"value": "77"
},
{
"begin": 2166,
"end": 2171,
"name": "DUP3",
"source": 1
},
{
"begin": 2133,
"end": 2172,
"name": "PUSH [tag]",
"source": 1,
"value": "45"
},
{
"begin": 2133,
"end": 2172,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2133,
"end": 2172,
"name": "tag",
"source": 1,
"value": "77"
},
{
"begin": 2133,
"end": 2172,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2188,
"end": 2259,
"name": "PUSH [tag]",
"source": 1,
"value": "78"
},
{
"begin": 2252,
"end": 2258,
"name": "DUP2",
"source": 1
},
{
"begin": 2247,
"end": 2250,
"name": "DUP6",
"source": 1
},
{
"begin": 2188,
"end": 2259,
"name": "PUSH [tag]",
"source": 1,
"value": "46"
},
{
"begin": 2188,
"end": 2259,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2188,
"end": 2259,
"name": "tag",
"source": 1,
"value": "78"
},
{
"begin": 2188,
"end": 2259,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2181,
"end": 2259,
"name": "SWAP4",
"source": 1
},
{
"begin": 2181,
"end": 2259,
"name": "POP",
"source": 1
},
{
"begin": 2268,
"end": 2333,
"name": "PUSH [tag]",
"source": 1,
"value": "79"
},
{
"begin": 2326,
"end": 2332,
"name": "DUP2",
"source": 1
},
{
"begin": 2321,
"end": 2324,
"name": "DUP6",
"source": 1
},
{
"begin": 2314,
"end": 2318,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2307,
"end": 2312,
"name": "DUP7",
"source": 1
},
{
"begin": 2303,
"end": 2319,
"name": "ADD",
"source": 1
},
{
"begin": 2268,
"end": 2333,
"name": "PUSH [tag]",
"source": 1,
"value": "47"
},
{
"begin": 2268,
"end": 2333,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2268,
"end": 2333,
"name": "tag",
"source": 1,
"value": "79"
},
{
"begin": 2268,
"end": 2333,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2358,
"end": 2387,
"name": "PUSH [tag]",
"source": 1,
"value": "80"
},
{
"begin": 2380,
"end": 2386,
"name": "DUP2",
"source": 1
},
{
"begin": 2358,
"end": 2387,
"name": "PUSH [tag]",
"source": 1,
"value": "48"
},
{
"begin": 2358,
"end": 2387,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2358,
"end": 2387,
"name": "tag",
"source": 1,
"value": "80"
},
{
"begin": 2358,
"end": 2387,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2353,
"end": 2356,
"name": "DUP5",
"source": 1
},
{
"begin": 2349,
"end": 2388,
"name": "ADD",
"source": 1
},
{
"begin": 2342,
"end": 2388,
"name": "SWAP2",
"source": 1
},
{
"begin": 2342,
"end": 2388,
"name": "POP",
"source": 1
},
{
"begin": 2109,
"end": 2394,
"name": "POP",
"source": 1
},
{
"begin": 2017,
"end": 2394,
"name": "SWAP3",
"source": 1
},
{
"begin": 2017,
"end": 2394,
"name": "SWAP2",
"source": 1
},
{
"begin": 2017,
"end": 2394,
"name": "POP",
"source": 1
},
{
"begin": 2017,
"end": 2394,
"name": "POP",
"source": 1
},
{
"begin": 2017,
"end": 2394,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2400,
"end": 2823,
"name": "tag",
"source": 1,
"value": "16"
},
{
"begin": 2400,
"end": 2823,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2541,
"end": 2545,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2579,
"end": 2581,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 2568,
"end": 2577,
"name": "DUP3",
"source": 1
},
{
"begin": 2564,
"end": 2582,
"name": "ADD",
"source": 1
},
{
"begin": 2556,
"end": 2582,
"name": "SWAP1",
"source": 1
},
{
"begin": 2556,
"end": 2582,
"name": "POP",
"source": 1
},
{
"begin": 2592,
"end": 2663,
"name": "PUSH [tag]",
"source": 1,
"value": "82"
},
{
"begin": 2660,
"end": 2661,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2649,
"end": 2658,
"name": "DUP4",
"source": 1
},
{
"begin": 2645,
"end": 2662,
"name": "ADD",
"source": 1
},
{
"begin": 2636,
"end": 2642,
"name": "DUP6",
"source": 1
},
{
"begin": 2592,
"end": 2663,
"name": "PUSH [tag]",
"source": 1,
"value": "39"
},
{
"begin": 2592,
"end": 2663,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2592,
"end": 2663,
"name": "tag",
"source": 1,
"value": "82"
},
{
"begin": 2592,
"end": 2663,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2710,
"end": 2719,
"name": "DUP2",
"source": 1
},
{
"begin": 2704,
"end": 2708,
"name": "DUP2",
"source": 1
},
{
"begin": 2700,
"end": 2720,
"name": "SUB",
"source": 1
},
{
"begin": 2695,
"end": 2697,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2684,
"end": 2693,
"name": "DUP4",
"source": 1
},
{
"begin": 2680,
"end": 2698,
"name": "ADD",
"source": 1
},
{
"begin": 2673,
"end": 2721,
"name": "MSTORE",
"source": 1
},
{
"begin": 2738,
"end": 2816,
"name": "PUSH [tag]",
"source": 1,
"value": "83"
},
{
"begin": 2811,
"end": 2815,
"name": "DUP2",
"source": 1
},
{
"begin": 2802,
"end": 2808,
"name": "DUP5",
"source": 1
},
{
"begin": 2738,
"end": 2816,
"name": "PUSH [tag]",
"source": 1,
"value": "49"
},
{
"begin": 2738,
"end": 2816,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2738,
"end": 2816,
"name": "tag",
"source": 1,
"value": "83"
},
{
"begin": 2738,
"end": 2816,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2730,
"end": 2816,
"name": "SWAP1",
"source": 1
},
{
"begin": 2730,
"end": 2816,
"name": "POP",
"source": 1
},
{
"begin": 2400,
"end": 2823,
"name": "SWAP4",
"source": 1
},
{
"begin": 2400,
"end": 2823,
"name": "SWAP3",
"source": 1
},
{
"begin": 2400,
"end": 2823,
"name": "POP",
"source": 1
},
{
"begin": 2400,
"end": 2823,
"name": "POP",
"source": 1
},
{
"begin": 2400,
"end": 2823,
"name": "POP",
"source": 1
},
{
"begin": 2400,
"end": 2823,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2829,
"end": 3009,
"name": "tag",
"source": 1,
"value": "50"
},
{
"begin": 2829,
"end": 3009,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2877,
"end": 2954,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 2874,
"end": 2875,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2867,
"end": 2955,
"name": "MSTORE",
"source": 1
},
{
"begin": 2974,
"end": 2978,
"name": "PUSH",
"source": 1,
"value": "22"
},
{
"begin": 2971,
"end": 2972,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 2964,
"end": 2979,
"name": "MSTORE",
"source": 1
},
{
"begin": 2998,
"end": 3002,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 2995,
"end": 2996,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2988,
"end": 3003,
"name": "REVERT",
"source": 1
},
{
"begin": 3015,
"end": 3335,
"name": "tag",
"source": 1,
"value": "27"
},
{
"begin": 3015,
"end": 3335,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3059,
"end": 3065,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3096,
"end": 3097,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 3090,
"end": 3094,
"name": "DUP3",
"source": 1
},
{
"begin": 3086,
"end": 3098,
"name": "DIV",
"source": 1
},
{
"begin": 3076,
"end": 3098,
"name": "SWAP1",
"source": 1
},
{
"begin": 3076,
"end": 3098,
"name": "POP",
"source": 1
},
{
"begin": 3143,
"end": 3144,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 3137,
"end": 3141,
"name": "DUP3",
"source": 1
},
{
"begin": 3133,
"end": 3145,
"name": "AND",
"source": 1
},
{
"begin": 3164,
"end": 3182,
"name": "DUP1",
"source": 1
},
{
"begin": 3154,
"end": 3235,
"name": "PUSH [tag]",
"source": 1,
"value": "86"
},
{
"begin": 3154,
"end": 3235,
"name": "JUMPI",
"source": 1
},
{
"begin": 3220,
"end": 3224,
"name": "PUSH",
"source": 1,
"value": "7F"
},
{
"begin": 3212,
"end": 3218,
"name": "DUP3",
"source": 1
},
{
"begin": 3208,
"end": 3225,
"name": "AND",
"source": 1
},
{
"begin": 3198,
"end": 3225,
"name": "SWAP2",
"source": 1
},
{
"begin": 3198,
"end": 3225,
"name": "POP",
"source": 1
},
{
"begin": 3154,
"end": 3235,
"name": "tag",
"source": 1,
"value": "86"
},
{
"begin": 3154,
"end": 3235,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3282,
"end": 3284,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3274,
"end": 3280,
"name": "DUP3",
"source": 1
},
{
"begin": 3271,
"end": 3285,
"name": "LT",
"source": 1
},
{
"begin": 3251,
"end": 3269,
"name": "DUP2",
"source": 1
},
{
"begin": 3248,
"end": 3286,
"name": "SUB",
"source": 1
},
{
"begin": 3245,
"end": 3329,
"name": "PUSH [tag]",
"source": 1,
"value": "87"
},
{
"begin": 3245,
"end": 3329,
"name": "JUMPI",
"source": 1
},
{
"begin": 3301,
"end": 3319,
"name": "PUSH [tag]",
"source": 1,
"value": "88"
},
{
"begin": 3301,
"end": 3319,
"name": "PUSH [tag]",
"source": 1,
"value": "50"
},
{
"begin": 3301,
"end": 3319,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3301,
"end": 3319,
"name": "tag",
"source": 1,
"value": "88"
},
{
"begin": 3301,
"end": 3319,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3245,
"end": 3329,
"name": "tag",
"source": 1,
"value": "87"
},
{
"begin": 3245,
"end": 3329,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3066,
"end": 3335,
"name": "POP",
"source": 1
},
{
"begin": 3015,
"end": 3335,
"name": "SWAP2",
"source": 1
},
{
"begin": 3015,
"end": 3335,
"name": "SWAP1",
"source": 1
},
{
"begin": 3015,
"end": 3335,
"name": "POP",
"source": 1
},
{
"begin": 3015,
"end": 3335,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
}
]
}
},
"sourceList": [
"SimpleStorage.sol",
"#utility.yul"
]
},
"methodIdentifiers": {
"listOfPeople(uint256)": "2ebce631",
"pat()": "b4a24f50",
"retrieve()": "2e64cec1",
"store(uint256)": "6057361d"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"listOfPeople\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"favoriteNumber\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pat\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"favoriteNumber\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"retrieve\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_favoriteNumber\",\"type\":\"uint256\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"SimpleStorage.sol\":\"SimpleStorage\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"SimpleStorage.sol\":{\"keccak256\":\"0x2b6d86faea2d424d1a10efd0f2d4874e3ffe52fbed6b366ac3efd7fee5dcdb8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b8bfdf0ffab0a3b943bfe0c6395d96132b02eb1117bcda57cbe1cf99cbe63d9a\",\"dweb:/ipfs/QmZMKsHTFKEEgcuspyoJtDU4xGprzPPPkVyj9k9xMcmmM2\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 3,
"contract": "SimpleStorage.sol:SimpleStorage",
"label": "myFavoriteNumber",
"offset": 0,
"slot": "0",
"type": "t_uint256"
},
{
"astId": 6,
"contract": "SimpleStorage.sol:SimpleStorage",
"label": "listOfFavoriteNumbers",
"offset": 0,
"slot": "1",
"type": "t_array(t_uint256)dyn_storage"
},
{
"astId": 15,
"contract": "SimpleStorage.sol:SimpleStorage",
"label": "listOfPeople",
"offset": 0,
"slot": "2",
"type": "t_array(t_struct(Person)11_storage)dyn_storage"
},
{
"astId": 22,
"contract": "SimpleStorage.sol:SimpleStorage",
"label": "pat",
"offset": 0,
"slot": "3",
"type": "t_struct(Person)11_storage"
}
],
"types": {
"t_array(t_struct(Person)11_storage)dyn_storage": {
"base": "t_struct(Person)11_storage",
"encoding": "dynamic_array",
"label": "struct SimpleStorage.Person[]",
"numberOfBytes": "32"
},
"t_array(t_uint256)dyn_storage": {
"base": "t_uint256",
"encoding": "dynamic_array",
"label": "uint256[]",
"numberOfBytes": "32"
},
"t_string_storage": {
"encoding": "bytes",
"label": "string",
"numberOfBytes": "32"
},
"t_struct(Person)11_storage": {
"encoding": "inplace",
"label": "struct SimpleStorage.Person",
"members": [
{
"astId": 8,
"contract": "SimpleStorage.sol:SimpleStorage",
"label": "favoriteNumber",
"offset": 0,
"slot": "0",
"type": "t_uint256"
},
{
"astId": 10,
"contract": "SimpleStorage.sol:SimpleStorage",
"label": "name",
"offset": 0,
"slot": "1",
"type": "t_string_storage"
}
],
"numberOfBytes": "64"
},
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"SimpleStorage.sol": {
"ast": {
"absolutePath": "SimpleStorage.sol",
"exportedSymbols": {
"SimpleStorage": [
41
]
},
"id": 42,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"0.8",
".19"
],
"nodeType": "PragmaDirective",
"src": "32:23:0"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "SimpleStorage",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 41,
"linearizedBaseContracts": [
41
],
"name": "SimpleStorage",
"nameLocation": "128:13:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 3,
"mutability": "mutable",
"name": "myFavoriteNumber",
"nameLocation": "394:16:0",
"nodeType": "VariableDeclaration",
"scope": 41,
"src": "386:24:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "386:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 6,
"mutability": "mutable",
"name": "listOfFavoriteNumbers",
"nameLocation": "429:21:0",
"nodeType": "VariableDeclaration",
"scope": 41,
"src": "419:31:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 4,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "419:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 5,
"nodeType": "ArrayTypeName",
"src": "419:9:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"visibility": "internal"
},
{
"canonicalName": "SimpleStorage.Person",
"id": 11,
"members": [
{
"constant": false,
"id": 8,
"mutability": "mutable",
"name": "favoriteNumber",
"nameLocation": "492:14:0",
"nodeType": "VariableDeclaration",
"scope": 11,
"src": "484:22:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 7,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "484:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10,
"mutability": "mutable",
"name": "name",
"nameLocation": "524:4:0",
"nodeType": "VariableDeclaration",
"scope": 11,
"src": "517:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 9,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "517:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"name": "Person",
"nameLocation": "466:6:0",
"nodeType": "StructDefinition",
"scope": 41,
"src": "459:77:0",
"visibility": "public"
},
{
"constant": false,
"functionSelector": "2ebce631",
"id": 15,
"mutability": "mutable",
"name": "listOfPeople",
"nameLocation": "560:12:0",
"nodeType": "VariableDeclaration",
"scope": 41,
"src": "544:28:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_Person_$11_storage_$dyn_storage",
"typeString": "struct SimpleStorage.Person[]"
},
"typeName": {
"baseType": {
"id": 13,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 12,
"name": "Person",
"nameLocations": [
"544:6:0"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 11,
"src": "544:6:0"
},
"referencedDeclaration": 11,
"src": "544:6:0",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Person_$11_storage_ptr",
"typeString": "struct SimpleStorage.Person"
}
},
"id": 14,
"nodeType": "ArrayTypeName",
"src": "544:8:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_Person_$11_storage_$dyn_storage_ptr",
"typeString": "struct SimpleStorage.Person[]"
}
},
"visibility": "public"
},
{
"constant": false,
"functionSelector": "b4a24f50",
"id": 22,
"mutability": "mutable",
"name": "pat",
"nameLocation": "595:3:0",
"nodeType": "VariableDeclaration",
"scope": 41,
"src": "581:60:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Person_$11_storage",
"typeString": "struct SimpleStorage.Person"
},
"typeName": {
"id": 17,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 16,
"name": "Person",
"nameLocations": [
"581:6:0"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 11,
"src": "581:6:0"
},
"referencedDeclaration": 11,
"src": "581:6:0",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Person_$11_storage_ptr",
"typeString": "struct SimpleStorage.Person"
}
},
"value": {
"arguments": [
{
"hexValue": "37",
"id": 19,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "625:1:0",
"typeDescriptions": {
"typeIdentifier": "t_rational_7_by_1",
"typeString": "int_const 7"
},
"value": "7"
},
{
"hexValue": "506174",
"id": 20,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "634:5:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_17bbd3952f47c0d94ace8a7819b1a9adcd6ea0341dae2929ff85cd761e104720",
"typeString": "literal_string \"Pat\""
},
"value": "Pat"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_7_by_1",
"typeString": "int_const 7"
},
{
"typeIdentifier": "t_stringliteral_17bbd3952f47c0d94ace8a7819b1a9adcd6ea0341dae2929ff85cd761e104720",
"typeString": "literal_string \"Pat\""
}
],
"id": 18,
"name": "Person",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11,
"src": "601:6:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_Person_$11_storage_ptr_$",
"typeString": "type(struct SimpleStorage.Person storage pointer)"
}
},
"id": 21,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"nameLocations": [
"609:14:0",
"628:4:0"
],
"names": [
"favoriteNumber",
"name"
],
"nodeType": "FunctionCall",
"src": "601:40:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_Person_$11_memory_ptr",
"typeString": "struct SimpleStorage.Person memory"
}
},
"visibility": "public"
},
{
"body": {
"id": 31,
"nodeType": "Block",
"src": "697:53:0",
"statements": [
{
"expression": {
"id": 29,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 27,
"name": "myFavoriteNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "708:16:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 28,
"name": "_favoriteNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 24,
"src": "727:15:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "708:34:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 30,
"nodeType": "ExpressionStatement",
"src": "708:34:0"
}
]
},
"functionSelector": "6057361d",
"id": 32,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "store",
"nameLocation": "659:5:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 25,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 24,
"mutability": "mutable",
"name": "_favoriteNumber",
"nameLocation": "673:15:0",
"nodeType": "VariableDeclaration",
"scope": 32,
"src": "665:23:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "665:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "664:25:0"
},
"returnParameters": {
"id": 26,
"nodeType": "ParameterList",
"parameters": [],
"src": "697:0:0"
},
"scope": 41,
"src": "650:100:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 39,
"nodeType": "Block",
"src": "807:42:0",
"statements": [
{
"expression": {
"id": 37,
"name": "myFavoriteNumber",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "825:16:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 36,
"id": 38,
"nodeType": "Return",
"src": "818:23:0"
}
]
},
"functionSelector": "2e64cec1",
"id": 40,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "retrieve",
"nameLocation": "767:8:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 33,
"nodeType": "ParameterList",
"parameters": [],
"src": "775:2:0"
},
"returnParameters": {
"id": 36,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 35,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 40,
"src": "798:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 34,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "798:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "797:9:0"
},
"scope": 41,
"src": "758:91:0",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
}
],
"scope": 42,
"src": "119:733:0",
"usedErrors": []
}
],
"src": "32:820: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": {
"array_dataslot_t_string_storage": {
"entryPoint": 295,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 137,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 616,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_uint256": {
"entryPoint": 431,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 577,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 451,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 771,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 316,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 242,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 741,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 441,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 709,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 195,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 148,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 491,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 332,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 696,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 549,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 345,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 501,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 544,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:5231:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "140:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "157:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "160:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "150:6:1"
},
"nodeType": "YulFunctionCall",
"src": "150:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "150:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "254:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "257:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "247:6:1"
},
"nodeType": "YulFunctionCall",
"src": "247:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "247:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "278:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "281:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "271:6:1"
},
"nodeType": "YulFunctionCall",
"src": "271:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "271:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "112:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "326:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "343:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "346:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "336:6:1"
},
"nodeType": "YulFunctionCall",
"src": "336:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "336:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "440:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "443:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
"nodeType": "YulFunctionCall",
"src": "433:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "433:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "464:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "467:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "457:6:1"
},
"nodeType": "YulFunctionCall",
"src": "457:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "457:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "298:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "535:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "545:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "559:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "565:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "555:3:1"
},
"nodeType": "YulFunctionCall",
"src": "555:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "545:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "576:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "606:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "612:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "602:3:1"
},
"nodeType": "YulFunctionCall",
"src": "602:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "580:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "653:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "667:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "681:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "689:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "677:3:1"
},
"nodeType": "YulFunctionCall",
"src": "677:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "667:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "633:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "626:6:1"
},
"nodeType": "YulFunctionCall",
"src": "626:26:1"
},
"nodeType": "YulIf",
"src": "623:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "756:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "770:16:1"
},
"nodeType": "YulFunctionCall",
"src": "770:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "770:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "720:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "743:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "751:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "740:2:1"
},
"nodeType": "YulFunctionCall",
"src": "740:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "717:2:1"
},
"nodeType": "YulFunctionCall",
"src": "717:38:1"
},
"nodeType": "YulIf",
"src": "714:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "519:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "528:6:1",
"type": ""
}
],
"src": "484:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "864:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "874:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "882:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "874:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "902:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "905:3:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "895:6:1"
},
"nodeType": "YulFunctionCall",
"src": "895:14:1"
},
"nodeType": "YulExpressionStatement",
"src": "895:14:1"
},
{
"nodeType": "YulAssignment",
"src": "918:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "936:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "939:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nodeType": "YulIdentifier",
"src": "926:9:1"
},
"nodeType": "YulFunctionCall",
"src": "926:18:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "918:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "851:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "859:4:1",
"type": ""
}
],
"src": "810:141:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1001:49:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1011:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1029:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1036:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1025:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1025:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1041:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "1021:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1021:23:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1011:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "984:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "994:6:1",
"type": ""
}
],
"src": "957:93:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1109:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1119:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "1144:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1150:5:1"
}
],
"functionName": {
"name": "shl",
"nodeType": "YulIdentifier",
"src": "1140:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1140:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "1119:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "1084:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1090:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "1100:8:1",
"type": ""
}
],
"src": "1056:107:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1245:317:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1255:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nodeType": "YulIdentifier",
"src": "1276:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1288:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "1272:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1272:18:1"
},
"variables": [
{
"name": "shiftBits",
"nodeType": "YulTypedName",
"src": "1259:9:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "1299:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "1330:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1341:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "1311:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1311:97:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "1303:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1417:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nodeType": "YulIdentifier",
"src": "1448:9:1"
},
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1459:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nodeType": "YulIdentifier",
"src": "1429:18:1"
},
"nodeType": "YulFunctionCall",
"src": "1429:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1417:8:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1477:30:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1490:5:1"
},
{
"arguments": [
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "1501:4:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1497:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1497:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1486:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1486:21:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1477:5:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "1516:40:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1529:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nodeType": "YulIdentifier",
"src": "1540:8:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "1550:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1536:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1536:19:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "1526:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1526:30:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1516:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1206:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nodeType": "YulTypedName",
"src": "1213:10:1",
"type": ""
},
{
"name": "toInsert",
"nodeType": "YulTypedName",
"src": "1225:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1238:6:1",
"type": ""
}
],
"src": "1169:393:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1613:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1623:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1634:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1623:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1595:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1605:7:1",
"type": ""
}
],
"src": "1568:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1683:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1693:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1700:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1693:3:1"
}
]
}
]
},
"name": "identity",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1669:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1679:3:1",
"type": ""
}
],
"src": "1651:60:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1777:82:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1787:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1845:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1827:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1827:24:1"
}
],
"functionName": {
"name": "identity",
"nodeType": "YulIdentifier",
"src": "1818:8:1"
},
"nodeType": "YulFunctionCall",
"src": "1818:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1800:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1800:53:1"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "1787:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1757:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "1767:9:1",
"type": ""
}
],
"src": "1717:142:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1912:28:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1922:12:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1929:5:1"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1922:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1898:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1908:3:1",
"type": ""
}
],
"src": "1865:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2022:193:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2032:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nodeType": "YulIdentifier",
"src": "2087:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "2056:30:1"
},
"nodeType": "YulFunctionCall",
"src": "2056:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nodeType": "YulTypedName",
"src": "2036:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2111:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2151:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "2145:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2145:11:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2158:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nodeType": "YulIdentifier",
"src": "2190:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nodeType": "YulIdentifier",
"src": "2166:23:1"
},
"nodeType": "YulFunctionCall",
"src": "2166:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nodeType": "YulIdentifier",
"src": "2117:27:1"
},
"nodeType": "YulFunctionCall",
"src": "2117:91:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "2104:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2104:105:1"
},
"nodeType": "YulExpressionStatement",
"src": "2104:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "1999:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2005:6:1",
"type": ""
},
{
"name": "value_0",
"nodeType": "YulTypedName",
"src": "2013:7:1",
"type": ""
}
],
"src": "1946:269:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2270:24:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2280:8:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2287:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "2280:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "2266:3:1",
"type": ""
}
],
"src": "2221:73:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2353:136:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2363:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nodeType": "YulIdentifier",
"src": "2377:30:1"
},
"nodeType": "YulFunctionCall",
"src": "2377:32:1"
},
"variables": [
{
"name": "zero_0",
"nodeType": "YulTypedName",
"src": "2367:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "2462:4:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "2468:6:1"
},
{
"name": "zero_0",
"nodeType": "YulIdentifier",
"src": "2476:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nodeType": "YulIdentifier",
"src": "2418:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2418:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "2418:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "2339:4:1",
"type": ""
},
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "2345:6:1",
"type": ""
}
],
"src": "2300:189:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2545:136:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2612:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2656:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2663:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nodeType": "YulIdentifier",
"src": "2626:29:1"
},
"nodeType": "YulFunctionCall",
"src": "2626:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "2626:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2565:5:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2572:3:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2562:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2562:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2577:26:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2579:22:1",
"value": {
"arguments": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2592:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2599:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2588:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2588:13:1"
},
"variableNames": [
{
"name": "start",
"nodeType": "YulIdentifier",
"src": "2579:5:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2559:2:1",
"statements": []
},
"src": "2555:120:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nodeType": "YulTypedName",
"src": "2533:5:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2540:3:1",
"type": ""
}
],
"src": "2495:186:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2766:464:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2792:431:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2806:54:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "2854:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "2822:31:1"
},
"nodeType": "YulFunctionCall",
"src": "2822:38:1"
},
"variables": [
{
"name": "dataArea",
"nodeType": "YulTypedName",
"src": "2810:8:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2873:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "2896:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "2924:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "2906:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2906:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2892:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2892:44:1"
},
"variables": [
{
"name": "deleteStart",
"nodeType": "YulTypedName",
"src": "2877:11:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3093:27:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3095:23:1",
"value": {
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "3110:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "3095:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nodeType": "YulIdentifier",
"src": "3077:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3089:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3074:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3074:18:1"
},
"nodeType": "YulIf",
"src": "3071:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nodeType": "YulIdentifier",
"src": "3162:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nodeType": "YulIdentifier",
"src": "3179:8:1"
},
{
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3207:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nodeType": "YulIdentifier",
"src": "3189:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3189:22:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3175:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3175:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nodeType": "YulIdentifier",
"src": "3133:28:1"
},
"nodeType": "YulFunctionCall",
"src": "3133:80:1"
},
"nodeType": "YulExpressionStatement",
"src": "3133:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "2783:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2788:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "2780:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2780:11:1"
},
"nodeType": "YulIf",
"src": "2777:446:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "2742:5:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "2749:3:1",
"type": ""
},
{
"name": "startIndex",
"nodeType": "YulTypedName",
"src": "2754:10:1",
"type": ""
}
],
"src": "2687:543:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3299:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3309:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nodeType": "YulIdentifier",
"src": "3334:4:1"
},
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3340:5:1"
}
],
"functionName": {
"name": "shr",
"nodeType": "YulIdentifier",
"src": "3330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3330:16:1"
},
"variableNames": [
{
"name": "newValue",
"nodeType": "YulIdentifier",
"src": "3309:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nodeType": "YulTypedName",
"src": "3274:4:1",
"type": ""
},
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3280:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nodeType": "YulTypedName",
"src": "3290:8:1",
"type": ""
}
],
"src": "3236:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3410:118:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3420:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3469:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nodeType": "YulIdentifier",
"src": "3472:5:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "3465:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3465:13:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3484:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3480:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3480:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nodeType": "YulIdentifier",
"src": "3436:28:1"
},
"nodeType": "YulFunctionCall",
"src": "3436:51:1"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "3432:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3432:56:1"
},
"variables": [
{
"name": "mask",
"nodeType": "YulTypedName",
"src": "3424:4:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3497:25:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3511:4:1"
},
{
"name": "mask",
"nodeType": "YulIdentifier",
"src": "3517:4:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3507:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3507:15:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "3497:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3387:4:1",
"type": ""
},
{
"name": "bytes",
"nodeType": "YulTypedName",
"src": "3393:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "3403:6:1",
"type": ""
}
],
"src": "3359:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3614:214:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3747:37:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3774:4:1"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3780:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "3755:18:1"
},
"nodeType": "YulFunctionCall",
"src": "3755:29:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3747:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3793:29:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3804:4:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3814:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nodeType": "YulIdentifier",
"src": "3817:3:1"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "3810:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3810:11:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "3801:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3801:21:1"
},
"variableNames": [
{
"name": "used",
"nodeType": "YulIdentifier",
"src": "3793:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3595:4:1",
"type": ""
},
{
"name": "len",
"nodeType": "YulTypedName",
"src": "3601:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nodeType": "YulTypedName",
"src": "3609:4:1",
"type": ""
}
],
"src": "3533:295:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3925:1303:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3936:51:1",
"value": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "3983:3:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3950:32:1"
},
"nodeType": "YulFunctionCall",
"src": "3950:37:1"
},
"variables": [
{
"name": "newLen",
"nodeType": "YulTypedName",
"src": "3940:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4072:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "4074:16:1"
},
"nodeType": "YulFunctionCall",
"src": "4074:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "4074:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4044:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4052:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4041:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4041:30:1"
},
"nodeType": "YulIf",
"src": "4038:56:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "4104:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4150:4:1"
}
],
"functionName": {
"name": "sload",
"nodeType": "YulIdentifier",
"src": "4144:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4144:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nodeType": "YulIdentifier",
"src": "4118:25:1"
},
"nodeType": "YulFunctionCall",
"src": "4118:38:1"
},
"variables": [
{
"name": "oldLen",
"nodeType": "YulTypedName",
"src": "4108:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4249:4:1"
},
{
"name": "oldLen",
"nodeType": "YulIdentifier",
"src": "4255:6:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4263:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nodeType": "YulIdentifier",
"src": "4203:45:1"
},
"nodeType": "YulFunctionCall",
"src": "4203:67:1"
},
"nodeType": "YulExpressionStatement",
"src": "4203:67:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "4280:18:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4297:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nodeType": "YulTypedName",
"src": "4284:9:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "4308:17:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4321:4:1",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4308:9:1"
}
]
},
{
"cases": [
{
"body": {
"nodeType": "YulBlock",
"src": "4372:611:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4386:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4405:6:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4417:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "4413:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4413:9:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4401:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4401:22:1"
},
"variables": [
{
"name": "loopEnd",
"nodeType": "YulTypedName",
"src": "4390:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4437:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4483:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nodeType": "YulIdentifier",
"src": "4451:31:1"
},
"nodeType": "YulFunctionCall",
"src": "4451:37:1"
},
"variables": [
{
"name": "dstPtr",
"nodeType": "YulTypedName",
"src": "4441:6:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "4501:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4510:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "4505:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "4569:163:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4594:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4612:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4617:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4608:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4608:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4602:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4602:26:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4587:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4587:42:1"
},
"nodeType": "YulExpressionStatement",
"src": "4587:42:1"
},
{
"nodeType": "YulAssignment",
"src": "4646:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4660:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4668:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4656:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4656:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4646:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "4687:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4704:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4715:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4700:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4700:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4687:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4535:1:1"
},
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "4538:7:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4532:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4532:14:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "4547:21:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4549:17:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4558:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4561:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4554:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4554:12:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "4549:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "4528:3:1",
"statements": []
},
"src": "4524:208:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4768:156:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4786:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "4813:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "4818:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4809:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4809:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4803:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4803:26:1"
},
"variables": [
{
"name": "lastValue",
"nodeType": "YulTypedName",
"src": "4790:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nodeType": "YulIdentifier",
"src": "4853:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nodeType": "YulIdentifier",
"src": "4880:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4895:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4903:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "4891:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4891:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nodeType": "YulIdentifier",
"src": "4861:18:1"
},
"nodeType": "YulFunctionCall",
"src": "4861:48:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4846:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4846:64:1"
},
"nodeType": "YulExpressionStatement",
"src": "4846:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nodeType": "YulIdentifier",
"src": "4751:7:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4760:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "4748:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4748:19:1"
},
"nodeType": "YulIf",
"src": "4745:179:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "4944:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4958:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4966:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "4954:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4954:14:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4970:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4950:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4950:22:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "4937:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4937:36:1"
},
"nodeType": "YulExpressionStatement",
"src": "4937:36:1"
}
]
},
"nodeType": "YulCase",
"src": "4365:618:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "4370:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nodeType": "YulBlock",
"src": "5000:222:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "5014:14:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "5027:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5018:5:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "5051:67:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5069:35:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5088:3:1"
},
{
"name": "srcOffset",
"nodeType": "YulIdentifier",
"src": "5093:9:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5084:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5084:19:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5078:5:1"
},
"nodeType": "YulFunctionCall",
"src": "5078:26:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5069:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "5044:6:1"
},
"nodeType": "YulIf",
"src": "5041:77:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nodeType": "YulIdentifier",
"src": "5138:4:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5197:5:1"
},
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "5204:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nodeType": "YulIdentifier",
"src": "5144:52:1"
},
"nodeType": "YulFunctionCall",
"src": "5144:67:1"
}
],
"functionName": {
"name": "sstore",
"nodeType": "YulIdentifier",
"src": "5131:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5131:81:1"
},
"nodeType": "YulExpressionStatement",
"src": "5131:81:1"
}
]
},
"nodeType": "YulCase",
"src": "4992:230:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nodeType": "YulIdentifier",
"src": "4345:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4353:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "4342:2:1"
},
"nodeType": "YulFunctionCall",
"src": "4342:14:1"
},
"nodeType": "YulSwitch",
"src": "4335:887:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nodeType": "YulTypedName",
"src": "3914:4:1",
"type": ""
},
{
"name": "src",
"nodeType": "YulTypedName",
"src": "3920:3:1",
"type": ""
}
],
"src": "3833:1395:1"
}
]
},
"contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "60806040526040518060400160405280600781526020016040518060400160405280600381526020017f5061740000000000000000000000000000000000000000000000000000000000815250815250600360008201518160000155602082015181600101908162000072919062000303565b5050503480156200008257600080fd5b50620003ea565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200010b57607f821691505b602082108103620001215762000120620000c3565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200018b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200014c565b6200019786836200014c565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620001e4620001de620001d884620001af565b620001b9565b620001af565b9050919050565b6000819050919050565b6200020083620001c3565b620002186200020f82620001eb565b84845462000159565b825550505050565b600090565b6200022f62000220565b6200023c818484620001f5565b505050565b5b8181101562000264576200025860008262000225565b60018101905062000242565b5050565b601f821115620002b3576200027d8162000127565b62000288846200013c565b8101602085101562000298578190505b620002b0620002a7856200013c565b83018262000241565b50505b505050565b600082821c905092915050565b6000620002d860001984600802620002b8565b1980831691505092915050565b6000620002f38383620002c5565b9150826002028217905092915050565b6200030e8262000089565b67ffffffffffffffff8111156200032a576200032962000094565b5b620003368254620000f2565b6200034382828562000268565b600060209050601f8311600181146200037b576000841562000366578287015190505b620003728582620002e5565b865550620003e2565b601f1984166200038b8662000127565b60005b82811015620003b5578489015182556001820191506020850194506020810190506200038e565b86831015620003d55784890151620003d1601f891682620002c5565b8355505b6001600288020188555050505b505050505050565b61042c80620003fa6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632e64cec1146100515780632ebce6311461006f5780636057361d146100a0578063b4a24f50146100bc575b600080fd5b6100596100db565b604051610066919061025d565b60405180910390f35b610089600480360381019061008491906102a9565b6100e4565b604051610097929190610366565b60405180910390f35b6100ba60048036038101906100b591906102a9565b6101a0565b005b6100c46101aa565b6040516100d2929190610366565b60405180910390f35b60008054905090565b600281815481106100f457600080fd5b906000526020600020906002020160009150905080600001549080600101805461011d906103c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610149906103c5565b80156101965780601f1061016b57610100808354040283529160200191610196565b820191906000526020600020905b81548152906001019060200180831161017957829003601f168201915b5050505050905082565b8060008190555050565b60038060000154908060010180546101c1906103c5565b80601f01602080910402602001604051908101604052809291908181526020018280546101ed906103c5565b801561023a5780601f1061020f5761010080835404028352916020019161023a565b820191906000526020600020905b81548152906001019060200180831161021d57829003601f168201915b5050505050905082565b6000819050919050565b61025781610244565b82525050565b6000602082019050610272600083018461024e565b92915050565b600080fd5b61028681610244565b811461029157600080fd5b50565b6000813590506102a38161027d565b92915050565b6000602082840312156102bf576102be610278565b5b60006102cd84828501610294565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156103105780820151818401526020810190506102f5565b60008484015250505050565b6000601f19601f8301169050919050565b6000610338826102d6565b61034281856102e1565b93506103528185602086016102f2565b61035b8161031c565b840191505092915050565b600060408201905061037b600083018561024e565b818103602083015261038d818461032d565b90509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806103dd57607f821691505b6020821081036103f0576103ef610396565b5b5091905056fea26469706673582212203ed39682d53db41c648a911d46a36a61bc1605cb9879e7305a4968a03c540d5664736f6c63430008130033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x7 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x5061740000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE POP PUSH1 0x3 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP2 PUSH3 0x72 SWAP2 SWAP1 PUSH3 0x303 JUMP JUMPDEST POP POP POP CALLVALUE DUP1 ISZERO PUSH3 0x82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x3EA JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x10B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x121 JUMPI PUSH3 0x120 PUSH3 0xC3 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x18B PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x14C JUMP JUMPDEST PUSH3 0x197 DUP7 DUP4 PUSH3 0x14C JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x1E4 PUSH3 0x1DE PUSH3 0x1D8 DUP5 PUSH3 0x1AF JUMP JUMPDEST PUSH3 0x1B9 JUMP JUMPDEST PUSH3 0x1AF JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x200 DUP4 PUSH3 0x1C3 JUMP JUMPDEST PUSH3 0x218 PUSH3 0x20F DUP3 PUSH3 0x1EB JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x159 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x22F PUSH3 0x220 JUMP JUMPDEST PUSH3 0x23C DUP2 DUP5 DUP5 PUSH3 0x1F5 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x264 JUMPI PUSH3 0x258 PUSH1 0x0 DUP3 PUSH3 0x225 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x242 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x2B3 JUMPI PUSH3 0x27D DUP2 PUSH3 0x127 JUMP JUMPDEST PUSH3 0x288 DUP5 PUSH3 0x13C JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x298 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x2B0 PUSH3 0x2A7 DUP6 PUSH3 0x13C JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x241 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2D8 PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x2B8 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x2F3 DUP4 DUP4 PUSH3 0x2C5 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x30E DUP3 PUSH3 0x89 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x32A JUMPI PUSH3 0x329 PUSH3 0x94 JUMP JUMPDEST JUMPDEST PUSH3 0x336 DUP3 SLOAD PUSH3 0xF2 JUMP JUMPDEST PUSH3 0x343 DUP3 DUP3 DUP6 PUSH3 0x268 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x37B JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x366 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x372 DUP6 DUP3 PUSH3 0x2E5 JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x3E2 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x38B DUP7 PUSH3 0x127 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x3B5 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x38E JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x3D5 JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x3D1 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x2C5 JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x42C DUP1 PUSH3 0x3FA 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 0x2E64CEC1 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x2EBCE631 EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0xA0 JUMPI DUP1 PUSH4 0xB4A24F50 EQ PUSH2 0xBC JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0xDB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x25D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x89 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x84 SWAP2 SWAP1 PUSH2 0x2A9 JUMP JUMPDEST PUSH2 0xE4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x97 SWAP3 SWAP2 SWAP1 PUSH2 0x366 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB5 SWAP2 SWAP1 PUSH2 0x2A9 JUMP JUMPDEST PUSH2 0x1A0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC4 PUSH2 0x1AA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD2 SWAP3 SWAP2 SWAP1 PUSH2 0x366 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x11D SWAP1 PUSH2 0x3C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x149 SWAP1 PUSH2 0x3C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x196 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x16B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x196 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x179 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x3 DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x1C1 SWAP1 PUSH2 0x3C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1ED SWAP1 PUSH2 0x3C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x23A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x20F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x23A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x21D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x257 DUP2 PUSH2 0x244 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x272 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x24E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x286 DUP2 PUSH2 0x244 JUMP JUMPDEST DUP2 EQ PUSH2 0x291 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2A3 DUP2 PUSH2 0x27D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BF JUMPI PUSH2 0x2BE PUSH2 0x278 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2CD DUP5 DUP3 DUP6 ADD PUSH2 0x294 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x310 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2F5 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x338 DUP3 PUSH2 0x2D6 JUMP JUMPDEST PUSH2 0x342 DUP2 DUP6 PUSH2 0x2E1 JUMP JUMPDEST SWAP4 POP PUSH2 0x352 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2F2 JUMP JUMPDEST PUSH2 0x35B DUP2 PUSH2 0x31C JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x37B PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x24E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x38D DUP2 DUP5 PUSH2 0x32D JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x3DD JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x3F0 JUMPI PUSH2 0x3EF PUSH2 0x396 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 RETURNDATACOPY 0xD3 SWAP7 DUP3 0xD5 RETURNDATASIZE 0xB4 SHR PUSH5 0x8A911D46A3 PUSH11 0x61BC1605CB9879E7305A49 PUSH9 0xA03C540D5664736F6C PUSH4 0x43000813 STOP CALLER ",
"sourceMap": "119:733:0:-:0;;;601:40;;;;;;;;625:1;601:40;;;;;;;;;;;;;;;;;;;;;;;;581:60;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;119:733;;;;;;;;;;;;7:99:1;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:180::-;160:77;157:1;150:88;257:4;254:1;247:15;281:4;278:1;271:15;298:180;346:77;343:1;336:88;443:4;440:1;433:15;467:4;464:1;457:15;484:320;528:6;565:1;559:4;555:12;545:22;;612:1;606:4;602:12;633:18;623:81;;689:4;681:6;677:17;667:27;;623:81;751:2;743:6;740:14;720:18;717:38;714:84;;770:18;;:::i;:::-;714:84;535:269;484:320;;;:::o;810:141::-;859:4;882:3;874:11;;905:3;902:1;895:14;939:4;936:1;926:18;918:26;;810:141;;;:::o;957:93::-;994:6;1041:2;1036;1029:5;1025:14;1021:23;1011:33;;957:93;;;:::o;1056:107::-;1100:8;1150:5;1144:4;1140:16;1119:37;;1056:107;;;;:::o;1169:393::-;1238:6;1288:1;1276:10;1272:18;1311:97;1341:66;1330:9;1311:97;:::i;:::-;1429:39;1459:8;1448:9;1429:39;:::i;:::-;1417:51;;1501:4;1497:9;1490:5;1486:21;1477:30;;1550:4;1540:8;1536:19;1529:5;1526:30;1516:40;;1245:317;;1169:393;;;;;:::o;1568:77::-;1605:7;1634:5;1623:16;;1568:77;;;:::o;1651:60::-;1679:3;1700:5;1693:12;;1651:60;;;:::o;1717:142::-;1767:9;1800:53;1818:34;1827:24;1845:5;1827:24;:::i;:::-;1818:34;:::i;:::-;1800:53;:::i;:::-;1787:66;;1717:142;;;:::o;1865:75::-;1908:3;1929:5;1922:12;;1865:75;;;:::o;1946:269::-;2056:39;2087:7;2056:39;:::i;:::-;2117:91;2166:41;2190:16;2166:41;:::i;:::-;2158:6;2151:4;2145:11;2117:91;:::i;:::-;2111:4;2104:105;2022:193;1946:269;;;:::o;2221:73::-;2266:3;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:186::-;2555:120;2572:3;2565:5;2562:14;2555:120;;;2626:39;2663:1;2656:5;2626:39;:::i;:::-;2599:1;2592:5;2588:13;2579:22;;2555:120;;;2495:186;;:::o;2687:543::-;2788:2;2783:3;2780:11;2777:446;;;2822:38;2854:5;2822:38;:::i;:::-;2906:29;2924:10;2906:29;:::i;:::-;2896:8;2892:44;3089:2;3077:10;3074:18;3071:49;;;3110:8;3095:23;;3071:49;3133:80;3189:22;3207:3;3189:22;:::i;:::-;3179:8;3175:37;3162:11;3133:80;:::i;:::-;2792:431;;2777:446;2687:543;;;:::o;3236:117::-;3290:8;3340:5;3334:4;3330:16;3309:37;;3236:117;;;;:::o;3359:169::-;3403:6;3436:51;3484:1;3480:6;3472:5;3469:1;3465:13;3436:51;:::i;:::-;3432:56;3517:4;3511;3507:15;3497:25;;3410:118;3359:169;;;;:::o;3533:295::-;3609:4;3755:29;3780:3;3774:4;3755:29;:::i;:::-;3747:37;;3817:3;3814:1;3810:11;3804:4;3801:21;3793:29;;3533:295;;;;:::o;3833:1395::-;3950:37;3983:3;3950:37;:::i;:::-;4052:18;4044:6;4041:30;4038:56;;;4074:18;;:::i;:::-;4038:56;4118:38;4150:4;4144:11;4118:38;:::i;:::-;4203:67;4263:6;4255;4249:4;4203:67;:::i;:::-;4297:1;4321:4;4308:17;;4353:2;4345:6;4342:14;4370:1;4365:618;;;;5027:1;5044:6;5041:77;;;5093:9;5088:3;5084:19;5078:26;5069:35;;5041:77;5144:67;5204:6;5197:5;5144:67;:::i;:::-;5138:4;5131:81;5000:222;4335:887;;4365:618;4417:4;4413:9;4405:6;4401:22;4451:37;4483:4;4451:37;:::i;:::-;4510:1;4524:208;4538:7;4535:1;4532:14;4524:208;;;4617:9;4612:3;4608:19;4602:26;4594:6;4587:42;4668:1;4660:6;4656:14;4646:24;;4715:2;4704:9;4700:18;4687:31;;4561:4;4558:1;4554:12;4549:17;;4524:208;;;4760:6;4751:7;4748:19;4745:179;;;4818:9;4813:3;4809:19;4803:26;4861:48;4903:4;4895:6;4891:17;4880:9;4861:48;:::i;:::-;4853:6;4846:64;4768:156;4745:179;4970:1;4966;4958:6;4954:14;4950:22;4944:4;4937:36;4372:611;;;4335:887;;3925:1303;;;3833:1395;;:::o;119:733:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@listOfPeople_15": {
"entryPoint": 228,
"id": 15,
"parameterSlots": 0,
"returnSlots": 0
},
"@pat_22": {
"entryPoint": 426,
"id": 22,
"parameterSlots": 0,
"returnSlots": 0
},
"@retrieve_40": {
"entryPoint": 219,
"id": 40,
"parameterSlots": 0,
"returnSlots": 1
},
"@store_32": {
"entryPoint": 416,
"id": 32,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 660,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 681,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 813,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 590,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 605,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 870,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 726,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 737,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 580,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 754,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 965,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 918,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 632,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 796,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"validator_revert_t_uint256": {
"entryPoint": 637,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:3338:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "52:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "62:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "73:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "62:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "34:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "44:7:1",
"type": ""
}
],
"src": "7:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "155:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "172:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "195:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "177:17:1"
},
"nodeType": "YulFunctionCall",
"src": "177:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "165:6:1"
},
"nodeType": "YulFunctionCall",
"src": "165:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "165:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "143:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "150:3:1",
"type": ""
}
],
"src": "90:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "312:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "322:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "334:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "345:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "330:3:1"
},
"nodeType": "YulFunctionCall",
"src": "330:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "322:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "402:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "415:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "426:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "411:3:1"
},
"nodeType": "YulFunctionCall",
"src": "411:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "358:43:1"
},
"nodeType": "YulFunctionCall",
"src": "358:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "358:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "284:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "296:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "307:4:1",
"type": ""
}
],
"src": "214:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "482:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "492:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "508:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "502:5:1"
},
"nodeType": "YulFunctionCall",
"src": "502:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "492:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "475:6:1",
"type": ""
}
],
"src": "442:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "612:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "629:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "632:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "622:6:1"
},
"nodeType": "YulFunctionCall",
"src": "622:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "622:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "523:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "735:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "752:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "755:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "745:6:1"
},
"nodeType": "YulFunctionCall",
"src": "745:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "745:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "646:117:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "812:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "869:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "878:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "881:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "871:6:1"
},
"nodeType": "YulFunctionCall",
"src": "871:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "871:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "835:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "860:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "842:17:1"
},
"nodeType": "YulFunctionCall",
"src": "842:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "832:2:1"
},
"nodeType": "YulFunctionCall",
"src": "832:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "825:6:1"
},
"nodeType": "YulFunctionCall",
"src": "825:43:1"
},
"nodeType": "YulIf",
"src": "822:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "805:5:1",
"type": ""
}
],
"src": "769:122:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "949:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "959:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "981:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "968:12:1"
},
"nodeType": "YulFunctionCall",
"src": "968:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "959:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1024:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "997:26:1"
},
"nodeType": "YulFunctionCall",
"src": "997:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "997:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "927:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "935:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "943:5:1",
"type": ""
}
],
"src": "897:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1108:263:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1154:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "1156:77:1"
},
"nodeType": "YulFunctionCall",
"src": "1156:79:1"
},
"nodeType": "YulExpressionStatement",
"src": "1156:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1129:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1138:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1125:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1125:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1150:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1121:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1121:32:1"
},
"nodeType": "YulIf",
"src": "1118:119:1"
},
{
"nodeType": "YulBlock",
"src": "1247:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1262:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1276:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1266:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1291:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1326:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1337:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1322:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1322:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1346:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1301:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1301:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1291:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1078:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1089:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1101:6:1",
"type": ""
}
],
"src": "1042:329:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1436:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1447:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1463:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1457:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1457:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1447:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1419:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1429:6:1",
"type": ""
}
],
"src": "1377:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1578:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1595:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1600:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1588:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1588:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "1588:19:1"
},
{
"nodeType": "YulAssignment",
"src": "1616:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1635:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1640:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1631:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1631:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "1616:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1550:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1555:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "1566:11:1",
"type": ""
}
],
"src": "1482:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1719:184:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1729:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1738:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "1733:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1798:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1823:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1828:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1819:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1819:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "1842:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1847:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1838:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1838:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "1832:5:1"
},
"nodeType": "YulFunctionCall",
"src": "1832:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1812:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1812:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "1812:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1759:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1762:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "1756:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1756:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "1770:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1772:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1781:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1784:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1777:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1777:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "1772:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "1752:3:1",
"statements": []
},
"src": "1748:113:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "1881:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "1886:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1877:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1877:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1895:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1870:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1870:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "1870:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "1701:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "1706:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "1711:6:1",
"type": ""
}
],
"src": "1657:246:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1957:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1967:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1985:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1992:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1981:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1981:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2001:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "1997:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1997:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "1977:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1977:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "1967:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1940:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "1950:6:1",
"type": ""
}
],
"src": "1909:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2109:285:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2119:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2166:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2133:32:1"
},
"nodeType": "YulFunctionCall",
"src": "2133:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2123:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2181:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2247:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2252:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2188:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2188:71:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2181:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2307:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2314:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2303:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2303:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2321:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2326:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nodeType": "YulIdentifier",
"src": "2268:34:1"
},
"nodeType": "YulFunctionCall",
"src": "2268:65:1"
},
"nodeType": "YulExpressionStatement",
"src": "2268:65:1"
},
{
"nodeType": "YulAssignment",
"src": "2342:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2353:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2380:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "2358:21:1"
},
"nodeType": "YulFunctionCall",
"src": "2358:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2349:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2349:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2342:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2090:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2097:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2105:3:1",
"type": ""
}
],
"src": "2017:377:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2546:277:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2556:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2568:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2579:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2564:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2564:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2556:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2636:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2649:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2660:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2645:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2645:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "2592:43:1"
},
"nodeType": "YulFunctionCall",
"src": "2592:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "2592:71:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2684:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2695:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2680:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2680:18:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2704:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2710:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2700:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2700:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2673:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2673:48:1"
},
"nodeType": "YulExpressionStatement",
"src": "2673:48:1"
},
{
"nodeType": "YulAssignment",
"src": "2730:86:1",
"value": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "2802:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2811:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2738:63:1"
},
"nodeType": "YulFunctionCall",
"src": "2738:78:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2730:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2510:9:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "2522:6:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2530:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2541:4:1",
"type": ""
}
],
"src": "2400:423:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2857:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2874:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2877:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2867:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2867:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "2867:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2971:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2974:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2964:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2964:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2964:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2995:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2998:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2988:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2988:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "2988:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "2829:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3066:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3076:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3090:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3096:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "3086:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3086:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3076:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "3107:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "3137:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3143:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3133:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3133:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "3111:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "3184:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3198:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3212:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3220:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "3208:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3208:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3198:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "3164:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "3157:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3157:26:1"
},
"nodeType": "YulIf",
"src": "3154:81:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3287:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "3301:16:1"
},
"nodeType": "YulFunctionCall",
"src": "3301:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "3301:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "3251:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3274:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3282:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "3271:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3271:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "3248:2:1"
},
"nodeType": "YulFunctionCall",
"src": "3248:38:1"
},
"nodeType": "YulIf",
"src": "3245:84:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "3050:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3059:6:1",
"type": ""
}
],
"src": "3015:320:1"
}
]
},
"contents": "{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\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 revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\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 function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1, tail)\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b506004361061004c5760003560e01c80632e64cec1146100515780632ebce6311461006f5780636057361d146100a0578063b4a24f50146100bc575b600080fd5b6100596100db565b604051610066919061025d565b60405180910390f35b610089600480360381019061008491906102a9565b6100e4565b604051610097929190610366565b60405180910390f35b6100ba60048036038101906100b591906102a9565b6101a0565b005b6100c46101aa565b6040516100d2929190610366565b60405180910390f35b60008054905090565b600281815481106100f457600080fd5b906000526020600020906002020160009150905080600001549080600101805461011d906103c5565b80601f0160208091040260200160405190810160405280929190818152602001828054610149906103c5565b80156101965780601f1061016b57610100808354040283529160200191610196565b820191906000526020600020905b81548152906001019060200180831161017957829003601f168201915b5050505050905082565b8060008190555050565b60038060000154908060010180546101c1906103c5565b80601f01602080910402602001604051908101604052809291908181526020018280546101ed906103c5565b801561023a5780601f1061020f5761010080835404028352916020019161023a565b820191906000526020600020905b81548152906001019060200180831161021d57829003601f168201915b5050505050905082565b6000819050919050565b61025781610244565b82525050565b6000602082019050610272600083018461024e565b92915050565b600080fd5b61028681610244565b811461029157600080fd5b50565b6000813590506102a38161027d565b92915050565b6000602082840312156102bf576102be610278565b5b60006102cd84828501610294565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156103105780820151818401526020810190506102f5565b60008484015250505050565b6000601f19601f8301169050919050565b6000610338826102d6565b61034281856102e1565b93506103528185602086016102f2565b61035b8161031c565b840191505092915050565b600060408201905061037b600083018561024e565b818103602083015261038d818461032d565b90509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806103dd57607f821691505b6020821081036103f0576103ef610396565b5b5091905056fea26469706673582212203ed39682d53db41c648a911d46a36a61bc1605cb9879e7305a4968a03c540d5664736f6c63430008130033",
"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 0x2E64CEC1 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x2EBCE631 EQ PUSH2 0x6F JUMPI DUP1 PUSH4 0x6057361D EQ PUSH2 0xA0 JUMPI DUP1 PUSH4 0xB4A24F50 EQ PUSH2 0xBC JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x59 PUSH2 0xDB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x66 SWAP2 SWAP1 PUSH2 0x25D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x89 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x84 SWAP2 SWAP1 PUSH2 0x2A9 JUMP JUMPDEST PUSH2 0xE4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x97 SWAP3 SWAP2 SWAP1 PUSH2 0x366 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB5 SWAP2 SWAP1 PUSH2 0x2A9 JUMP JUMPDEST PUSH2 0x1A0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xC4 PUSH2 0x1AA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD2 SWAP3 SWAP2 SWAP1 PUSH2 0x366 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x11D SWAP1 PUSH2 0x3C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x149 SWAP1 PUSH2 0x3C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x196 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x16B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x196 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x179 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x3 DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x1C1 SWAP1 PUSH2 0x3C5 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1ED SWAP1 PUSH2 0x3C5 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x23A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x20F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x23A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x21D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x257 DUP2 PUSH2 0x244 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x272 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x24E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x286 DUP2 PUSH2 0x244 JUMP JUMPDEST DUP2 EQ PUSH2 0x291 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2A3 DUP2 PUSH2 0x27D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BF JUMPI PUSH2 0x2BE PUSH2 0x278 JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2CD DUP5 DUP3 DUP6 ADD PUSH2 0x294 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x310 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x2F5 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x338 DUP3 PUSH2 0x2D6 JUMP JUMPDEST PUSH2 0x342 DUP2 DUP6 PUSH2 0x2E1 JUMP JUMPDEST SWAP4 POP PUSH2 0x352 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x2F2 JUMP JUMPDEST PUSH2 0x35B DUP2 PUSH2 0x31C JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x37B PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x24E JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x38D DUP2 DUP5 PUSH2 0x32D JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x3DD JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x3F0 JUMPI PUSH2 0x3EF PUSH2 0x396 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 RETURNDATACOPY 0xD3 SWAP7 DUP3 0xD5 RETURNDATASIZE 0xB4 SHR PUSH5 0x8A911D46A3 PUSH11 0x61BC1605CB9879E7305A49 PUSH9 0xA03C540D5664736F6C PUSH4 0x43000813 STOP CALLER ",
"sourceMap": "119:733:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;758:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;544:28;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;650:100;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;581:60;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;758:91;798:7;825:16;;818:23;;758:91;:::o;544:28::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;650:100::-;727:15;708:16;:34;;;;650:100;:::o;581:60::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;523:117::-;632:1;629;622:12;769:122;842:24;860:5;842:24;:::i;:::-;835:5;832:35;822:63;;881:1;878;871:12;822:63;769:122;:::o;897:139::-;943:5;981:6;968:20;959:29;;997:33;1024:5;997:33;:::i;:::-;897:139;;;;:::o;1042:329::-;1101:6;1150:2;1138:9;1129:7;1125:23;1121:32;1118:119;;;1156:79;;:::i;:::-;1118:119;1276:1;1301:53;1346:7;1337:6;1326:9;1322:22;1301:53;:::i;:::-;1291:63;;1247:117;1042:329;;;;:::o;1377:99::-;1429:6;1463:5;1457:12;1447:22;;1377:99;;;:::o;1482:169::-;1566:11;1600:6;1595:3;1588:19;1640:4;1635:3;1631:14;1616:29;;1482:169;;;;:::o;1657:246::-;1738:1;1748:113;1762:6;1759:1;1756:13;1748:113;;;1847:1;1842:3;1838:11;1832:18;1828:1;1823:3;1819:11;1812:39;1784:2;1781:1;1777:10;1772:15;;1748:113;;;1895:1;1886:6;1881:3;1877:16;1870:27;1719:184;1657:246;;;:::o;1909:102::-;1950:6;2001:2;1997:7;1992:2;1985:5;1981:14;1977:28;1967:38;;1909:102;;;:::o;2017:377::-;2105:3;2133:39;2166:5;2133:39;:::i;:::-;2188:71;2252:6;2247:3;2188:71;:::i;:::-;2181:78;;2268:65;2326:6;2321:3;2314:4;2307:5;2303:16;2268:65;:::i;:::-;2358:29;2380:6;2358:29;:::i;:::-;2353:3;2349:39;2342:46;;2109:285;2017:377;;;;:::o;2400:423::-;2541:4;2579:2;2568:9;2564:18;2556:26;;2592:71;2660:1;2649:9;2645:17;2636:6;2592:71;:::i;:::-;2710:9;2704:4;2700:20;2695:2;2684:9;2680:18;2673:48;2738:78;2811:4;2802:6;2738:78;:::i;:::-;2730:86;;2400:423;;;;;:::o;2829:180::-;2877:77;2874:1;2867:88;2974:4;2971:1;2964:15;2998:4;2995:1;2988:15;3015:320;3059:6;3096:1;3090:4;3086:12;3076:22;;3143:1;3137:4;3133:12;3164:18;3154:81;;3220:4;3212:6;3208:17;3198:27;;3154:81;3282:2;3274:6;3271:14;3251:18;3248:38;3245:84;;3301:18;;:::i;:::-;3245:84;3066:269;3015:320;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "213600",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"listOfPeople(uint256)": "infinite",
"pat()": "infinite",
"retrieve()": "2415",
"store(uint256)": "22542"
}
},
"methodIdentifiers": {
"listOfPeople(uint256)": "2ebce631",
"pat()": "b4a24f50",
"retrieve()": "2e64cec1",
"store(uint256)": "6057361d"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "listOfPeople",
"outputs": [
{
"internalType": "uint256",
"name": "favoriteNumber",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pat",
"outputs": [
{
"internalType": "uint256",
"name": "favoriteNumber",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "retrieve",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.19+commit.7dd6d404"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "listOfPeople",
"outputs": [
{
"internalType": "uint256",
"name": "favoriteNumber",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pat",
"outputs": [
{
"internalType": "uint256",
"name": "favoriteNumber",
"type": "uint256"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "retrieve",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_favoriteNumber",
"type": "uint256"
}
],
"name": "store",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"SimpleStorage.sol": "SimpleStorage"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"SimpleStorage.sol": {
"keccak256": "0x2b6d86faea2d424d1a10efd0f2d4874e3ffe52fbed6b366ac3efd7fee5dcdb8d",
"license": "MIT",
"urls": [
"bzz-raw://b8bfdf0ffab0a3b943bfe0c6395d96132b02eb1117bcda57cbe1cf99cbe63d9a",
"dweb:/ipfs/QmZMKsHTFKEEgcuspyoJtDU4xGprzPPPkVyj9k9xMcmmM2"
]
}
},
"version": 1
}
//SPDX-License-Identifier: MIT
pragma solidity 0.8.19; //pragma solidtity ^0.8.18, pragma solidity >=0.8.18 <0.9.0
contract SimpleStorage {
//Basic types : boolean, uint, int, address, bytes, string
// public, private, internal, external. Default is internal.
//view, pure doesn't allow updating state, hence can be invoked without txn externally. only a "call"
uint256 myFavoriteNumber;
uint256[] listOfFavoriteNumbers;
struct Person {
uint256 favoriteNumber;
string name;
}
Person[] public listOfPeople;
Person public pat = Person({favoriteNumber: 7, name: "Pat"});
function store(uint256 _favoriteNumber) public {
myFavoriteNumber = _favoriteNumber;
}
function retrieve() public view returns(uint256) {
return myFavoriteNumber;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment