Skip to content

Instantly share code, notes, and snippets.

@jesuscuesta
Created August 14, 2022 20:56
Show Gist options
  • Save jesuscuesta/ec0a120c6d3f271ad8f0decd110d031d to your computer and use it in GitHub Desktop.
Save jesuscuesta/ec0a120c6d3f271ad8f0decd110d031d 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.4+commit.c7e474f2.js&optimize=false&runs=200&gist=
REMIX DEFAULT WORKSPACE
Remix default workspace is present when:
i. Remix loads for the very first time
ii. A new workspace is created with 'Default' template
iii. There are no files existing in the File Explorer
This workspace contains 3 directories:
1. 'contracts': Holds three contracts with increasing levels of complexity.
2. 'scripts': Contains four typescript files to deploy a contract. It is explained below.
3. 'tests': Contains one Solidity test file for 'Ballot' contract & one JS test file for 'Storage' contract.
SCRIPTS
The 'scripts' folder has four typescript files which help to deploy the 'Storage' contract using 'web3.js' and 'ethers.js' libraries.
For the deployment of any other contract, just update the contract's name from 'Storage' to the desired contract and provide constructor arguments accordingly
in the file `deploy_with_ethers.ts` or `deploy_with_web3.ts`
In the 'tests' folder there is a script containing Mocha-Chai unit tests for 'Storage' contract.
To run a script, right click on file name in the file explorer and click 'Run'. Remember, Solidity file must already be compiled.
Output from script will appear in remix terminal.
Please note, require/import is supported in a limited manner for Remix supported modules.
For now, modules supported by Remix are ethers, web3, swarmgw, chai, multihashes, remix and hardhat only for hardhat.ethers object/plugin.
For unsupported modules, an error like this will be thrown: '<module_name> module require is not supported by Remix IDE' will be shown.
{
"id": "1923d25903a5cbcc346b1cc25c0eb57d",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.4",
"solcLongVersion": "0.8.4+commit.c7e474f2",
"input": {
"language": "Solidity",
"sources": {
"contracts/pokemon.sol": {
"content": "// SPDX-License-Identifier: MIT\r\n\r\npragma solidity ^0.8.4;\r\n\r\ncontract Pokemon {\r\n\r\n // Listado de tipo de pokemon a elegir\r\n enum State {ELECTRICO, FUEGO, AGUA, PLANTA}\r\n\r\n // Cualidades para cada pokemon\r\n struct cualidades {\r\n string name;\r\n string tipo_pokemon;\r\n string ataque;\r\n }\r\n\r\n // Listado de pokemon que tenemos\r\n cualidades [] pokedex;\r\n\r\n // Añadir un nuevo pokemon a la pokedex\r\n function capturar_nuevo_pokemon(string memory _name, string memory _tipo_pokemon, string memory _ataque) internal {\r\n pokedex.push(cualidades(_name, _tipo_pokemon, _ataque));\r\n }\r\n}\r\n\r\ncontract Entrador_pokemon is Pokemon {\r\n \r\n // Quien es el propietario de este entrenador pokemon\r\n address public owner;\r\n\r\n // Asignamos el valor al entrenador Pokemon\r\n constructor () {\r\n owner = msg.sender;\r\n }\r\n\r\n // Conseguimos un pokemon para nuestra pokedex\r\n function lanzar_pokeball(string memory _nombrePokemon, string memory _tipo_pokemon, string memory _ataque) external {\r\n require (keccak256(bytes(_nombrePokemon)) != keccak256(bytes(\" \")), \"Debes poner el nombre al pokemon\");\r\n capturar_nuevo_pokemon(_nombrePokemon, _tipo_pokemon, _ataque);\r\n }\r\n\r\n // Modifer para poner algún filtro. Solo permitimos conseguir pokemon al owner\r\n modifier onlyOwner() {\r\n require(owner == msg.sender, \"No tienes permisos para capturar estos pokemon para esta Pokedex\");\r\n _;\r\n }\r\n\r\n function hashPrivateNumber(uint _number) public view onlyOwner returns (bytes32) {\r\n return keccak256(abi.encodePacked(_number));\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": {
"contracts/pokemon.sol": {
"Entrador_pokemon": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_number",
"type": "uint256"
}
],
"name": "hashPrivateNumber",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_nombrePokemon",
"type": "string"
},
{
"internalType": "string",
"name": "_tipo_pokemon",
"type": "string"
},
{
"internalType": "string",
"name": "_ataque",
"type": "string"
}
],
"name": "lanzar_pokeball",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/pokemon.sol\":640:1645 contract Entrador_pokemon is Pokemon {\r... */\n mstore(0x40, 0x80)\n /* \"contracts/pokemon.sol\":827:879 constructor () {\r... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n /* \"contracts/pokemon.sol\":861:871 msg.sender */\n caller\n /* \"contracts/pokemon.sol\":853:858 owner */\n 0x01\n 0x00\n /* \"contracts/pokemon.sol\":853:871 owner = msg.sender */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/pokemon.sol\":640:1645 contract Entrador_pokemon is Pokemon {\r... */\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/pokemon.sol\":640:1645 contract Entrador_pokemon is Pokemon {\r... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x57fb6b9c\n eq\n tag_3\n jumpi\n dup1\n 0x8da5cb5b\n eq\n tag_4\n jumpi\n dup1\n 0xbda02842\n eq\n tag_5\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/pokemon.sol\":939:1250 function lanzar_pokeball(string memory _nombrePokemon, string memory _tipo_pokemon, string memory _ataque) external {\r... */\n tag_3:\n tag_6\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_7\n swap2\n swap1\n tag_8\n jump\t// in\n tag_7:\n tag_9\n jump\t// in\n tag_6:\n stop\n /* \"contracts/pokemon.sol\":749:769 address public owner */\n tag_4:\n tag_10\n tag_11\n jump\t// in\n tag_10:\n mload(0x40)\n tag_12\n swap2\n swap1\n tag_13\n jump\t// in\n tag_12:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/pokemon.sol\":1499:1642 function hashPrivateNumber(uint _number) public view onlyOwner returns (bytes32) {\r... */\n tag_5:\n tag_14\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_15\n swap2\n swap1\n tag_16\n jump\t// in\n tag_15:\n tag_17\n jump\t// in\n tag_14:\n mload(0x40)\n tag_18\n swap2\n swap1\n tag_19\n jump\t// in\n tag_18:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/pokemon.sol\":939:1250 function lanzar_pokeball(string memory _nombrePokemon, string memory _tipo_pokemon, string memory _ataque) external {\r... */\n tag_9:\n /* \"contracts/pokemon.sol\":1121:1131 bytes(\" \") */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x01\n dup2\n mstore\n 0x20\n add\n 0x2000000000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n /* \"contracts/pokemon.sol\":1111:1132 keccak256(bytes(\" \")) */\n dup1\n mload\n swap1\n 0x20\n add\n keccak256\n /* \"contracts/pokemon.sol\":1091:1105 _nombrePokemon */\n dup4\n /* \"contracts/pokemon.sol\":1075:1107 keccak256(bytes(_nombrePokemon)) */\n dup1\n mload\n swap1\n 0x20\n add\n keccak256\n /* \"contracts/pokemon.sol\":1075:1132 keccak256(bytes(_nombrePokemon)) != keccak256(bytes(\" \")) */\n eq\n iszero\n /* \"contracts/pokemon.sol\":1066:1169 require (keccak256(bytes(_nombrePokemon)) != keccak256(bytes(\" \")), \"Debes poner el nombre al pokemon\") */\n tag_21\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_22\n swap1\n tag_23\n jump\t// in\n tag_22:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_21:\n /* \"contracts/pokemon.sol\":1180:1242 capturar_nuevo_pokemon(_nombrePokemon, _tipo_pokemon, _ataque) */\n tag_24\n /* \"contracts/pokemon.sol\":1203:1217 _nombrePokemon */\n dup4\n /* \"contracts/pokemon.sol\":1219:1232 _tipo_pokemon */\n dup4\n /* \"contracts/pokemon.sol\":1234:1241 _ataque */\n dup4\n /* \"contracts/pokemon.sol\":1180:1202 capturar_nuevo_pokemon */\n tag_25\n /* \"contracts/pokemon.sol\":1180:1242 capturar_nuevo_pokemon(_nombrePokemon, _tipo_pokemon, _ataque) */\n jump\t// in\n tag_24:\n /* \"contracts/pokemon.sol\":939:1250 function lanzar_pokeball(string memory _nombrePokemon, string memory _tipo_pokemon, string memory _ataque) external {\r... */\n pop\n pop\n pop\n jump\t// out\n /* \"contracts/pokemon.sol\":749:769 address public owner */\n tag_11:\n 0x01\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n jump\t// out\n /* \"contracts/pokemon.sol\":1499:1642 function hashPrivateNumber(uint _number) public view onlyOwner returns (bytes32) {\r... */\n tag_17:\n /* \"contracts/pokemon.sol\":1571:1578 bytes32 */\n 0x00\n /* \"contracts/pokemon.sol\":1392:1402 msg.sender */\n caller\n /* \"contracts/pokemon.sol\":1383:1402 owner == msg.sender */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/pokemon.sol\":1383:1388 owner */\n 0x01\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/pokemon.sol\":1383:1402 owner == msg.sender */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"contracts/pokemon.sol\":1375:1471 require(owner == msg.sender, \"No tienes permisos para capturar estos pokemon para esta Pokedex\") */\n tag_27\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_28\n swap1\n tag_29\n jump\t// in\n tag_28:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_27:\n /* \"contracts/pokemon.sol\":1625:1632 _number */\n dup2\n /* \"contracts/pokemon.sol\":1608:1633 abi.encodePacked(_number) */\n add(0x20, mload(0x40))\n tag_31\n swap2\n swap1\n tag_32\n jump\t// in\n tag_31:\n mload(0x40)\n 0x20\n dup2\n dup4\n sub\n sub\n dup2\n mstore\n swap1\n 0x40\n mstore\n /* \"contracts/pokemon.sol\":1598:1634 keccak256(abi.encodePacked(_number)) */\n dup1\n mload\n swap1\n 0x20\n add\n keccak256\n /* \"contracts/pokemon.sol\":1591:1634 return keccak256(abi.encodePacked(_number)) */\n swap1\n pop\n /* \"contracts/pokemon.sol\":1499:1642 function hashPrivateNumber(uint _number) public view onlyOwner returns (bytes32) {\r... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"contracts/pokemon.sol\":445:633 function capturar_nuevo_pokemon(string memory _name, string memory _tipo_pokemon, string memory _ataque) internal {\r... */\n tag_25:\n /* \"contracts/pokemon.sol\":570:577 pokedex */\n 0x00\n /* \"contracts/pokemon.sol\":583:624 cualidades(_name, _tipo_pokemon, _ataque) */\n mload(0x40)\n dup1\n 0x60\n add\n 0x40\n mstore\n dup1\n /* \"contracts/pokemon.sol\":594:599 _name */\n dup6\n /* \"contracts/pokemon.sol\":583:624 cualidades(_name, _tipo_pokemon, _ataque) */\n dup2\n mstore\n 0x20\n add\n /* \"contracts/pokemon.sol\":601:614 _tipo_pokemon */\n dup5\n /* \"contracts/pokemon.sol\":583:624 cualidades(_name, _tipo_pokemon, _ataque) */\n dup2\n mstore\n 0x20\n add\n /* \"contracts/pokemon.sol\":616:623 _ataque */\n dup4\n /* \"contracts/pokemon.sol\":583:624 cualidades(_name, _tipo_pokemon, _ataque) */\n dup2\n mstore\n pop\n /* \"contracts/pokemon.sol\":570:625 pokedex.push(cualidades(_name, _tipo_pokemon, _ataque)) */\n swap1\n dup1\n 0x01\n dup2\n sload\n add\n dup1\n dup3\n sstore\n dup1\n swap2\n pop\n pop\n 0x01\n swap1\n sub\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x03\n mul\n add\n 0x00\n swap1\n swap2\n swap1\n swap2\n swap1\n swap2\n pop\n 0x00\n dup3\n add\n mload\n dup2\n 0x00\n add\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_35\n swap3\n swap2\n swap1\n tag_36\n jump\t// in\n tag_35:\n pop\n 0x20\n dup3\n add\n mload\n dup2\n 0x01\n add\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_37\n swap3\n swap2\n swap1\n tag_36\n jump\t// in\n tag_37:\n pop\n 0x40\n dup3\n add\n mload\n dup2\n 0x02\n add\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_38\n swap3\n swap2\n swap1\n tag_36\n jump\t// in\n tag_38:\n pop\n pop\n pop\n /* \"contracts/pokemon.sol\":445:633 function capturar_nuevo_pokemon(string memory _name, string memory _tipo_pokemon, string memory _ataque) internal {\r... */\n pop\n pop\n pop\n jump\t// out\n tag_36:\n dup3\n dup1\n sload\n tag_39\n swap1\n tag_40\n jump\t// in\n tag_39:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x1f\n add\n 0x20\n swap1\n div\n dup2\n add\n swap3\n dup3\n tag_42\n jumpi\n 0x00\n dup6\n sstore\n jump(tag_41)\n tag_42:\n dup3\n 0x1f\n lt\n tag_43\n jumpi\n dup1\n mload\n not(0xff)\n and\n dup4\n dup1\n add\n or\n dup6\n sstore\n jump(tag_41)\n tag_43:\n dup3\n dup1\n add\n 0x01\n add\n dup6\n sstore\n dup3\n iszero\n tag_41\n jumpi\n swap2\n dup3\n add\n tag_44:\n dup3\n dup2\n gt\n iszero\n tag_45\n jumpi\n dup3\n mload\n dup3\n sstore\n swap2\n 0x20\n add\n swap2\n swap1\n 0x01\n add\n swap1\n jump(tag_44)\n tag_45:\n tag_41:\n pop\n swap1\n pop\n tag_46\n swap2\n swap1\n tag_47\n jump\t// in\n tag_46:\n pop\n swap1\n jump\t// out\n tag_47:\n tag_48:\n dup1\n dup3\n gt\n iszero\n tag_49\n jumpi\n 0x00\n dup2\n 0x00\n swap1\n sstore\n pop\n 0x01\n add\n jump(tag_48)\n tag_49:\n pop\n swap1\n jump\t// out\n /* \"#utility.yul\":7:352 */\n tag_51:\n /* \"#utility.yul\":85:90 */\n 0x00\n /* \"#utility.yul\":110:176 */\n tag_53\n /* \"#utility.yul\":126:175 */\n tag_54\n /* \"#utility.yul\":168:174 */\n dup5\n /* \"#utility.yul\":126:175 */\n tag_55\n jump\t// in\n tag_54:\n /* \"#utility.yul\":110:176 */\n tag_56\n jump\t// in\n tag_53:\n /* \"#utility.yul\":101:176 */\n swap1\n pop\n /* \"#utility.yul\":199:205 */\n dup3\n /* \"#utility.yul\":192:197 */\n dup2\n /* \"#utility.yul\":185:206 */\n mstore\n /* \"#utility.yul\":237:241 */\n 0x20\n /* \"#utility.yul\":230:235 */\n dup2\n /* \"#utility.yul\":226:242 */\n add\n /* \"#utility.yul\":275:278 */\n dup5\n /* \"#utility.yul\":266:272 */\n dup5\n /* \"#utility.yul\":261:264 */\n dup5\n /* \"#utility.yul\":257:273 */\n add\n /* \"#utility.yul\":254:279 */\n gt\n /* \"#utility.yul\":251:253 */\n iszero\n tag_57\n jumpi\n /* \"#utility.yul\":292:293 */\n 0x00\n /* \"#utility.yul\":289:290 */\n dup1\n /* \"#utility.yul\":282:294 */\n revert\n /* \"#utility.yul\":251:253 */\n tag_57:\n /* \"#utility.yul\":305:346 */\n tag_58\n /* \"#utility.yul\":339:345 */\n dup5\n /* \"#utility.yul\":334:337 */\n dup3\n /* \"#utility.yul\":329:332 */\n dup6\n /* \"#utility.yul\":305:346 */\n tag_59\n jump\t// in\n tag_58:\n /* \"#utility.yul\":91:352 */\n pop\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":372:645 */\n tag_60:\n /* \"#utility.yul\":428:433 */\n 0x00\n /* \"#utility.yul\":477:480 */\n dup3\n /* \"#utility.yul\":470:474 */\n 0x1f\n /* \"#utility.yul\":462:468 */\n dup4\n /* \"#utility.yul\":458:475 */\n add\n /* \"#utility.yul\":454:481 */\n slt\n /* \"#utility.yul\":444:446 */\n tag_62\n jumpi\n /* \"#utility.yul\":495:496 */\n 0x00\n /* \"#utility.yul\":492:493 */\n dup1\n /* \"#utility.yul\":485:497 */\n revert\n /* \"#utility.yul\":444:446 */\n tag_62:\n /* \"#utility.yul\":535:541 */\n dup2\n /* \"#utility.yul\":522:542 */\n calldataload\n /* \"#utility.yul\":560:639 */\n tag_63\n /* \"#utility.yul\":635:638 */\n dup5\n /* \"#utility.yul\":627:633 */\n dup3\n /* \"#utility.yul\":620:624 */\n 0x20\n /* \"#utility.yul\":612:618 */\n dup7\n /* \"#utility.yul\":608:625 */\n add\n /* \"#utility.yul\":560:639 */\n tag_51\n jump\t// in\n tag_63:\n /* \"#utility.yul\":551:639 */\n swap2\n pop\n /* \"#utility.yul\":434:645 */\n pop\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":651:790 */\n tag_64:\n /* \"#utility.yul\":697:702 */\n 0x00\n /* \"#utility.yul\":735:741 */\n dup2\n /* \"#utility.yul\":722:742 */\n calldataload\n /* \"#utility.yul\":713:742 */\n swap1\n pop\n /* \"#utility.yul\":751:784 */\n tag_66\n /* \"#utility.yul\":778:783 */\n dup2\n /* \"#utility.yul\":751:784 */\n tag_67\n jump\t// in\n tag_66:\n /* \"#utility.yul\":703:790 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":796:1687 */\n tag_8:\n /* \"#utility.yul\":903:909 */\n 0x00\n /* \"#utility.yul\":911:917 */\n dup1\n /* \"#utility.yul\":919:925 */\n 0x00\n /* \"#utility.yul\":968:970 */\n 0x60\n /* \"#utility.yul\":956:965 */\n dup5\n /* \"#utility.yul\":947:954 */\n dup7\n /* \"#utility.yul\":943:966 */\n sub\n /* \"#utility.yul\":939:971 */\n slt\n /* \"#utility.yul\":936:938 */\n iszero\n tag_69\n jumpi\n /* \"#utility.yul\":984:985 */\n 0x00\n /* \"#utility.yul\":981:982 */\n dup1\n /* \"#utility.yul\":974:986 */\n revert\n /* \"#utility.yul\":936:938 */\n tag_69:\n /* \"#utility.yul\":1055:1056 */\n 0x00\n /* \"#utility.yul\":1044:1053 */\n dup5\n /* \"#utility.yul\":1040:1057 */\n add\n /* \"#utility.yul\":1027:1058 */\n calldataload\n /* \"#utility.yul\":1085:1103 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1077:1083 */\n dup2\n /* \"#utility.yul\":1074:1104 */\n gt\n /* \"#utility.yul\":1071:1073 */\n iszero\n tag_70\n jumpi\n /* \"#utility.yul\":1117:1118 */\n 0x00\n /* \"#utility.yul\":1114:1115 */\n dup1\n /* \"#utility.yul\":1107:1119 */\n revert\n /* \"#utility.yul\":1071:1073 */\n tag_70:\n /* \"#utility.yul\":1145:1208 */\n tag_71\n /* \"#utility.yul\":1200:1207 */\n dup7\n /* \"#utility.yul\":1191:1197 */\n dup3\n /* \"#utility.yul\":1180:1189 */\n dup8\n /* \"#utility.yul\":1176:1198 */\n add\n /* \"#utility.yul\":1145:1208 */\n tag_60\n jump\t// in\n tag_71:\n /* \"#utility.yul\":1135:1208 */\n swap4\n pop\n /* \"#utility.yul\":998:1218 */\n pop\n /* \"#utility.yul\":1285:1287 */\n 0x20\n /* \"#utility.yul\":1274:1283 */\n dup5\n /* \"#utility.yul\":1270:1288 */\n add\n /* \"#utility.yul\":1257:1289 */\n calldataload\n /* \"#utility.yul\":1316:1334 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1308:1314 */\n dup2\n /* \"#utility.yul\":1305:1335 */\n gt\n /* \"#utility.yul\":1302:1304 */\n iszero\n tag_72\n jumpi\n /* \"#utility.yul\":1348:1349 */\n 0x00\n /* \"#utility.yul\":1345:1346 */\n dup1\n /* \"#utility.yul\":1338:1350 */\n revert\n /* \"#utility.yul\":1302:1304 */\n tag_72:\n /* \"#utility.yul\":1376:1439 */\n tag_73\n /* \"#utility.yul\":1431:1438 */\n dup7\n /* \"#utility.yul\":1422:1428 */\n dup3\n /* \"#utility.yul\":1411:1420 */\n dup8\n /* \"#utility.yul\":1407:1429 */\n add\n /* \"#utility.yul\":1376:1439 */\n tag_60\n jump\t// in\n tag_73:\n /* \"#utility.yul\":1366:1439 */\n swap3\n pop\n /* \"#utility.yul\":1228:1449 */\n pop\n /* \"#utility.yul\":1516:1518 */\n 0x40\n /* \"#utility.yul\":1505:1514 */\n dup5\n /* \"#utility.yul\":1501:1519 */\n add\n /* \"#utility.yul\":1488:1520 */\n calldataload\n /* \"#utility.yul\":1547:1565 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1539:1545 */\n dup2\n /* \"#utility.yul\":1536:1566 */\n gt\n /* \"#utility.yul\":1533:1535 */\n iszero\n tag_74\n jumpi\n /* \"#utility.yul\":1579:1580 */\n 0x00\n /* \"#utility.yul\":1576:1577 */\n dup1\n /* \"#utility.yul\":1569:1581 */\n revert\n /* \"#utility.yul\":1533:1535 */\n tag_74:\n /* \"#utility.yul\":1607:1670 */\n tag_75\n /* \"#utility.yul\":1662:1669 */\n dup7\n /* \"#utility.yul\":1653:1659 */\n dup3\n /* \"#utility.yul\":1642:1651 */\n dup8\n /* \"#utility.yul\":1638:1660 */\n add\n /* \"#utility.yul\":1607:1670 */\n tag_60\n jump\t// in\n tag_75:\n /* \"#utility.yul\":1597:1670 */\n swap2\n pop\n /* \"#utility.yul\":1459:1680 */\n pop\n /* \"#utility.yul\":926:1687 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":1693:1955 */\n tag_16:\n /* \"#utility.yul\":1752:1758 */\n 0x00\n /* \"#utility.yul\":1801:1803 */\n 0x20\n /* \"#utility.yul\":1789:1798 */\n dup3\n /* \"#utility.yul\":1780:1787 */\n dup5\n /* \"#utility.yul\":1776:1799 */\n sub\n /* \"#utility.yul\":1772:1804 */\n slt\n /* \"#utility.yul\":1769:1771 */\n iszero\n tag_77\n jumpi\n /* \"#utility.yul\":1817:1818 */\n 0x00\n /* \"#utility.yul\":1814:1815 */\n dup1\n /* \"#utility.yul\":1807:1819 */\n revert\n /* \"#utility.yul\":1769:1771 */\n tag_77:\n /* \"#utility.yul\":1860:1861 */\n 0x00\n /* \"#utility.yul\":1885:1938 */\n tag_78\n /* \"#utility.yul\":1930:1937 */\n dup5\n /* \"#utility.yul\":1921:1927 */\n dup3\n /* \"#utility.yul\":1910:1919 */\n dup6\n /* \"#utility.yul\":1906:1928 */\n add\n /* \"#utility.yul\":1885:1938 */\n tag_64\n jump\t// in\n tag_78:\n /* \"#utility.yul\":1875:1938 */\n swap2\n pop\n /* \"#utility.yul\":1831:1948 */\n pop\n /* \"#utility.yul\":1759:1955 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1961:2079 */\n tag_79:\n /* \"#utility.yul\":2048:2072 */\n tag_81\n /* \"#utility.yul\":2066:2071 */\n dup2\n /* \"#utility.yul\":2048:2072 */\n tag_82\n jump\t// in\n tag_81:\n /* \"#utility.yul\":2043:2046 */\n dup3\n /* \"#utility.yul\":2036:2073 */\n mstore\n /* \"#utility.yul\":2026:2079 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2085:2203 */\n tag_83:\n /* \"#utility.yul\":2172:2196 */\n tag_85\n /* \"#utility.yul\":2190:2195 */\n dup2\n /* \"#utility.yul\":2172:2196 */\n tag_86\n jump\t// in\n tag_85:\n /* \"#utility.yul\":2167:2170 */\n dup3\n /* \"#utility.yul\":2160:2197 */\n mstore\n /* \"#utility.yul\":2150:2203 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2209:2575 */\n tag_87:\n /* \"#utility.yul\":2351:2354 */\n 0x00\n /* \"#utility.yul\":2372:2439 */\n tag_89\n /* \"#utility.yul\":2436:2438 */\n 0x20\n /* \"#utility.yul\":2431:2434 */\n dup4\n /* \"#utility.yul\":2372:2439 */\n tag_90\n jump\t// in\n tag_89:\n /* \"#utility.yul\":2365:2439 */\n swap2\n pop\n /* \"#utility.yul\":2448:2541 */\n tag_91\n /* \"#utility.yul\":2537:2540 */\n dup3\n /* \"#utility.yul\":2448:2541 */\n tag_92\n jump\t// in\n tag_91:\n /* \"#utility.yul\":2566:2568 */\n 0x20\n /* \"#utility.yul\":2561:2564 */\n dup3\n /* \"#utility.yul\":2557:2569 */\n add\n /* \"#utility.yul\":2550:2569 */\n swap1\n pop\n /* \"#utility.yul\":2355:2575 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2581:2947 */\n tag_93:\n /* \"#utility.yul\":2723:2726 */\n 0x00\n /* \"#utility.yul\":2744:2811 */\n tag_95\n /* \"#utility.yul\":2808:2810 */\n 0x40\n /* \"#utility.yul\":2803:2806 */\n dup4\n /* \"#utility.yul\":2744:2811 */\n tag_90\n jump\t// in\n tag_95:\n /* \"#utility.yul\":2737:2811 */\n swap2\n pop\n /* \"#utility.yul\":2820:2913 */\n tag_96\n /* \"#utility.yul\":2909:2912 */\n dup3\n /* \"#utility.yul\":2820:2913 */\n tag_97\n jump\t// in\n tag_96:\n /* \"#utility.yul\":2938:2940 */\n 0x40\n /* \"#utility.yul\":2933:2936 */\n dup3\n /* \"#utility.yul\":2929:2941 */\n add\n /* \"#utility.yul\":2922:2941 */\n swap1\n pop\n /* \"#utility.yul\":2727:2947 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2953:3110 */\n tag_98:\n /* \"#utility.yul\":3058:3103 */\n tag_100\n /* \"#utility.yul\":3078:3102 */\n tag_101\n /* \"#utility.yul\":3096:3101 */\n dup3\n /* \"#utility.yul\":3078:3102 */\n tag_102\n jump\t// in\n tag_101:\n /* \"#utility.yul\":3058:3103 */\n tag_103\n jump\t// in\n tag_100:\n /* \"#utility.yul\":3053:3056 */\n dup3\n /* \"#utility.yul\":3046:3104 */\n mstore\n /* \"#utility.yul\":3036:3110 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3116:3372 */\n tag_32:\n /* \"#utility.yul\":3228:3231 */\n 0x00\n /* \"#utility.yul\":3243:3318 */\n tag_105\n /* \"#utility.yul\":3314:3317 */\n dup3\n /* \"#utility.yul\":3305:3311 */\n dup5\n /* \"#utility.yul\":3243:3318 */\n tag_98\n jump\t// in\n tag_105:\n /* \"#utility.yul\":3343:3345 */\n 0x20\n /* \"#utility.yul\":3338:3341 */\n dup3\n /* \"#utility.yul\":3334:3346 */\n add\n /* \"#utility.yul\":3327:3346 */\n swap2\n pop\n /* \"#utility.yul\":3363:3366 */\n dup2\n /* \"#utility.yul\":3356:3366 */\n swap1\n pop\n /* \"#utility.yul\":3232:3372 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3378:3600 */\n tag_13:\n /* \"#utility.yul\":3471:3475 */\n 0x00\n /* \"#utility.yul\":3509:3511 */\n 0x20\n /* \"#utility.yul\":3498:3507 */\n dup3\n /* \"#utility.yul\":3494:3512 */\n add\n /* \"#utility.yul\":3486:3512 */\n swap1\n pop\n /* \"#utility.yul\":3522:3593 */\n tag_107\n /* \"#utility.yul\":3590:3591 */\n 0x00\n /* \"#utility.yul\":3579:3588 */\n dup4\n /* \"#utility.yul\":3575:3592 */\n add\n /* \"#utility.yul\":3566:3572 */\n dup5\n /* \"#utility.yul\":3522:3593 */\n tag_79\n jump\t// in\n tag_107:\n /* \"#utility.yul\":3476:3600 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3606:3828 */\n tag_19:\n /* \"#utility.yul\":3699:3703 */\n 0x00\n /* \"#utility.yul\":3737:3739 */\n 0x20\n /* \"#utility.yul\":3726:3735 */\n dup3\n /* \"#utility.yul\":3722:3740 */\n add\n /* \"#utility.yul\":3714:3740 */\n swap1\n pop\n /* \"#utility.yul\":3750:3821 */\n tag_109\n /* \"#utility.yul\":3818:3819 */\n 0x00\n /* \"#utility.yul\":3807:3816 */\n dup4\n /* \"#utility.yul\":3803:3820 */\n add\n /* \"#utility.yul\":3794:3800 */\n dup5\n /* \"#utility.yul\":3750:3821 */\n tag_83\n jump\t// in\n tag_109:\n /* \"#utility.yul\":3704:3828 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3834:4253 */\n tag_23:\n /* \"#utility.yul\":4000:4004 */\n 0x00\n /* \"#utility.yul\":4038:4040 */\n 0x20\n /* \"#utility.yul\":4027:4036 */\n dup3\n /* \"#utility.yul\":4023:4041 */\n add\n /* \"#utility.yul\":4015:4041 */\n swap1\n pop\n /* \"#utility.yul\":4087:4096 */\n dup2\n /* \"#utility.yul\":4081:4085 */\n dup2\n /* \"#utility.yul\":4077:4097 */\n sub\n /* \"#utility.yul\":4073:4074 */\n 0x00\n /* \"#utility.yul\":4062:4071 */\n dup4\n /* \"#utility.yul\":4058:4075 */\n add\n /* \"#utility.yul\":4051:4098 */\n mstore\n /* \"#utility.yul\":4115:4246 */\n tag_111\n /* \"#utility.yul\":4241:4245 */\n dup2\n /* \"#utility.yul\":4115:4246 */\n tag_87\n jump\t// in\n tag_111:\n /* \"#utility.yul\":4107:4246 */\n swap1\n pop\n /* \"#utility.yul\":4005:4253 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4259:4678 */\n tag_29:\n /* \"#utility.yul\":4425:4429 */\n 0x00\n /* \"#utility.yul\":4463:4465 */\n 0x20\n /* \"#utility.yul\":4452:4461 */\n dup3\n /* \"#utility.yul\":4448:4466 */\n add\n /* \"#utility.yul\":4440:4466 */\n swap1\n pop\n /* \"#utility.yul\":4512:4521 */\n dup2\n /* \"#utility.yul\":4506:4510 */\n dup2\n /* \"#utility.yul\":4502:4522 */\n sub\n /* \"#utility.yul\":4498:4499 */\n 0x00\n /* \"#utility.yul\":4487:4496 */\n dup4\n /* \"#utility.yul\":4483:4500 */\n add\n /* \"#utility.yul\":4476:4523 */\n mstore\n /* \"#utility.yul\":4540:4671 */\n tag_113\n /* \"#utility.yul\":4666:4670 */\n dup2\n /* \"#utility.yul\":4540:4671 */\n tag_93\n jump\t// in\n tag_113:\n /* \"#utility.yul\":4532:4671 */\n swap1\n pop\n /* \"#utility.yul\":4430:4678 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4684:4813 */\n tag_56:\n /* \"#utility.yul\":4718:4724 */\n 0x00\n /* \"#utility.yul\":4745:4765 */\n tag_115\n tag_116\n jump\t// in\n tag_115:\n /* \"#utility.yul\":4735:4765 */\n swap1\n pop\n /* \"#utility.yul\":4774:4807 */\n tag_117\n /* \"#utility.yul\":4802:4806 */\n dup3\n /* \"#utility.yul\":4794:4800 */\n dup3\n /* \"#utility.yul\":4774:4807 */\n tag_118\n jump\t// in\n tag_117:\n /* \"#utility.yul\":4725:4813 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4819:4894 */\n tag_116:\n /* \"#utility.yul\":4852:4858 */\n 0x00\n /* \"#utility.yul\":4885:4887 */\n 0x40\n /* \"#utility.yul\":4879:4888 */\n mload\n /* \"#utility.yul\":4869:4888 */\n swap1\n pop\n /* \"#utility.yul\":4859:4894 */\n swap1\n jump\t// out\n /* \"#utility.yul\":4900:5208 */\n tag_55:\n /* \"#utility.yul\":4962:4966 */\n 0x00\n /* \"#utility.yul\":5052:5070 */\n 0xffffffffffffffff\n /* \"#utility.yul\":5044:5050 */\n dup3\n /* \"#utility.yul\":5041:5071 */\n gt\n /* \"#utility.yul\":5038:5040 */\n iszero\n tag_121\n jumpi\n /* \"#utility.yul\":5074:5092 */\n tag_122\n tag_123\n jump\t// in\n tag_122:\n /* \"#utility.yul\":5038:5040 */\n tag_121:\n /* \"#utility.yul\":5112:5141 */\n tag_124\n /* \"#utility.yul\":5134:5140 */\n dup3\n /* \"#utility.yul\":5112:5141 */\n tag_125\n jump\t// in\n tag_124:\n /* \"#utility.yul\":5104:5141 */\n swap1\n pop\n /* \"#utility.yul\":5196:5200 */\n 0x20\n /* \"#utility.yul\":5190:5194 */\n dup2\n /* \"#utility.yul\":5186:5201 */\n add\n /* \"#utility.yul\":5178:5201 */\n swap1\n pop\n /* \"#utility.yul\":4967:5208 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5214:5383 */\n tag_90:\n /* \"#utility.yul\":5298:5309 */\n 0x00\n /* \"#utility.yul\":5332:5338 */\n dup3\n /* \"#utility.yul\":5327:5330 */\n dup3\n /* \"#utility.yul\":5320:5339 */\n mstore\n /* \"#utility.yul\":5372:5376 */\n 0x20\n /* \"#utility.yul\":5367:5370 */\n dup3\n /* \"#utility.yul\":5363:5377 */\n add\n /* \"#utility.yul\":5348:5377 */\n swap1\n pop\n /* \"#utility.yul\":5310:5383 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5389:5485 */\n tag_82:\n /* \"#utility.yul\":5426:5433 */\n 0x00\n /* \"#utility.yul\":5455:5479 */\n tag_128\n /* \"#utility.yul\":5473:5478 */\n dup3\n /* \"#utility.yul\":5455:5479 */\n tag_129\n jump\t// in\n tag_128:\n /* \"#utility.yul\":5444:5479 */\n swap1\n pop\n /* \"#utility.yul\":5434:5485 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5491:5568 */\n tag_86:\n /* \"#utility.yul\":5528:5535 */\n 0x00\n /* \"#utility.yul\":5557:5562 */\n dup2\n /* \"#utility.yul\":5546:5562 */\n swap1\n pop\n /* \"#utility.yul\":5536:5568 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5574:5700 */\n tag_129:\n /* \"#utility.yul\":5611:5618 */\n 0x00\n /* \"#utility.yul\":5651:5693 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":5644:5649 */\n dup3\n /* \"#utility.yul\":5640:5694 */\n and\n /* \"#utility.yul\":5629:5694 */\n swap1\n pop\n /* \"#utility.yul\":5619:5700 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5706:5783 */\n tag_102:\n /* \"#utility.yul\":5743:5750 */\n 0x00\n /* \"#utility.yul\":5772:5777 */\n dup2\n /* \"#utility.yul\":5761:5777 */\n swap1\n pop\n /* \"#utility.yul\":5751:5783 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5789:5943 */\n tag_59:\n /* \"#utility.yul\":5873:5879 */\n dup3\n /* \"#utility.yul\":5868:5871 */\n dup2\n /* \"#utility.yul\":5863:5866 */\n dup4\n /* \"#utility.yul\":5850:5880 */\n calldatacopy\n /* \"#utility.yul\":5935:5936 */\n 0x00\n /* \"#utility.yul\":5926:5932 */\n dup4\n /* \"#utility.yul\":5921:5924 */\n dup4\n /* \"#utility.yul\":5917:5933 */\n add\n /* \"#utility.yul\":5910:5937 */\n mstore\n /* \"#utility.yul\":5840:5943 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5949:6269 */\n tag_40:\n /* \"#utility.yul\":5993:5999 */\n 0x00\n /* \"#utility.yul\":6030:6031 */\n 0x02\n /* \"#utility.yul\":6024:6028 */\n dup3\n /* \"#utility.yul\":6020:6032 */\n div\n /* \"#utility.yul\":6010:6032 */\n swap1\n pop\n /* \"#utility.yul\":6077:6078 */\n 0x01\n /* \"#utility.yul\":6071:6075 */\n dup3\n /* \"#utility.yul\":6067:6079 */\n and\n /* \"#utility.yul\":6098:6116 */\n dup1\n /* \"#utility.yul\":6088:6090 */\n tag_135\n jumpi\n /* \"#utility.yul\":6154:6158 */\n 0x7f\n /* \"#utility.yul\":6146:6152 */\n dup3\n /* \"#utility.yul\":6142:6159 */\n and\n /* \"#utility.yul\":6132:6159 */\n swap2\n pop\n /* \"#utility.yul\":6088:6090 */\n tag_135:\n /* \"#utility.yul\":6216:6218 */\n 0x20\n /* \"#utility.yul\":6208:6214 */\n dup3\n /* \"#utility.yul\":6205:6219 */\n lt\n /* \"#utility.yul\":6185:6203 */\n dup2\n /* \"#utility.yul\":6182:6220 */\n eq\n /* \"#utility.yul\":6179:6181 */\n iszero\n tag_136\n jumpi\n /* \"#utility.yul\":6235:6253 */\n tag_137\n tag_138\n jump\t// in\n tag_137:\n /* \"#utility.yul\":6179:6181 */\n tag_136:\n /* \"#utility.yul\":6000:6269 */\n pop\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6275:6556 */\n tag_118:\n /* \"#utility.yul\":6358:6385 */\n tag_140\n /* \"#utility.yul\":6380:6384 */\n dup3\n /* \"#utility.yul\":6358:6385 */\n tag_125\n jump\t// in\n tag_140:\n /* \"#utility.yul\":6350:6356 */\n dup2\n /* \"#utility.yul\":6346:6386 */\n add\n /* \"#utility.yul\":6488:6494 */\n dup2\n /* \"#utility.yul\":6476:6486 */\n dup2\n /* \"#utility.yul\":6473:6495 */\n lt\n /* \"#utility.yul\":6452:6470 */\n 0xffffffffffffffff\n /* \"#utility.yul\":6440:6450 */\n dup3\n /* \"#utility.yul\":6437:6471 */\n gt\n /* \"#utility.yul\":6434:6496 */\n or\n /* \"#utility.yul\":6431:6433 */\n iszero\n tag_141\n jumpi\n /* \"#utility.yul\":6499:6517 */\n tag_142\n tag_123\n jump\t// in\n tag_142:\n /* \"#utility.yul\":6431:6433 */\n tag_141:\n /* \"#utility.yul\":6539:6549 */\n dup1\n /* \"#utility.yul\":6535:6537 */\n 0x40\n /* \"#utility.yul\":6528:6550 */\n mstore\n /* \"#utility.yul\":6318:6556 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6562:6641 */\n tag_103:\n /* \"#utility.yul\":6601:6608 */\n 0x00\n /* \"#utility.yul\":6630:6635 */\n dup2\n /* \"#utility.yul\":6619:6635 */\n swap1\n pop\n /* \"#utility.yul\":6609:6641 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6647:6827 */\n tag_138:\n /* \"#utility.yul\":6695:6772 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6692:6693 */\n 0x00\n /* \"#utility.yul\":6685:6773 */\n mstore\n /* \"#utility.yul\":6792:6796 */\n 0x22\n /* \"#utility.yul\":6789:6790 */\n 0x04\n /* \"#utility.yul\":6782:6797 */\n mstore\n /* \"#utility.yul\":6816:6820 */\n 0x24\n /* \"#utility.yul\":6813:6814 */\n 0x00\n /* \"#utility.yul\":6806:6821 */\n revert\n /* \"#utility.yul\":6833:7013 */\n tag_123:\n /* \"#utility.yul\":6881:6958 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6878:6879 */\n 0x00\n /* \"#utility.yul\":6871:6959 */\n mstore\n /* \"#utility.yul\":6978:6982 */\n 0x41\n /* \"#utility.yul\":6975:6976 */\n 0x04\n /* \"#utility.yul\":6968:6983 */\n mstore\n /* \"#utility.yul\":7002:7006 */\n 0x24\n /* \"#utility.yul\":6999:7000 */\n 0x00\n /* \"#utility.yul\":6992:7007 */\n revert\n /* \"#utility.yul\":7019:7121 */\n tag_125:\n /* \"#utility.yul\":7060:7066 */\n 0x00\n /* \"#utility.yul\":7111:7113 */\n 0x1f\n /* \"#utility.yul\":7107:7114 */\n not\n /* \"#utility.yul\":7102:7104 */\n 0x1f\n /* \"#utility.yul\":7095:7100 */\n dup4\n /* \"#utility.yul\":7091:7105 */\n add\n /* \"#utility.yul\":7087:7115 */\n and\n /* \"#utility.yul\":7077:7115 */\n swap1\n pop\n /* \"#utility.yul\":7067:7121 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7127:7309 */\n tag_92:\n /* \"#utility.yul\":7267:7301 */\n 0x446562657320706f6e657220656c206e6f6d62726520616c20706f6b656d6f6e\n /* \"#utility.yul\":7263:7264 */\n 0x00\n /* \"#utility.yul\":7255:7261 */\n dup3\n /* \"#utility.yul\":7251:7265 */\n add\n /* \"#utility.yul\":7244:7302 */\n mstore\n /* \"#utility.yul\":7233:7309 */\n pop\n jump\t// out\n /* \"#utility.yul\":7315:7566 */\n tag_97:\n /* \"#utility.yul\":7455:7489 */\n 0x4e6f207469656e6573207065726d69736f732070617261206361707475726172\n /* \"#utility.yul\":7451:7452 */\n 0x00\n /* \"#utility.yul\":7443:7449 */\n dup3\n /* \"#utility.yul\":7439:7453 */\n add\n /* \"#utility.yul\":7432:7490 */\n mstore\n /* \"#utility.yul\":7524:7558 */\n 0x206573746f7320706f6b656d6f6e2070617261206573746120506f6b65646578\n /* \"#utility.yul\":7519:7521 */\n 0x20\n /* \"#utility.yul\":7511:7517 */\n dup3\n /* \"#utility.yul\":7507:7522 */\n add\n /* \"#utility.yul\":7500:7559 */\n mstore\n /* \"#utility.yul\":7421:7566 */\n pop\n jump\t// out\n /* \"#utility.yul\":7572:7694 */\n tag_67:\n /* \"#utility.yul\":7645:7669 */\n tag_150\n /* \"#utility.yul\":7663:7668 */\n dup2\n /* \"#utility.yul\":7645:7669 */\n tag_102\n jump\t// in\n tag_150:\n /* \"#utility.yul\":7638:7643 */\n dup2\n /* \"#utility.yul\":7635:7670 */\n eq\n /* \"#utility.yul\":7625:7627 */\n tag_151\n jumpi\n /* \"#utility.yul\":7684:7685 */\n 0x00\n /* \"#utility.yul\":7681:7682 */\n dup1\n /* \"#utility.yul\":7674:7686 */\n revert\n /* \"#utility.yul\":7625:7627 */\n tag_151:\n /* \"#utility.yul\":7615:7694 */\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220f6d92718d94368efc5f07397a8db6b8213e1bb29e9c588bd8fbe89277ee62a0064736f6c63430008040033\n}\n",
"bytecode": {
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610819806100616000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806357fb6b9c146100465780638da5cb5b14610062578063bda0284214610080575b600080fd5b610060600480360381019061005b91906103f0565b6100b0565b005b61006a610146565b6040516100779190610546565b60405180910390f35b61009a60048036038101906100959190610487565b61016c565b6040516100a79190610561565b60405180910390f35b6040518060400160405280600181526020017f20000000000000000000000000000000000000000000000000000000000000008152508051906020012083805190602001201415610136576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161012d9061057c565b60405180910390fd5b61014183838361022c565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146101fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f59061059c565b60405180910390fd5b8160405160200161020f919061052b565b604051602081830303815290604052805190602001209050919050565b60006040518060600160405280858152602001848152602001838152509080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001908051906020019061028e9291906102d0565b5060208201518160010190805190602001906102ab9291906102d0565b5060408201518160020190805190602001906102c89291906102d0565b505050505050565b8280546102dc90610678565b90600052602060002090601f0160209004810192826102fe5760008555610345565b82601f1061031757805160ff1916838001178555610345565b82800160010185558215610345579182015b82811115610344578251825591602001919060010190610329565b5b5090506103529190610356565b5090565b5b8082111561036f576000816000905550600101610357565b5090565b6000610386610381846105e1565b6105bc565b90508281526020810184848401111561039e57600080fd5b6103a9848285610669565b509392505050565b600082601f8301126103c257600080fd5b81356103d2848260208601610373565b91505092915050565b6000813590506103ea816107cc565b92915050565b60008060006060848603121561040557600080fd5b600084013567ffffffffffffffff81111561041f57600080fd5b61042b868287016103b1565b935050602084013567ffffffffffffffff81111561044857600080fd5b610454868287016103b1565b925050604084013567ffffffffffffffff81111561047157600080fd5b61047d868287016103b1565b9150509250925092565b60006020828403121561049957600080fd5b60006104a7848285016103db565b91505092915050565b6104b981610623565b82525050565b6104c881610635565b82525050565b60006104db602083610612565b91506104e682610754565b602082019050919050565b60006104fe604083610612565b91506105098261077d565b604082019050919050565b6105256105208261065f565b6106db565b82525050565b60006105378284610514565b60208201915081905092915050565b600060208201905061055b60008301846104b0565b92915050565b600060208201905061057660008301846104bf565b92915050565b60006020820190508181036000830152610595816104ce565b9050919050565b600060208201905081810360008301526105b5816104f1565b9050919050565b60006105c66105d7565b90506105d282826106aa565b919050565b6000604051905090565b600067ffffffffffffffff8211156105fc576105fb610714565b5b61060582610743565b9050602081019050919050565b600082825260208201905092915050565b600061062e8261063f565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b6000600282049050600182168061069057607f821691505b602082108114156106a4576106a36106e5565b5b50919050565b6106b382610743565b810181811067ffffffffffffffff821117156106d2576106d1610714565b5b80604052505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f446562657320706f6e657220656c206e6f6d62726520616c20706f6b656d6f6e600082015250565b7f4e6f207469656e6573207065726d69736f73207061726120636170747572617260008201527f206573746f7320706f6b656d6f6e2070617261206573746120506f6b65646578602082015250565b6107d58161065f565b81146107e057600080fd5b5056fea2646970667358221220f6d92718d94368efc5f07397a8db6b8213e1bb29e9c588bd8fbe89277ee62a0064736f6c63430008040033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x819 DUP1 PUSH2 0x61 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x57FB6B9C EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0xBDA02842 EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x3F0 JUMP JUMPDEST PUSH2 0xB0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0x146 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x546 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x95 SWAP2 SWAP1 PUSH2 0x487 JUMP JUMPDEST PUSH2 0x16C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA7 SWAP2 SWAP1 PUSH2 0x561 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x2000000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP4 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ ISZERO PUSH2 0x136 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12D SWAP1 PUSH2 0x57C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x141 DUP4 DUP4 DUP4 PUSH2 0x22C JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1FE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F5 SWAP1 PUSH2 0x59C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x20F SWAP2 SWAP1 PUSH2 0x52B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x28E SWAP3 SWAP2 SWAP1 PUSH2 0x2D0 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x2AB SWAP3 SWAP2 SWAP1 PUSH2 0x2D0 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x2C8 SWAP3 SWAP2 SWAP1 PUSH2 0x2D0 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x2DC SWAP1 PUSH2 0x678 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x2FE JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x345 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x317 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x345 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x345 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x344 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x329 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x352 SWAP2 SWAP1 PUSH2 0x356 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x36F JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x357 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x386 PUSH2 0x381 DUP5 PUSH2 0x5E1 JUMP JUMPDEST PUSH2 0x5BC JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x39E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3A9 DUP5 DUP3 DUP6 PUSH2 0x669 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x3D2 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x373 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3EA DUP2 PUSH2 0x7CC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x405 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x41F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x42B DUP7 DUP3 DUP8 ADD PUSH2 0x3B1 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x448 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x454 DUP7 DUP3 DUP8 ADD PUSH2 0x3B1 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x471 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x47D DUP7 DUP3 DUP8 ADD PUSH2 0x3B1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x499 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x4A7 DUP5 DUP3 DUP6 ADD PUSH2 0x3DB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x4B9 DUP2 PUSH2 0x623 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x4C8 DUP2 PUSH2 0x635 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4DB PUSH1 0x20 DUP4 PUSH2 0x612 JUMP JUMPDEST SWAP2 POP PUSH2 0x4E6 DUP3 PUSH2 0x754 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4FE PUSH1 0x40 DUP4 PUSH2 0x612 JUMP JUMPDEST SWAP2 POP PUSH2 0x509 DUP3 PUSH2 0x77D JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x525 PUSH2 0x520 DUP3 PUSH2 0x65F JUMP JUMPDEST PUSH2 0x6DB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x537 DUP3 DUP5 PUSH2 0x514 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x55B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x4B0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x576 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x4BF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x595 DUP2 PUSH2 0x4CE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x5B5 DUP2 PUSH2 0x4F1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5C6 PUSH2 0x5D7 JUMP JUMPDEST SWAP1 POP PUSH2 0x5D2 DUP3 DUP3 PUSH2 0x6AA JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x5FC JUMPI PUSH2 0x5FB PUSH2 0x714 JUMP JUMPDEST JUMPDEST PUSH2 0x605 DUP3 PUSH2 0x743 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD 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 PUSH2 0x62E DUP3 PUSH2 0x63F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x690 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x6A4 JUMPI PUSH2 0x6A3 PUSH2 0x6E5 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6B3 DUP3 PUSH2 0x743 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x6D2 JUMPI PUSH2 0x6D1 PUSH2 0x714 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x446562657320706F6E657220656C206E6F6D62726520616C20706F6B656D6F6E PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4E6F207469656E6573207065726D69736F732070617261206361707475726172 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206573746F7320706F6B656D6F6E2070617261206573746120506F6B65646578 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x7D5 DUP2 PUSH2 0x65F JUMP JUMPDEST DUP2 EQ PUSH2 0x7E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF6 0xD9 0x27 XOR 0xD9 NUMBER PUSH9 0xEFC5F07397A8DB6B82 SGT 0xE1 0xBB 0x29 0xE9 0xC5 DUP9 0xBD DUP16 0xBE DUP10 0x27 PUSH31 0xE62A0064736F6C634300080400330000000000000000000000000000000000 ",
"sourceMap": "640:1005:0:-:0;;;827:52;;;;;;;;;;861:10;853:5;;:18;;;;;;;;;;;;;;;;;;640:1005;;;;;;"
},
"deployedBytecode": {
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:7697:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "91:261:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "101:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "168:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "126:41:1"
},
"nodeType": "YulFunctionCall",
"src": "126:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "110:15:1"
},
"nodeType": "YulFunctionCall",
"src": "110:66:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "101:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "192:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "199:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "185:6:1"
},
"nodeType": "YulFunctionCall",
"src": "185:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "185:21:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "215:27:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "230:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "237:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "226:3:1"
},
"nodeType": "YulFunctionCall",
"src": "226:16:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "219:3:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "280:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "289:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "292:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "282:6:1"
},
"nodeType": "YulFunctionCall",
"src": "282:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "282:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "261:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "266:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "257:3:1"
},
"nodeType": "YulFunctionCall",
"src": "257:16:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "275:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "254:2:1"
},
"nodeType": "YulFunctionCall",
"src": "254:25:1"
},
"nodeType": "YulIf",
"src": "251:2:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "329:3:1"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "334:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "339:6:1"
}
],
"functionName": {
"name": "copy_calldata_to_memory",
"nodeType": "YulIdentifier",
"src": "305:23:1"
},
"nodeType": "YulFunctionCall",
"src": "305:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "305:41:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "64:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "69:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "77:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "85:5:1",
"type": ""
}
],
"src": "7:345:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "434:211:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "483:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "492:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "495:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "485:6:1"
},
"nodeType": "YulFunctionCall",
"src": "485:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "485:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "462:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "470:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "458:3:1"
},
"nodeType": "YulFunctionCall",
"src": "458:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "477:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "454:3:1"
},
"nodeType": "YulFunctionCall",
"src": "454:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "447:6:1"
},
"nodeType": "YulFunctionCall",
"src": "447:35:1"
},
"nodeType": "YulIf",
"src": "444:2:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "508:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "535:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "522:12:1"
},
"nodeType": "YulFunctionCall",
"src": "522:20:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "512:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "551:88:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "612:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "620:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "608:3:1"
},
"nodeType": "YulFunctionCall",
"src": "608:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "627:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "635:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "560:47:1"
},
"nodeType": "YulFunctionCall",
"src": "560:79:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "551:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "412:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "420:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "428:5:1",
"type": ""
}
],
"src": "372:273:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "703:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "713:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "735:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "722:12:1"
},
"nodeType": "YulFunctionCall",
"src": "722:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "713:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "778:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "751:26:1"
},
"nodeType": "YulFunctionCall",
"src": "751:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "751:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "681:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "689:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "697:5:1",
"type": ""
}
],
"src": "651:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "926:761:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "972:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "981:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "984:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "974:6:1"
},
"nodeType": "YulFunctionCall",
"src": "974:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "974:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "947:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "956:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "943:3:1"
},
"nodeType": "YulFunctionCall",
"src": "943:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "968:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "939:3:1"
},
"nodeType": "YulFunctionCall",
"src": "939:32:1"
},
"nodeType": "YulIf",
"src": "936:2:1"
},
{
"nodeType": "YulBlock",
"src": "998:220:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1013:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1044:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1055:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1040:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1040:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1027:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1027:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1017:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1105:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1114:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1117:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1107:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1107:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1107:12:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1077:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1085:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1074:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1074:30:1"
},
"nodeType": "YulIf",
"src": "1071:2:1"
},
{
"nodeType": "YulAssignment",
"src": "1135:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1180:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1191:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1176:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1176:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1200:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1145:30:1"
},
"nodeType": "YulFunctionCall",
"src": "1145:63:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1135:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1228:221:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1243:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1274:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1285:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1270:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1270:18:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1257:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1257:32:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1247:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1336:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1345:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1348:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1338:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1338:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1338:12:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1308:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1316:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1305:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1305:30:1"
},
"nodeType": "YulIf",
"src": "1302:2:1"
},
{
"nodeType": "YulAssignment",
"src": "1366:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1411:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1422:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1407:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1407:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1431:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1376:30:1"
},
"nodeType": "YulFunctionCall",
"src": "1376:63:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1366:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1459:221:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1474:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1505:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1516:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1501:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1501:18:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1488:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1488:32:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1478:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1567:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1576:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1579:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1569:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1569:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1569:12:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1539:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1547:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1536:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1536:30:1"
},
"nodeType": "YulIf",
"src": "1533:2:1"
},
{
"nodeType": "YulAssignment",
"src": "1597:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1642:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1653:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1638:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1638:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1662:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1607:30:1"
},
"nodeType": "YulFunctionCall",
"src": "1607:63:1"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "1597:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "880:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "891:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "903:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "911:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "919:6:1",
"type": ""
}
],
"src": "796:891:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1759:196:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1805:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1814:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1817:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1807:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1807:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1807:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1780:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1789:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1776:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1776:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1801:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1772:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1772:32:1"
},
"nodeType": "YulIf",
"src": "1769:2:1"
},
{
"nodeType": "YulBlock",
"src": "1831:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1846:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1860:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1850:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1875:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1910:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1921:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1906:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1906:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1930:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1885:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1885:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1875:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1729:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1740:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1752:6:1",
"type": ""
}
],
"src": "1693:262:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2026:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2043:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2066:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "2048:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2048:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2036:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2036:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2036:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2014:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2021:3:1",
"type": ""
}
],
"src": "1961:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2150:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2167:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2190:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nodeType": "YulIdentifier",
"src": "2172:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2172:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2160:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2160:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2160:37:1"
}
]
},
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2138:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2145:3:1",
"type": ""
}
],
"src": "2085:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2355:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2365:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2431:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2436:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2372:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2372:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2365:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2537:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292",
"nodeType": "YulIdentifier",
"src": "2448:88:1"
},
"nodeType": "YulFunctionCall",
"src": "2448:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "2448:93:1"
},
{
"nodeType": "YulAssignment",
"src": "2550:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2561:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2566:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2557:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2557:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2550:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2343:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2351:3:1",
"type": ""
}
],
"src": "2209:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2727:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2737:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2803:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2808:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2744:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2744:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2737:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2909:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67",
"nodeType": "YulIdentifier",
"src": "2820:88:1"
},
"nodeType": "YulFunctionCall",
"src": "2820:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "2820:93:1"
},
{
"nodeType": "YulAssignment",
"src": "2922:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2933:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2938:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2929:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2929:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2922:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2715:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2723:3:1",
"type": ""
}
],
"src": "2581:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3036:74:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3053:3:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3096:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3078:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3078:24:1"
}
],
"functionName": {
"name": "leftAlign_t_uint256",
"nodeType": "YulIdentifier",
"src": "3058:19:1"
},
"nodeType": "YulFunctionCall",
"src": "3058:45:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3046:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3046:58:1"
},
"nodeType": "YulExpressionStatement",
"src": "3046:58:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3024:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3031:3:1",
"type": ""
}
],
"src": "2953:157:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3232:140:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3305:6:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3314:3:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "3243:61:1"
},
"nodeType": "YulFunctionCall",
"src": "3243:75:1"
},
"nodeType": "YulExpressionStatement",
"src": "3243:75:1"
},
{
"nodeType": "YulAssignment",
"src": "3327:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3338:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3343:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3334:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3334:12:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3327:3:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3356:10:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3363:3:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3356:3:1"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_uint256__to_t_uint256__nonPadded_inplace_fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3211:3:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3217:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3228:3:1",
"type": ""
}
],
"src": "3116:256:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3476:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3486:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3498:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3509:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3494:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3494:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3486:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3566:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3579:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3590:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3575:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3575:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "3522:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3522:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "3522:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3448:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3460:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3471:4:1",
"type": ""
}
],
"src": "3378:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3704:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3714:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3726:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3737:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3722:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3722:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3714:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3794:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3807:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3818:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3803:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3803:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nodeType": "YulIdentifier",
"src": "3750:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3750:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "3750:71:1"
}
]
},
"name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3676:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3688:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3699:4:1",
"type": ""
}
],
"src": "3606:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4005:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4015:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4027:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4038:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4023:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4023:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4015:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4062:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4073:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4058:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4058:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4081:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4087:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4077:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4077:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4051:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4051:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "4051:47:1"
},
{
"nodeType": "YulAssignment",
"src": "4107:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4241:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4115:124:1"
},
"nodeType": "YulFunctionCall",
"src": "4115:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4107:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3985:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4000:4:1",
"type": ""
}
],
"src": "3834:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4430:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4440:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4452:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4463:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4448:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4448:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4440:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4487:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4498:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4483:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4483:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4506:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4512:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4502:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4502:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4476:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4476:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "4476:47:1"
},
{
"nodeType": "YulAssignment",
"src": "4532:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4666:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4540:124:1"
},
"nodeType": "YulFunctionCall",
"src": "4540:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4532:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4410:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4425:4:1",
"type": ""
}
],
"src": "4259:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4725:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4735:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "4745:18:1"
},
"nodeType": "YulFunctionCall",
"src": "4745:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4735:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4794:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4802:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "4774:19:1"
},
"nodeType": "YulFunctionCall",
"src": "4774:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "4774:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "4709:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4718:6:1",
"type": ""
}
],
"src": "4684:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4859:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4869:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4885:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4879:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4879:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4869:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4852:6:1",
"type": ""
}
],
"src": "4819:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4967:241:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5072:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "5074:16:1"
},
"nodeType": "YulFunctionCall",
"src": "5074:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "5074:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5044:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5052:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5041:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5041:30:1"
},
"nodeType": "YulIf",
"src": "5038:2:1"
},
{
"nodeType": "YulAssignment",
"src": "5104:37:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5134:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "5112:21:1"
},
"nodeType": "YulFunctionCall",
"src": "5112:29:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "5104:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "5178:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "5190:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5196:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5186:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5186:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "5178:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4951:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "4962:4:1",
"type": ""
}
],
"src": "4900:308:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5310:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5327:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5332:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5320:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5320:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "5320:19:1"
},
{
"nodeType": "YulAssignment",
"src": "5348:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5367:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5372:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5363:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5363:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "5348:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5282:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5287:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "5298:11:1",
"type": ""
}
],
"src": "5214:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5434:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5444:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5473:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "5455:17:1"
},
"nodeType": "YulFunctionCall",
"src": "5455:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5444:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5416:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5426:7:1",
"type": ""
}
],
"src": "5389:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5536:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5546:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "5557:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5546:7:1"
}
]
}
]
},
"name": "cleanup_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5518:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5528:7:1",
"type": ""
}
],
"src": "5491:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5619:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5629:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5644:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5651:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5640:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5640:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5629:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5601:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5611:7:1",
"type": ""
}
],
"src": "5574:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5751:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5761:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "5772:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5761:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5733:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5743:7:1",
"type": ""
}
],
"src": "5706:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5840:103:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5863:3:1"
},
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5868:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5873:6:1"
}
],
"functionName": {
"name": "calldatacopy",
"nodeType": "YulIdentifier",
"src": "5850:12:1"
},
"nodeType": "YulFunctionCall",
"src": "5850:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "5850:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5921:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5926:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5917:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5917:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5935:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5910:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5910:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "5910:27:1"
}
]
},
"name": "copy_calldata_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "5822:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "5827:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5832:6:1",
"type": ""
}
],
"src": "5789:154:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6000:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6010:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "6024:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6030:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "6020:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6020:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6010:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "6041:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "6071:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6077:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6067:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6067:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "6045:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6118:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6132:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6146:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6154:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6142:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6142:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6132:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "6098:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "6091:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6091:26:1"
},
"nodeType": "YulIf",
"src": "6088:2:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6221:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "6235:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6235:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6235:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "6185:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6208:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6216:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6205:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6205:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6182:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6182:38:1"
},
"nodeType": "YulIf",
"src": "6179:2:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "5984:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5993:6:1",
"type": ""
}
],
"src": "5949:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6318:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6328:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6350:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "6380:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "6358:21:1"
},
"nodeType": "YulFunctionCall",
"src": "6358:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6346:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6346:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "6332:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6497:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "6499:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6499:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6499:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "6440:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6452:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6437:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6437:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "6476:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6488:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6473:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6473:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "6434:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6434:62:1"
},
"nodeType": "YulIf",
"src": "6431:2:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6535:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "6539:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6528:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6528:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "6528:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "6304:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "6312:4:1",
"type": ""
}
],
"src": "6275:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6609:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6619:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "6630:5:1"
},
"variableNames": [
{
"name": "aligned",
"nodeType": "YulIdentifier",
"src": "6619:7:1"
}
]
}
]
},
"name": "leftAlign_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6591:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "aligned",
"nodeType": "YulTypedName",
"src": "6601:7:1",
"type": ""
}
],
"src": "6562:79:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6675:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6692:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6695:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6685:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6685:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "6685:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6789:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6792:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6782:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6782:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6782:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6813:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6816:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6806:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6806:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6806:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "6647:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6861:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6878:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6881:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6871:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6871:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "6871:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6975:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6978:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6968:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6968:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6968:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6999:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7002:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6992:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6992:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6992:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "6833:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7067:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7077:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7095:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7102:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7091:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7091:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7111:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "7107:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7107:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "7087:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7087:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "7077:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7050:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "7060:6:1",
"type": ""
}
],
"src": "7019:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7233:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7255:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7263:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7251:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7251:14:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "7267:34:1",
"type": "",
"value": "Debes poner el nombre al pokemon"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7244:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7244:58:1"
},
"nodeType": "YulExpressionStatement",
"src": "7244:58:1"
}
]
},
"name": "store_literal_in_memory_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "7225:6:1",
"type": ""
}
],
"src": "7127:182:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7421:145:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7443:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7451:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7439:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7439:14:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "7455:34:1",
"type": "",
"value": "No tienes permisos para capturar"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7432:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7432:58:1"
},
"nodeType": "YulExpressionStatement",
"src": "7432:58:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7511:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7519:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7507:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7507:15:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "7524:34:1",
"type": "",
"value": " estos pokemon para esta Pokedex"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7500:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7500:59:1"
},
"nodeType": "YulExpressionStatement",
"src": "7500:59:1"
}
]
},
"name": "store_literal_in_memory_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "7413:6:1",
"type": ""
}
],
"src": "7315:251:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7615:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7672:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7681:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7684:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7674:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7674:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "7674:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7638:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7663:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "7645:17:1"
},
"nodeType": "YulFunctionCall",
"src": "7645:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "7635:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7635:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "7628:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7628:43:1"
},
"nodeType": "YulIf",
"src": "7625:2:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7608:5:1",
"type": ""
}
],
"src": "7572:122:1"
}
]
},
"contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert(0, 0) }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value1 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value2 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_t_stringliteral_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 64)\n store_literal_in_memory_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_uint256(cleanup_t_uint256(value)))\n }\n\n function abi_encode_tuple_packed_t_uint256__to_t_uint256__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_stringliteral_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function leftAlign_t_uint256(value) -> aligned {\n aligned := value\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292(memPtr) {\n\n mstore(add(memPtr, 0), \"Debes poner el nombre al pokemon\")\n\n }\n\n function store_literal_in_memory_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67(memPtr) {\n\n mstore(add(memPtr, 0), \"No tienes permisos para capturar\")\n\n mstore(add(memPtr, 32), \" estos pokemon para esta Pokedex\")\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100415760003560e01c806357fb6b9c146100465780638da5cb5b14610062578063bda0284214610080575b600080fd5b610060600480360381019061005b91906103f0565b6100b0565b005b61006a610146565b6040516100779190610546565b60405180910390f35b61009a60048036038101906100959190610487565b61016c565b6040516100a79190610561565b60405180910390f35b6040518060400160405280600181526020017f20000000000000000000000000000000000000000000000000000000000000008152508051906020012083805190602001201415610136576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161012d9061057c565b60405180910390fd5b61014183838361022c565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146101fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f59061059c565b60405180910390fd5b8160405160200161020f919061052b565b604051602081830303815290604052805190602001209050919050565b60006040518060600160405280858152602001848152602001838152509080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001908051906020019061028e9291906102d0565b5060208201518160010190805190602001906102ab9291906102d0565b5060408201518160020190805190602001906102c89291906102d0565b505050505050565b8280546102dc90610678565b90600052602060002090601f0160209004810192826102fe5760008555610345565b82601f1061031757805160ff1916838001178555610345565b82800160010185558215610345579182015b82811115610344578251825591602001919060010190610329565b5b5090506103529190610356565b5090565b5b8082111561036f576000816000905550600101610357565b5090565b6000610386610381846105e1565b6105bc565b90508281526020810184848401111561039e57600080fd5b6103a9848285610669565b509392505050565b600082601f8301126103c257600080fd5b81356103d2848260208601610373565b91505092915050565b6000813590506103ea816107cc565b92915050565b60008060006060848603121561040557600080fd5b600084013567ffffffffffffffff81111561041f57600080fd5b61042b868287016103b1565b935050602084013567ffffffffffffffff81111561044857600080fd5b610454868287016103b1565b925050604084013567ffffffffffffffff81111561047157600080fd5b61047d868287016103b1565b9150509250925092565b60006020828403121561049957600080fd5b60006104a7848285016103db565b91505092915050565b6104b981610623565b82525050565b6104c881610635565b82525050565b60006104db602083610612565b91506104e682610754565b602082019050919050565b60006104fe604083610612565b91506105098261077d565b604082019050919050565b6105256105208261065f565b6106db565b82525050565b60006105378284610514565b60208201915081905092915050565b600060208201905061055b60008301846104b0565b92915050565b600060208201905061057660008301846104bf565b92915050565b60006020820190508181036000830152610595816104ce565b9050919050565b600060208201905081810360008301526105b5816104f1565b9050919050565b60006105c66105d7565b90506105d282826106aa565b919050565b6000604051905090565b600067ffffffffffffffff8211156105fc576105fb610714565b5b61060582610743565b9050602081019050919050565b600082825260208201905092915050565b600061062e8261063f565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b6000600282049050600182168061069057607f821691505b602082108114156106a4576106a36106e5565b5b50919050565b6106b382610743565b810181811067ffffffffffffffff821117156106d2576106d1610714565b5b80604052505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f446562657320706f6e657220656c206e6f6d62726520616c20706f6b656d6f6e600082015250565b7f4e6f207469656e6573207065726d69736f73207061726120636170747572617260008201527f206573746f7320706f6b656d6f6e2070617261206573746120506f6b65646578602082015250565b6107d58161065f565b81146107e057600080fd5b5056fea2646970667358221220f6d92718d94368efc5f07397a8db6b8213e1bb29e9c588bd8fbe89277ee62a0064736f6c63430008040033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x57FB6B9C EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0xBDA02842 EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x3F0 JUMP JUMPDEST PUSH2 0xB0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0x146 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x546 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x95 SWAP2 SWAP1 PUSH2 0x487 JUMP JUMPDEST PUSH2 0x16C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA7 SWAP2 SWAP1 PUSH2 0x561 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x2000000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP4 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ ISZERO PUSH2 0x136 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12D SWAP1 PUSH2 0x57C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x141 DUP4 DUP4 DUP4 PUSH2 0x22C JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1FE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F5 SWAP1 PUSH2 0x59C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x20F SWAP2 SWAP1 PUSH2 0x52B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x28E SWAP3 SWAP2 SWAP1 PUSH2 0x2D0 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x2AB SWAP3 SWAP2 SWAP1 PUSH2 0x2D0 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x2C8 SWAP3 SWAP2 SWAP1 PUSH2 0x2D0 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x2DC SWAP1 PUSH2 0x678 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x2FE JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x345 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x317 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x345 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x345 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x344 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x329 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x352 SWAP2 SWAP1 PUSH2 0x356 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x36F JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x357 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x386 PUSH2 0x381 DUP5 PUSH2 0x5E1 JUMP JUMPDEST PUSH2 0x5BC JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x39E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3A9 DUP5 DUP3 DUP6 PUSH2 0x669 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x3D2 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x373 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3EA DUP2 PUSH2 0x7CC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x405 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x41F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x42B DUP7 DUP3 DUP8 ADD PUSH2 0x3B1 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x448 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x454 DUP7 DUP3 DUP8 ADD PUSH2 0x3B1 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x471 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x47D DUP7 DUP3 DUP8 ADD PUSH2 0x3B1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x499 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x4A7 DUP5 DUP3 DUP6 ADD PUSH2 0x3DB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x4B9 DUP2 PUSH2 0x623 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x4C8 DUP2 PUSH2 0x635 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4DB PUSH1 0x20 DUP4 PUSH2 0x612 JUMP JUMPDEST SWAP2 POP PUSH2 0x4E6 DUP3 PUSH2 0x754 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4FE PUSH1 0x40 DUP4 PUSH2 0x612 JUMP JUMPDEST SWAP2 POP PUSH2 0x509 DUP3 PUSH2 0x77D JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x525 PUSH2 0x520 DUP3 PUSH2 0x65F JUMP JUMPDEST PUSH2 0x6DB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x537 DUP3 DUP5 PUSH2 0x514 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x55B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x4B0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x576 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x4BF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x595 DUP2 PUSH2 0x4CE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x5B5 DUP2 PUSH2 0x4F1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5C6 PUSH2 0x5D7 JUMP JUMPDEST SWAP1 POP PUSH2 0x5D2 DUP3 DUP3 PUSH2 0x6AA JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x5FC JUMPI PUSH2 0x5FB PUSH2 0x714 JUMP JUMPDEST JUMPDEST PUSH2 0x605 DUP3 PUSH2 0x743 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD 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 PUSH2 0x62E DUP3 PUSH2 0x63F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x690 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x6A4 JUMPI PUSH2 0x6A3 PUSH2 0x6E5 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6B3 DUP3 PUSH2 0x743 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x6D2 JUMPI PUSH2 0x6D1 PUSH2 0x714 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x446562657320706F6E657220656C206E6F6D62726520616C20706F6B656D6F6E PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4E6F207469656E6573207065726D69736F732070617261206361707475726172 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206573746F7320706F6B656D6F6E2070617261206573746120506F6B65646578 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x7D5 DUP2 PUSH2 0x65F JUMP JUMPDEST DUP2 EQ PUSH2 0x7E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF6 0xD9 0x27 XOR 0xD9 NUMBER PUSH9 0xEFC5F07397A8DB6B82 SGT 0xE1 0xBB 0x29 0xE9 0xC5 DUP9 0xBD DUP16 0xBE DUP10 0x27 PUSH31 0xE62A0064736F6C634300080400330000000000000000000000000000000000 ",
"sourceMap": "640:1005:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;939:311;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;749:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1499:143;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;939:311;1121:10;;;;;;;;;;;;;;;;;1111:21;;;;;;1091:14;1075:32;;;;;;:57;;1066:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;1180:62;1203:14;1219:13;1234:7;1180:22;:62::i;:::-;939:311;;;:::o;749:20::-;;;;;;;;;;;;;:::o;1499:143::-;1571:7;1392:10;1383:19;;:5;;;;;;;;;;;:19;;;1375:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;1625:7:::1;1608:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;1598:36;;;;;;1591:43;;1499:143:::0;;;:::o;445:188::-;570:7;583:41;;;;;;;;594:5;583:41;;;;601:13;583:41;;;;616:7;583:41;;;570:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;445:188;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:345:1:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:2;;;292:1;289;282:12;251:2;305:41;339:6;334:3;329;305:41;:::i;:::-;91:261;;;;;;:::o;372:273::-;428:5;477:3;470:4;462:6;458:17;454:27;444:2;;495:1;492;485:12;444:2;535:6;522:20;560:79;635:3;627:6;620:4;612:6;608:17;560:79;:::i;:::-;551:88;;434:211;;;;;:::o;651:139::-;697:5;735:6;722:20;713:29;;751:33;778:5;751:33;:::i;:::-;703:87;;;;:::o;796:891::-;903:6;911;919;968:2;956:9;947:7;943:23;939:32;936:2;;;984:1;981;974:12;936:2;1055:1;1044:9;1040:17;1027:31;1085:18;1077:6;1074:30;1071:2;;;1117:1;1114;1107:12;1071:2;1145:63;1200:7;1191:6;1180:9;1176:22;1145:63;:::i;:::-;1135:73;;998:220;1285:2;1274:9;1270:18;1257:32;1316:18;1308:6;1305:30;1302:2;;;1348:1;1345;1338:12;1302:2;1376:63;1431:7;1422:6;1411:9;1407:22;1376:63;:::i;:::-;1366:73;;1228:221;1516:2;1505:9;1501:18;1488:32;1547:18;1539:6;1536:30;1533:2;;;1579:1;1576;1569:12;1533:2;1607:63;1662:7;1653:6;1642:9;1638:22;1607:63;:::i;:::-;1597:73;;1459:221;926:761;;;;;:::o;1693:262::-;1752:6;1801:2;1789:9;1780:7;1776:23;1772:32;1769:2;;;1817:1;1814;1807:12;1769:2;1860:1;1885:53;1930:7;1921:6;1910:9;1906:22;1885:53;:::i;:::-;1875:63;;1831:117;1759:196;;;;:::o;1961:118::-;2048:24;2066:5;2048:24;:::i;:::-;2043:3;2036:37;2026:53;;:::o;2085:118::-;2172:24;2190:5;2172:24;:::i;:::-;2167:3;2160:37;2150:53;;:::o;2209:366::-;2351:3;2372:67;2436:2;2431:3;2372:67;:::i;:::-;2365:74;;2448:93;2537:3;2448:93;:::i;:::-;2566:2;2561:3;2557:12;2550:19;;2355:220;;;:::o;2581:366::-;2723:3;2744:67;2808:2;2803:3;2744:67;:::i;:::-;2737:74;;2820:93;2909:3;2820:93;:::i;:::-;2938:2;2933:3;2929:12;2922:19;;2727:220;;;:::o;2953:157::-;3058:45;3078:24;3096:5;3078:24;:::i;:::-;3058:45;:::i;:::-;3053:3;3046:58;3036:74;;:::o;3116:256::-;3228:3;3243:75;3314:3;3305:6;3243:75;:::i;:::-;3343:2;3338:3;3334:12;3327:19;;3363:3;3356:10;;3232:140;;;;:::o;3378:222::-;3471:4;3509:2;3498:9;3494:18;3486:26;;3522:71;3590:1;3579:9;3575:17;3566:6;3522:71;:::i;:::-;3476:124;;;;:::o;3606:222::-;3699:4;3737:2;3726:9;3722:18;3714:26;;3750:71;3818:1;3807:9;3803:17;3794:6;3750:71;:::i;:::-;3704:124;;;;:::o;3834:419::-;4000:4;4038:2;4027:9;4023:18;4015:26;;4087:9;4081:4;4077:20;4073:1;4062:9;4058:17;4051:47;4115:131;4241:4;4115:131;:::i;:::-;4107:139;;4005:248;;;:::o;4259:419::-;4425:4;4463:2;4452:9;4448:18;4440:26;;4512:9;4506:4;4502:20;4498:1;4487:9;4483:17;4476:47;4540:131;4666:4;4540:131;:::i;:::-;4532:139;;4430:248;;;:::o;4684:129::-;4718:6;4745:20;;:::i;:::-;4735:30;;4774:33;4802:4;4794:6;4774:33;:::i;:::-;4725:88;;;:::o;4819:75::-;4852:6;4885:2;4879:9;4869:19;;4859:35;:::o;4900:308::-;4962:4;5052:18;5044:6;5041:30;5038:2;;;5074:18;;:::i;:::-;5038:2;5112:29;5134:6;5112:29;:::i;:::-;5104:37;;5196:4;5190;5186:15;5178:23;;4967:241;;;:::o;5214:169::-;5298:11;5332:6;5327:3;5320:19;5372:4;5367:3;5363:14;5348:29;;5310:73;;;;:::o;5389:96::-;5426:7;5455:24;5473:5;5455:24;:::i;:::-;5444:35;;5434:51;;;:::o;5491:77::-;5528:7;5557:5;5546:16;;5536:32;;;:::o;5574:126::-;5611:7;5651:42;5644:5;5640:54;5629:65;;5619:81;;;:::o;5706:77::-;5743:7;5772:5;5761:16;;5751:32;;;:::o;5789:154::-;5873:6;5868:3;5863;5850:30;5935:1;5926:6;5921:3;5917:16;5910:27;5840:103;;;:::o;5949:320::-;5993:6;6030:1;6024:4;6020:12;6010:22;;6077:1;6071:4;6067:12;6098:18;6088:2;;6154:4;6146:6;6142:17;6132:27;;6088:2;6216;6208:6;6205:14;6185:18;6182:38;6179:2;;;6235:18;;:::i;:::-;6179:2;6000:269;;;;:::o;6275:281::-;6358:27;6380:4;6358:27;:::i;:::-;6350:6;6346:40;6488:6;6476:10;6473:22;6452:18;6440:10;6437:34;6434:62;6431:2;;;6499:18;;:::i;:::-;6431:2;6539:10;6535:2;6528:22;6318:238;;;:::o;6562:79::-;6601:7;6630:5;6619:16;;6609:32;;;:::o;6647:180::-;6695:77;6692:1;6685:88;6792:4;6789:1;6782:15;6816:4;6813:1;6806:15;6833:180;6881:77;6878:1;6871:88;6978:4;6975:1;6968:15;7002:4;6999:1;6992:15;7019:102;7060:6;7111:2;7107:7;7102:2;7095:5;7091:14;7087:28;7077:38;;7067:54;;;:::o;7127:182::-;7267:34;7263:1;7255:6;7251:14;7244:58;7233:76;:::o;7315:251::-;7455:34;7451:1;7443:6;7439:14;7432:58;7524:34;7519:2;7511:6;7507:15;7500:59;7421:145;:::o;7572:122::-;7645:24;7663:5;7645:24;:::i;:::-;7638:5;7635:35;7625:2;;7684:1;7681;7674:12;7625:2;7615:79;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "414600",
"executionCost": "21315",
"totalCost": "435915"
},
"external": {
"hashPrivateNumber(uint256)": "infinite",
"lanzar_pokeball(string,string,string)": "infinite",
"owner()": "1214"
}
},
"legacyAssembly": {
".code": [
{
"begin": 640,
"end": 1645,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 640,
"end": 1645,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 640,
"end": 1645,
"name": "MSTORE",
"source": 0
},
{
"begin": 827,
"end": 879,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 827,
"end": 879,
"name": "DUP1",
"source": 0
},
{
"begin": 827,
"end": 879,
"name": "ISZERO",
"source": 0
},
{
"begin": 827,
"end": 879,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 827,
"end": 879,
"name": "JUMPI",
"source": 0
},
{
"begin": 827,
"end": 879,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 827,
"end": 879,
"name": "DUP1",
"source": 0
},
{
"begin": 827,
"end": 879,
"name": "REVERT",
"source": 0
},
{
"begin": 827,
"end": 879,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 827,
"end": 879,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 827,
"end": 879,
"name": "POP",
"source": 0
},
{
"begin": 861,
"end": 871,
"name": "CALLER",
"source": 0
},
{
"begin": 853,
"end": 858,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 853,
"end": 858,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 853,
"end": 871,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 853,
"end": 871,
"name": "EXP",
"source": 0
},
{
"begin": 853,
"end": 871,
"name": "DUP2",
"source": 0
},
{
"begin": 853,
"end": 871,
"name": "SLOAD",
"source": 0
},
{
"begin": 853,
"end": 871,
"name": "DUP2",
"source": 0
},
{
"begin": 853,
"end": 871,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 853,
"end": 871,
"name": "MUL",
"source": 0
},
{
"begin": 853,
"end": 871,
"name": "NOT",
"source": 0
},
{
"begin": 853,
"end": 871,
"name": "AND",
"source": 0
},
{
"begin": 853,
"end": 871,
"name": "SWAP1",
"source": 0
},
{
"begin": 853,
"end": 871,
"name": "DUP4",
"source": 0
},
{
"begin": 853,
"end": 871,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 853,
"end": 871,
"name": "AND",
"source": 0
},
{
"begin": 853,
"end": 871,
"name": "MUL",
"source": 0
},
{
"begin": 853,
"end": 871,
"name": "OR",
"source": 0
},
{
"begin": 853,
"end": 871,
"name": "SWAP1",
"source": 0
},
{
"begin": 853,
"end": 871,
"name": "SSTORE",
"source": 0
},
{
"begin": 853,
"end": 871,
"name": "POP",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 640,
"end": 1645,
"name": "DUP1",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 640,
"end": 1645,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 640,
"end": 1645,
"name": "CODECOPY",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 640,
"end": 1645,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a2646970667358221220f6d92718d94368efc5f07397a8db6b8213e1bb29e9c588bd8fbe89277ee62a0064736f6c63430008040033",
".code": [
{
"begin": 640,
"end": 1645,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 640,
"end": 1645,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 640,
"end": 1645,
"name": "MSTORE",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "DUP1",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "ISZERO",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 640,
"end": 1645,
"name": "JUMPI",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 640,
"end": 1645,
"name": "DUP1",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "REVERT",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 640,
"end": 1645,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "POP",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 640,
"end": 1645,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "LT",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 640,
"end": 1645,
"name": "JUMPI",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 640,
"end": 1645,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 640,
"end": 1645,
"name": "SHR",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "DUP1",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "PUSH",
"source": 0,
"value": "57FB6B9C"
},
{
"begin": 640,
"end": 1645,
"name": "EQ",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 640,
"end": 1645,
"name": "JUMPI",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "DUP1",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "PUSH",
"source": 0,
"value": "8DA5CB5B"
},
{
"begin": 640,
"end": 1645,
"name": "EQ",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 640,
"end": 1645,
"name": "JUMPI",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "DUP1",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "PUSH",
"source": 0,
"value": "BDA02842"
},
{
"begin": 640,
"end": 1645,
"name": "EQ",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 640,
"end": 1645,
"name": "JUMPI",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 640,
"end": 1645,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 640,
"end": 1645,
"name": "DUP1",
"source": 0
},
{
"begin": 640,
"end": 1645,
"name": "REVERT",
"source": 0
},
{
"begin": 939,
"end": 1250,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 939,
"end": 1250,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 939,
"end": 1250,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 939,
"end": 1250,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 939,
"end": 1250,
"name": "DUP1",
"source": 0
},
{
"begin": 939,
"end": 1250,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 939,
"end": 1250,
"name": "SUB",
"source": 0
},
{
"begin": 939,
"end": 1250,
"name": "DUP2",
"source": 0
},
{
"begin": 939,
"end": 1250,
"name": "ADD",
"source": 0
},
{
"begin": 939,
"end": 1250,
"name": "SWAP1",
"source": 0
},
{
"begin": 939,
"end": 1250,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 939,
"end": 1250,
"name": "SWAP2",
"source": 0
},
{
"begin": 939,
"end": 1250,
"name": "SWAP1",
"source": 0
},
{
"begin": 939,
"end": 1250,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 939,
"end": 1250,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 939,
"end": 1250,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 939,
"end": 1250,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 939,
"end": 1250,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 939,
"end": 1250,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 939,
"end": 1250,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 939,
"end": 1250,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 939,
"end": 1250,
"name": "STOP",
"source": 0
},
{
"begin": 749,
"end": 769,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 749,
"end": 769,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 749,
"end": 769,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 749,
"end": 769,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 749,
"end": 769,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 749,
"end": 769,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 749,
"end": 769,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 749,
"end": 769,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 749,
"end": 769,
"name": "MLOAD",
"source": 0
},
{
"begin": 749,
"end": 769,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 749,
"end": 769,
"name": "SWAP2",
"source": 0
},
{
"begin": 749,
"end": 769,
"name": "SWAP1",
"source": 0
},
{
"begin": 749,
"end": 769,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 749,
"end": 769,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 749,
"end": 769,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 749,
"end": 769,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 749,
"end": 769,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 749,
"end": 769,
"name": "MLOAD",
"source": 0
},
{
"begin": 749,
"end": 769,
"name": "DUP1",
"source": 0
},
{
"begin": 749,
"end": 769,
"name": "SWAP2",
"source": 0
},
{
"begin": 749,
"end": 769,
"name": "SUB",
"source": 0
},
{
"begin": 749,
"end": 769,
"name": "SWAP1",
"source": 0
},
{
"begin": 749,
"end": 769,
"name": "RETURN",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 1499,
"end": 1642,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 1499,
"end": 1642,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 1499,
"end": 1642,
"name": "DUP1",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "SUB",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "DUP2",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "ADD",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "SWAP1",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 1499,
"end": 1642,
"name": "SWAP2",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "SWAP1",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 1499,
"end": 1642,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 1499,
"end": 1642,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 1499,
"end": 1642,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 1499,
"end": 1642,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 1499,
"end": 1642,
"name": "tag",
"source": 0,
"value": "14"
},
{
"begin": 1499,
"end": 1642,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 1499,
"end": 1642,
"name": "MLOAD",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 1499,
"end": 1642,
"name": "SWAP2",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "SWAP1",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "PUSH [tag]",
"source": 0,
"value": "19"
},
{
"begin": 1499,
"end": 1642,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 1499,
"end": 1642,
"name": "tag",
"source": 0,
"value": "18"
},
{
"begin": 1499,
"end": 1642,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 1499,
"end": 1642,
"name": "MLOAD",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "DUP1",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "SWAP2",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "SUB",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "SWAP1",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "RETURN",
"source": 0
},
{
"begin": 939,
"end": 1250,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 939,
"end": 1250,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 1121,
"end": 1131,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 1121,
"end": 1131,
"name": "MLOAD",
"source": 0
},
{
"begin": 1121,
"end": 1131,
"name": "DUP1",
"source": 0
},
{
"begin": 1121,
"end": 1131,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 1121,
"end": 1131,
"name": "ADD",
"source": 0
},
{
"begin": 1121,
"end": 1131,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 1121,
"end": 1131,
"name": "MSTORE",
"source": 0
},
{
"begin": 1121,
"end": 1131,
"name": "DUP1",
"source": 0
},
{
"begin": 1121,
"end": 1131,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 1121,
"end": 1131,
"name": "DUP2",
"source": 0
},
{
"begin": 1121,
"end": 1131,
"name": "MSTORE",
"source": 0
},
{
"begin": 1121,
"end": 1131,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 1121,
"end": 1131,
"name": "ADD",
"source": 0
},
{
"begin": 1121,
"end": 1131,
"name": "PUSH",
"source": 0,
"value": "2000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 1121,
"end": 1131,
"name": "DUP2",
"source": 0
},
{
"begin": 1121,
"end": 1131,
"name": "MSTORE",
"source": 0
},
{
"begin": 1121,
"end": 1131,
"name": "POP",
"source": 0
},
{
"begin": 1111,
"end": 1132,
"name": "DUP1",
"source": 0
},
{
"begin": 1111,
"end": 1132,
"name": "MLOAD",
"source": 0
},
{
"begin": 1111,
"end": 1132,
"name": "SWAP1",
"source": 0
},
{
"begin": 1111,
"end": 1132,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 1111,
"end": 1132,
"name": "ADD",
"source": 0
},
{
"begin": 1111,
"end": 1132,
"name": "KECCAK256",
"source": 0
},
{
"begin": 1091,
"end": 1105,
"name": "DUP4",
"source": 0
},
{
"begin": 1075,
"end": 1107,
"name": "DUP1",
"source": 0
},
{
"begin": 1075,
"end": 1107,
"name": "MLOAD",
"source": 0
},
{
"begin": 1075,
"end": 1107,
"name": "SWAP1",
"source": 0
},
{
"begin": 1075,
"end": 1107,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 1075,
"end": 1107,
"name": "ADD",
"source": 0
},
{
"begin": 1075,
"end": 1107,
"name": "KECCAK256",
"source": 0
},
{
"begin": 1075,
"end": 1132,
"name": "EQ",
"source": 0
},
{
"begin": 1075,
"end": 1132,
"name": "ISZERO",
"source": 0
},
{
"begin": 1066,
"end": 1169,
"name": "PUSH [tag]",
"source": 0,
"value": "21"
},
{
"begin": 1066,
"end": 1169,
"name": "JUMPI",
"source": 0
},
{
"begin": 1066,
"end": 1169,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 1066,
"end": 1169,
"name": "MLOAD",
"source": 0
},
{
"begin": 1066,
"end": 1169,
"name": "PUSH",
"source": 0,
"value": "8C379A000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 1066,
"end": 1169,
"name": "DUP2",
"source": 0
},
{
"begin": 1066,
"end": 1169,
"name": "MSTORE",
"source": 0
},
{
"begin": 1066,
"end": 1169,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 1066,
"end": 1169,
"name": "ADD",
"source": 0
},
{
"begin": 1066,
"end": 1169,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 1066,
"end": 1169,
"name": "SWAP1",
"source": 0
},
{
"begin": 1066,
"end": 1169,
"name": "PUSH [tag]",
"source": 0,
"value": "23"
},
{
"begin": 1066,
"end": 1169,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 1066,
"end": 1169,
"name": "tag",
"source": 0,
"value": "22"
},
{
"begin": 1066,
"end": 1169,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 1066,
"end": 1169,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 1066,
"end": 1169,
"name": "MLOAD",
"source": 0
},
{
"begin": 1066,
"end": 1169,
"name": "DUP1",
"source": 0
},
{
"begin": 1066,
"end": 1169,
"name": "SWAP2",
"source": 0
},
{
"begin": 1066,
"end": 1169,
"name": "SUB",
"source": 0
},
{
"begin": 1066,
"end": 1169,
"name": "SWAP1",
"source": 0
},
{
"begin": 1066,
"end": 1169,
"name": "REVERT",
"source": 0
},
{
"begin": 1066,
"end": 1169,
"name": "tag",
"source": 0,
"value": "21"
},
{
"begin": 1066,
"end": 1169,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 1180,
"end": 1242,
"name": "PUSH [tag]",
"source": 0,
"value": "24"
},
{
"begin": 1203,
"end": 1217,
"name": "DUP4",
"source": 0
},
{
"begin": 1219,
"end": 1232,
"name": "DUP4",
"source": 0
},
{
"begin": 1234,
"end": 1241,
"name": "DUP4",
"source": 0
},
{
"begin": 1180,
"end": 1202,
"name": "PUSH [tag]",
"source": 0,
"value": "25"
},
{
"begin": 1180,
"end": 1242,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 1180,
"end": 1242,
"name": "tag",
"source": 0,
"value": "24"
},
{
"begin": 1180,
"end": 1242,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 939,
"end": 1250,
"name": "POP",
"source": 0
},
{
"begin": 939,
"end": 1250,
"name": "POP",
"source": 0
},
{
"begin": 939,
"end": 1250,
"name": "POP",
"source": 0
},
{
"begin": 939,
"end": 1250,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 749,
"end": 769,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 749,
"end": 769,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 749,
"end": 769,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 749,
"end": 769,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 749,
"end": 769,
"name": "SWAP1",
"source": 0
},
{
"begin": 749,
"end": 769,
"name": "SLOAD",
"source": 0
},
{
"begin": 749,
"end": 769,
"name": "SWAP1",
"source": 0
},
{
"begin": 749,
"end": 769,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 749,
"end": 769,
"name": "EXP",
"source": 0
},
{
"begin": 749,
"end": 769,
"name": "SWAP1",
"source": 0
},
{
"begin": 749,
"end": 769,
"name": "DIV",
"source": 0
},
{
"begin": 749,
"end": 769,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 749,
"end": 769,
"name": "AND",
"source": 0
},
{
"begin": 749,
"end": 769,
"name": "DUP2",
"source": 0
},
{
"begin": 749,
"end": 769,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 1499,
"end": 1642,
"name": "tag",
"source": 0,
"value": "17"
},
{
"begin": 1499,
"end": 1642,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 1571,
"end": 1578,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 1392,
"end": 1402,
"name": "CALLER",
"source": 0
},
{
"begin": 1383,
"end": 1402,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1383,
"end": 1402,
"name": "AND",
"source": 0
},
{
"begin": 1383,
"end": 1388,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 1383,
"end": 1388,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 1383,
"end": 1388,
"name": "SWAP1",
"source": 0
},
{
"begin": 1383,
"end": 1388,
"name": "SLOAD",
"source": 0
},
{
"begin": 1383,
"end": 1388,
"name": "SWAP1",
"source": 0
},
{
"begin": 1383,
"end": 1388,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 1383,
"end": 1388,
"name": "EXP",
"source": 0
},
{
"begin": 1383,
"end": 1388,
"name": "SWAP1",
"source": 0
},
{
"begin": 1383,
"end": 1388,
"name": "DIV",
"source": 0
},
{
"begin": 1383,
"end": 1388,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1383,
"end": 1388,
"name": "AND",
"source": 0
},
{
"begin": 1383,
"end": 1402,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1383,
"end": 1402,
"name": "AND",
"source": 0
},
{
"begin": 1383,
"end": 1402,
"name": "EQ",
"source": 0
},
{
"begin": 1375,
"end": 1471,
"name": "PUSH [tag]",
"source": 0,
"value": "27"
},
{
"begin": 1375,
"end": 1471,
"name": "JUMPI",
"source": 0
},
{
"begin": 1375,
"end": 1471,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 1375,
"end": 1471,
"name": "MLOAD",
"source": 0
},
{
"begin": 1375,
"end": 1471,
"name": "PUSH",
"source": 0,
"value": "8C379A000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 1375,
"end": 1471,
"name": "DUP2",
"source": 0
},
{
"begin": 1375,
"end": 1471,
"name": "MSTORE",
"source": 0
},
{
"begin": 1375,
"end": 1471,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 1375,
"end": 1471,
"name": "ADD",
"source": 0
},
{
"begin": 1375,
"end": 1471,
"name": "PUSH [tag]",
"source": 0,
"value": "28"
},
{
"begin": 1375,
"end": 1471,
"name": "SWAP1",
"source": 0
},
{
"begin": 1375,
"end": 1471,
"name": "PUSH [tag]",
"source": 0,
"value": "29"
},
{
"begin": 1375,
"end": 1471,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 1375,
"end": 1471,
"name": "tag",
"source": 0,
"value": "28"
},
{
"begin": 1375,
"end": 1471,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 1375,
"end": 1471,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 1375,
"end": 1471,
"name": "MLOAD",
"source": 0
},
{
"begin": 1375,
"end": 1471,
"name": "DUP1",
"source": 0
},
{
"begin": 1375,
"end": 1471,
"name": "SWAP2",
"source": 0
},
{
"begin": 1375,
"end": 1471,
"name": "SUB",
"source": 0
},
{
"begin": 1375,
"end": 1471,
"name": "SWAP1",
"source": 0
},
{
"begin": 1375,
"end": 1471,
"name": "REVERT",
"source": 0
},
{
"begin": 1375,
"end": 1471,
"name": "tag",
"source": 0,
"value": "27"
},
{
"begin": 1375,
"end": 1471,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 1625,
"end": 1632,
"name": "DUP2",
"source": 0
},
{
"begin": 1608,
"end": 1633,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 1608,
"end": 1633,
"name": "MLOAD",
"source": 0
},
{
"begin": 1608,
"end": 1633,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 1608,
"end": 1633,
"name": "ADD",
"source": 0
},
{
"begin": 1608,
"end": 1633,
"name": "PUSH [tag]",
"source": 0,
"value": "31"
},
{
"begin": 1608,
"end": 1633,
"name": "SWAP2",
"source": 0
},
{
"begin": 1608,
"end": 1633,
"name": "SWAP1",
"source": 0
},
{
"begin": 1608,
"end": 1633,
"name": "PUSH [tag]",
"source": 0,
"value": "32"
},
{
"begin": 1608,
"end": 1633,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 1608,
"end": 1633,
"name": "tag",
"source": 0,
"value": "31"
},
{
"begin": 1608,
"end": 1633,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 1608,
"end": 1633,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 1608,
"end": 1633,
"name": "MLOAD",
"source": 0
},
{
"begin": 1608,
"end": 1633,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 1608,
"end": 1633,
"name": "DUP2",
"source": 0
},
{
"begin": 1608,
"end": 1633,
"name": "DUP4",
"source": 0
},
{
"begin": 1608,
"end": 1633,
"name": "SUB",
"source": 0
},
{
"begin": 1608,
"end": 1633,
"name": "SUB",
"source": 0
},
{
"begin": 1608,
"end": 1633,
"name": "DUP2",
"source": 0
},
{
"begin": 1608,
"end": 1633,
"name": "MSTORE",
"source": 0
},
{
"begin": 1608,
"end": 1633,
"name": "SWAP1",
"source": 0
},
{
"begin": 1608,
"end": 1633,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 1608,
"end": 1633,
"name": "MSTORE",
"source": 0
},
{
"begin": 1598,
"end": 1634,
"name": "DUP1",
"source": 0
},
{
"begin": 1598,
"end": 1634,
"name": "MLOAD",
"source": 0
},
{
"begin": 1598,
"end": 1634,
"name": "SWAP1",
"source": 0
},
{
"begin": 1598,
"end": 1634,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 1598,
"end": 1634,
"name": "ADD",
"source": 0
},
{
"begin": 1598,
"end": 1634,
"name": "KECCAK256",
"source": 0
},
{
"begin": 1591,
"end": 1634,
"name": "SWAP1",
"source": 0
},
{
"begin": 1591,
"end": 1634,
"name": "POP",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "SWAP2",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "SWAP1",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "POP",
"source": 0
},
{
"begin": 1499,
"end": 1642,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 445,
"end": 633,
"name": "tag",
"source": 0,
"value": "25"
},
{
"begin": 445,
"end": 633,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 570,
"end": 577,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 583,
"end": 624,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 583,
"end": 624,
"name": "MLOAD",
"source": 0
},
{
"begin": 583,
"end": 624,
"name": "DUP1",
"source": 0
},
{
"begin": 583,
"end": 624,
"name": "PUSH",
"source": 0,
"value": "60"
},
{
"begin": 583,
"end": 624,
"name": "ADD",
"source": 0
},
{
"begin": 583,
"end": 624,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 583,
"end": 624,
"name": "MSTORE",
"source": 0
},
{
"begin": 583,
"end": 624,
"name": "DUP1",
"source": 0
},
{
"begin": 594,
"end": 599,
"name": "DUP6",
"source": 0
},
{
"begin": 583,
"end": 624,
"name": "DUP2",
"source": 0
},
{
"begin": 583,
"end": 624,
"name": "MSTORE",
"source": 0
},
{
"begin": 583,
"end": 624,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 583,
"end": 624,
"name": "ADD",
"source": 0
},
{
"begin": 601,
"end": 614,
"name": "DUP5",
"source": 0
},
{
"begin": 583,
"end": 624,
"name": "DUP2",
"source": 0
},
{
"begin": 583,
"end": 624,
"name": "MSTORE",
"source": 0
},
{
"begin": 583,
"end": 624,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 583,
"end": 624,
"name": "ADD",
"source": 0
},
{
"begin": 616,
"end": 623,
"name": "DUP4",
"source": 0
},
{
"begin": 583,
"end": 624,
"name": "DUP2",
"source": 0
},
{
"begin": 583,
"end": 624,
"name": "MSTORE",
"source": 0
},
{
"begin": 583,
"end": 624,
"name": "POP",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "DUP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 570,
"end": 625,
"name": "DUP2",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SLOAD",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "ADD",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "DUP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "DUP3",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SSTORE",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "DUP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP2",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "POP",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "POP",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 570,
"end": 625,
"name": "SWAP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SUB",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 570,
"end": 625,
"name": "MSTORE",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 570,
"end": 625,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 570,
"end": 625,
"name": "KECCAK256",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "PUSH",
"source": 0,
"value": "3"
},
{
"begin": 570,
"end": 625,
"name": "MUL",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "ADD",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 570,
"end": 625,
"name": "SWAP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP2",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP2",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP2",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "POP",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 570,
"end": 625,
"name": "DUP3",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "ADD",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "MLOAD",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "DUP2",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 570,
"end": 625,
"name": "ADD",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "DUP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "MLOAD",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 570,
"end": 625,
"name": "ADD",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "PUSH [tag]",
"source": 0,
"value": "35"
},
{
"begin": 570,
"end": 625,
"name": "SWAP3",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP2",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "PUSH [tag]",
"source": 0,
"value": "36"
},
{
"begin": 570,
"end": 625,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 570,
"end": 625,
"name": "tag",
"source": 0,
"value": "35"
},
{
"begin": 570,
"end": 625,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "POP",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 570,
"end": 625,
"name": "DUP3",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "ADD",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "MLOAD",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "DUP2",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 570,
"end": 625,
"name": "ADD",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "DUP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "MLOAD",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 570,
"end": 625,
"name": "ADD",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "PUSH [tag]",
"source": 0,
"value": "37"
},
{
"begin": 570,
"end": 625,
"name": "SWAP3",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP2",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "PUSH [tag]",
"source": 0,
"value": "36"
},
{
"begin": 570,
"end": 625,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 570,
"end": 625,
"name": "tag",
"source": 0,
"value": "37"
},
{
"begin": 570,
"end": 625,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "POP",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 570,
"end": 625,
"name": "DUP3",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "ADD",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "MLOAD",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "DUP2",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "PUSH",
"source": 0,
"value": "2"
},
{
"begin": 570,
"end": 625,
"name": "ADD",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "DUP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "MLOAD",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 570,
"end": 625,
"name": "ADD",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "PUSH [tag]",
"source": 0,
"value": "38"
},
{
"begin": 570,
"end": 625,
"name": "SWAP3",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP2",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "SWAP1",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "PUSH [tag]",
"source": 0,
"value": "36"
},
{
"begin": 570,
"end": 625,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 570,
"end": 625,
"name": "tag",
"source": 0,
"value": "38"
},
{
"begin": 570,
"end": 625,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "POP",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "POP",
"source": 0
},
{
"begin": 570,
"end": 625,
"name": "POP",
"source": 0
},
{
"begin": 445,
"end": 633,
"name": "POP",
"source": 0
},
{
"begin": 445,
"end": 633,
"name": "POP",
"source": 0
},
{
"begin": 445,
"end": 633,
"name": "POP",
"source": 0
},
{
"begin": 445,
"end": 633,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "36"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SLOAD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "39"
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "40"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1,
"value": "[in]"
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "39"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "0"
},
{
"begin": -1,
"end": -1,
"name": "MSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "20"
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "0"
},
{
"begin": -1,
"end": -1,
"name": "KECCAK256",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "1F"
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "20"
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DIV",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "42"
},
{
"begin": -1,
"end": -1,
"name": "JUMPI",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "0"
},
{
"begin": -1,
"end": -1,
"name": "DUP6",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "41"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "42"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "1F"
},
{
"begin": -1,
"end": -1,
"name": "LT",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "43"
},
{
"begin": -1,
"end": -1,
"name": "JUMPI",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "MLOAD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "FF"
},
{
"begin": -1,
"end": -1,
"name": "NOT",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "AND",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP4",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "OR",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP6",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "41"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "43"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "1"
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP6",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ISZERO",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "41"
},
{
"begin": -1,
"end": -1,
"name": "JUMPI",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "44"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "GT",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ISZERO",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "45"
},
{
"begin": -1,
"end": -1,
"name": "JUMPI",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "MLOAD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "20"
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "1"
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "44"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "45"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "41"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "46"
},
{
"begin": -1,
"end": -1,
"name": "SWAP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "47"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1,
"value": "[in]"
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "46"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1,
"value": "[out]"
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "47"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "48"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "DUP3",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "GT",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "ISZERO",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "49"
},
{
"begin": -1,
"end": -1,
"name": "JUMPI",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "0"
},
{
"begin": -1,
"end": -1,
"name": "DUP2",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "0"
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SSTORE",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH",
"source": -1,
"value": "1"
},
{
"begin": -1,
"end": -1,
"name": "ADD",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "PUSH [tag]",
"source": -1,
"value": "48"
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "tag",
"source": -1,
"value": "49"
},
{
"begin": -1,
"end": -1,
"name": "JUMPDEST",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "POP",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "SWAP1",
"source": -1
},
{
"begin": -1,
"end": -1,
"name": "JUMP",
"source": -1,
"value": "[out]"
},
{
"begin": 7,
"end": 352,
"name": "tag",
"source": 1,
"value": "51"
},
{
"begin": 7,
"end": 352,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 85,
"end": 90,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 110,
"end": 176,
"name": "PUSH [tag]",
"source": 1,
"value": "53"
},
{
"begin": 126,
"end": 175,
"name": "PUSH [tag]",
"source": 1,
"value": "54"
},
{
"begin": 168,
"end": 174,
"name": "DUP5",
"source": 1
},
{
"begin": 126,
"end": 175,
"name": "PUSH [tag]",
"source": 1,
"value": "55"
},
{
"begin": 126,
"end": 175,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 126,
"end": 175,
"name": "tag",
"source": 1,
"value": "54"
},
{
"begin": 126,
"end": 175,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 110,
"end": 176,
"name": "PUSH [tag]",
"source": 1,
"value": "56"
},
{
"begin": 110,
"end": 176,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 110,
"end": 176,
"name": "tag",
"source": 1,
"value": "53"
},
{
"begin": 110,
"end": 176,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 101,
"end": 176,
"name": "SWAP1",
"source": 1
},
{
"begin": 101,
"end": 176,
"name": "POP",
"source": 1
},
{
"begin": 199,
"end": 205,
"name": "DUP3",
"source": 1
},
{
"begin": 192,
"end": 197,
"name": "DUP2",
"source": 1
},
{
"begin": 185,
"end": 206,
"name": "MSTORE",
"source": 1
},
{
"begin": 237,
"end": 241,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 230,
"end": 235,
"name": "DUP2",
"source": 1
},
{
"begin": 226,
"end": 242,
"name": "ADD",
"source": 1
},
{
"begin": 275,
"end": 278,
"name": "DUP5",
"source": 1
},
{
"begin": 266,
"end": 272,
"name": "DUP5",
"source": 1
},
{
"begin": 261,
"end": 264,
"name": "DUP5",
"source": 1
},
{
"begin": 257,
"end": 273,
"name": "ADD",
"source": 1
},
{
"begin": 254,
"end": 279,
"name": "GT",
"source": 1
},
{
"begin": 251,
"end": 253,
"name": "ISZERO",
"source": 1
},
{
"begin": 251,
"end": 253,
"name": "PUSH [tag]",
"source": 1,
"value": "57"
},
{
"begin": 251,
"end": 253,
"name": "JUMPI",
"source": 1
},
{
"begin": 292,
"end": 293,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 289,
"end": 290,
"name": "DUP1",
"source": 1
},
{
"begin": 282,
"end": 294,
"name": "REVERT",
"source": 1
},
{
"begin": 251,
"end": 253,
"name": "tag",
"source": 1,
"value": "57"
},
{
"begin": 251,
"end": 253,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 305,
"end": 346,
"name": "PUSH [tag]",
"source": 1,
"value": "58"
},
{
"begin": 339,
"end": 345,
"name": "DUP5",
"source": 1
},
{
"begin": 334,
"end": 337,
"name": "DUP3",
"source": 1
},
{
"begin": 329,
"end": 332,
"name": "DUP6",
"source": 1
},
{
"begin": 305,
"end": 346,
"name": "PUSH [tag]",
"source": 1,
"value": "59"
},
{
"begin": 305,
"end": 346,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 305,
"end": 346,
"name": "tag",
"source": 1,
"value": "58"
},
{
"begin": 305,
"end": 346,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 91,
"end": 352,
"name": "POP",
"source": 1
},
{
"begin": 91,
"end": 352,
"name": "SWAP4",
"source": 1
},
{
"begin": 91,
"end": 352,
"name": "SWAP3",
"source": 1
},
{
"begin": 91,
"end": 352,
"name": "POP",
"source": 1
},
{
"begin": 91,
"end": 352,
"name": "POP",
"source": 1
},
{
"begin": 91,
"end": 352,
"name": "POP",
"source": 1
},
{
"begin": 91,
"end": 352,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 372,
"end": 645,
"name": "tag",
"source": 1,
"value": "60"
},
{
"begin": 372,
"end": 645,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 428,
"end": 433,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 477,
"end": 480,
"name": "DUP3",
"source": 1
},
{
"begin": 470,
"end": 474,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 462,
"end": 468,
"name": "DUP4",
"source": 1
},
{
"begin": 458,
"end": 475,
"name": "ADD",
"source": 1
},
{
"begin": 454,
"end": 481,
"name": "SLT",
"source": 1
},
{
"begin": 444,
"end": 446,
"name": "PUSH [tag]",
"source": 1,
"value": "62"
},
{
"begin": 444,
"end": 446,
"name": "JUMPI",
"source": 1
},
{
"begin": 495,
"end": 496,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 492,
"end": 493,
"name": "DUP1",
"source": 1
},
{
"begin": 485,
"end": 497,
"name": "REVERT",
"source": 1
},
{
"begin": 444,
"end": 446,
"name": "tag",
"source": 1,
"value": "62"
},
{
"begin": 444,
"end": 446,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 535,
"end": 541,
"name": "DUP2",
"source": 1
},
{
"begin": 522,
"end": 542,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 560,
"end": 639,
"name": "PUSH [tag]",
"source": 1,
"value": "63"
},
{
"begin": 635,
"end": 638,
"name": "DUP5",
"source": 1
},
{
"begin": 627,
"end": 633,
"name": "DUP3",
"source": 1
},
{
"begin": 620,
"end": 624,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 612,
"end": 618,
"name": "DUP7",
"source": 1
},
{
"begin": 608,
"end": 625,
"name": "ADD",
"source": 1
},
{
"begin": 560,
"end": 639,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 560,
"end": 639,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 560,
"end": 639,
"name": "tag",
"source": 1,
"value": "63"
},
{
"begin": 560,
"end": 639,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 551,
"end": 639,
"name": "SWAP2",
"source": 1
},
{
"begin": 551,
"end": 639,
"name": "POP",
"source": 1
},
{
"begin": 434,
"end": 645,
"name": "POP",
"source": 1
},
{
"begin": 434,
"end": 645,
"name": "SWAP3",
"source": 1
},
{
"begin": 434,
"end": 645,
"name": "SWAP2",
"source": 1
},
{
"begin": 434,
"end": 645,
"name": "POP",
"source": 1
},
{
"begin": 434,
"end": 645,
"name": "POP",
"source": 1
},
{
"begin": 434,
"end": 645,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 651,
"end": 790,
"name": "tag",
"source": 1,
"value": "64"
},
{
"begin": 651,
"end": 790,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 697,
"end": 702,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 735,
"end": 741,
"name": "DUP2",
"source": 1
},
{
"begin": 722,
"end": 742,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 713,
"end": 742,
"name": "SWAP1",
"source": 1
},
{
"begin": 713,
"end": 742,
"name": "POP",
"source": 1
},
{
"begin": 751,
"end": 784,
"name": "PUSH [tag]",
"source": 1,
"value": "66"
},
{
"begin": 778,
"end": 783,
"name": "DUP2",
"source": 1
},
{
"begin": 751,
"end": 784,
"name": "PUSH [tag]",
"source": 1,
"value": "67"
},
{
"begin": 751,
"end": 784,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 751,
"end": 784,
"name": "tag",
"source": 1,
"value": "66"
},
{
"begin": 751,
"end": 784,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 703,
"end": 790,
"name": "SWAP3",
"source": 1
},
{
"begin": 703,
"end": 790,
"name": "SWAP2",
"source": 1
},
{
"begin": 703,
"end": 790,
"name": "POP",
"source": 1
},
{
"begin": 703,
"end": 790,
"name": "POP",
"source": 1
},
{
"begin": 703,
"end": 790,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 796,
"end": 1687,
"name": "tag",
"source": 1,
"value": "8"
},
{
"begin": 796,
"end": 1687,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 903,
"end": 909,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 911,
"end": 917,
"name": "DUP1",
"source": 1
},
{
"begin": 919,
"end": 925,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 968,
"end": 970,
"name": "PUSH",
"source": 1,
"value": "60"
},
{
"begin": 956,
"end": 965,
"name": "DUP5",
"source": 1
},
{
"begin": 947,
"end": 954,
"name": "DUP7",
"source": 1
},
{
"begin": 943,
"end": 966,
"name": "SUB",
"source": 1
},
{
"begin": 939,
"end": 971,
"name": "SLT",
"source": 1
},
{
"begin": 936,
"end": 938,
"name": "ISZERO",
"source": 1
},
{
"begin": 936,
"end": 938,
"name": "PUSH [tag]",
"source": 1,
"value": "69"
},
{
"begin": 936,
"end": 938,
"name": "JUMPI",
"source": 1
},
{
"begin": 984,
"end": 985,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 981,
"end": 982,
"name": "DUP1",
"source": 1
},
{
"begin": 974,
"end": 986,
"name": "REVERT",
"source": 1
},
{
"begin": 936,
"end": 938,
"name": "tag",
"source": 1,
"value": "69"
},
{
"begin": 936,
"end": 938,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1055,
"end": 1056,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1044,
"end": 1053,
"name": "DUP5",
"source": 1
},
{
"begin": 1040,
"end": 1057,
"name": "ADD",
"source": 1
},
{
"begin": 1027,
"end": 1058,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 1085,
"end": 1103,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 1077,
"end": 1083,
"name": "DUP2",
"source": 1
},
{
"begin": 1074,
"end": 1104,
"name": "GT",
"source": 1
},
{
"begin": 1071,
"end": 1073,
"name": "ISZERO",
"source": 1
},
{
"begin": 1071,
"end": 1073,
"name": "PUSH [tag]",
"source": 1,
"value": "70"
},
{
"begin": 1071,
"end": 1073,
"name": "JUMPI",
"source": 1
},
{
"begin": 1117,
"end": 1118,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1114,
"end": 1115,
"name": "DUP1",
"source": 1
},
{
"begin": 1107,
"end": 1119,
"name": "REVERT",
"source": 1
},
{
"begin": 1071,
"end": 1073,
"name": "tag",
"source": 1,
"value": "70"
},
{
"begin": 1071,
"end": 1073,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1145,
"end": 1208,
"name": "PUSH [tag]",
"source": 1,
"value": "71"
},
{
"begin": 1200,
"end": 1207,
"name": "DUP7",
"source": 1
},
{
"begin": 1191,
"end": 1197,
"name": "DUP3",
"source": 1
},
{
"begin": 1180,
"end": 1189,
"name": "DUP8",
"source": 1
},
{
"begin": 1176,
"end": 1198,
"name": "ADD",
"source": 1
},
{
"begin": 1145,
"end": 1208,
"name": "PUSH [tag]",
"source": 1,
"value": "60"
},
{
"begin": 1145,
"end": 1208,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1145,
"end": 1208,
"name": "tag",
"source": 1,
"value": "71"
},
{
"begin": 1145,
"end": 1208,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1135,
"end": 1208,
"name": "SWAP4",
"source": 1
},
{
"begin": 1135,
"end": 1208,
"name": "POP",
"source": 1
},
{
"begin": 998,
"end": 1218,
"name": "POP",
"source": 1
},
{
"begin": 1285,
"end": 1287,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1274,
"end": 1283,
"name": "DUP5",
"source": 1
},
{
"begin": 1270,
"end": 1288,
"name": "ADD",
"source": 1
},
{
"begin": 1257,
"end": 1289,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 1316,
"end": 1334,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 1308,
"end": 1314,
"name": "DUP2",
"source": 1
},
{
"begin": 1305,
"end": 1335,
"name": "GT",
"source": 1
},
{
"begin": 1302,
"end": 1304,
"name": "ISZERO",
"source": 1
},
{
"begin": 1302,
"end": 1304,
"name": "PUSH [tag]",
"source": 1,
"value": "72"
},
{
"begin": 1302,
"end": 1304,
"name": "JUMPI",
"source": 1
},
{
"begin": 1348,
"end": 1349,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1345,
"end": 1346,
"name": "DUP1",
"source": 1
},
{
"begin": 1338,
"end": 1350,
"name": "REVERT",
"source": 1
},
{
"begin": 1302,
"end": 1304,
"name": "tag",
"source": 1,
"value": "72"
},
{
"begin": 1302,
"end": 1304,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1376,
"end": 1439,
"name": "PUSH [tag]",
"source": 1,
"value": "73"
},
{
"begin": 1431,
"end": 1438,
"name": "DUP7",
"source": 1
},
{
"begin": 1422,
"end": 1428,
"name": "DUP3",
"source": 1
},
{
"begin": 1411,
"end": 1420,
"name": "DUP8",
"source": 1
},
{
"begin": 1407,
"end": 1429,
"name": "ADD",
"source": 1
},
{
"begin": 1376,
"end": 1439,
"name": "PUSH [tag]",
"source": 1,
"value": "60"
},
{
"begin": 1376,
"end": 1439,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1376,
"end": 1439,
"name": "tag",
"source": 1,
"value": "73"
},
{
"begin": 1376,
"end": 1439,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1366,
"end": 1439,
"name": "SWAP3",
"source": 1
},
{
"begin": 1366,
"end": 1439,
"name": "POP",
"source": 1
},
{
"begin": 1228,
"end": 1449,
"name": "POP",
"source": 1
},
{
"begin": 1516,
"end": 1518,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 1505,
"end": 1514,
"name": "DUP5",
"source": 1
},
{
"begin": 1501,
"end": 1519,
"name": "ADD",
"source": 1
},
{
"begin": 1488,
"end": 1520,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 1547,
"end": 1565,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 1539,
"end": 1545,
"name": "DUP2",
"source": 1
},
{
"begin": 1536,
"end": 1566,
"name": "GT",
"source": 1
},
{
"begin": 1533,
"end": 1535,
"name": "ISZERO",
"source": 1
},
{
"begin": 1533,
"end": 1535,
"name": "PUSH [tag]",
"source": 1,
"value": "74"
},
{
"begin": 1533,
"end": 1535,
"name": "JUMPI",
"source": 1
},
{
"begin": 1579,
"end": 1580,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1576,
"end": 1577,
"name": "DUP1",
"source": 1
},
{
"begin": 1569,
"end": 1581,
"name": "REVERT",
"source": 1
},
{
"begin": 1533,
"end": 1535,
"name": "tag",
"source": 1,
"value": "74"
},
{
"begin": 1533,
"end": 1535,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1607,
"end": 1670,
"name": "PUSH [tag]",
"source": 1,
"value": "75"
},
{
"begin": 1662,
"end": 1669,
"name": "DUP7",
"source": 1
},
{
"begin": 1653,
"end": 1659,
"name": "DUP3",
"source": 1
},
{
"begin": 1642,
"end": 1651,
"name": "DUP8",
"source": 1
},
{
"begin": 1638,
"end": 1660,
"name": "ADD",
"source": 1
},
{
"begin": 1607,
"end": 1670,
"name": "PUSH [tag]",
"source": 1,
"value": "60"
},
{
"begin": 1607,
"end": 1670,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1607,
"end": 1670,
"name": "tag",
"source": 1,
"value": "75"
},
{
"begin": 1607,
"end": 1670,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1597,
"end": 1670,
"name": "SWAP2",
"source": 1
},
{
"begin": 1597,
"end": 1670,
"name": "POP",
"source": 1
},
{
"begin": 1459,
"end": 1680,
"name": "POP",
"source": 1
},
{
"begin": 926,
"end": 1687,
"name": "SWAP3",
"source": 1
},
{
"begin": 926,
"end": 1687,
"name": "POP",
"source": 1
},
{
"begin": 926,
"end": 1687,
"name": "SWAP3",
"source": 1
},
{
"begin": 926,
"end": 1687,
"name": "POP",
"source": 1
},
{
"begin": 926,
"end": 1687,
"name": "SWAP3",
"source": 1
},
{
"begin": 926,
"end": 1687,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1693,
"end": 1955,
"name": "tag",
"source": 1,
"value": "16"
},
{
"begin": 1693,
"end": 1955,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1752,
"end": 1758,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1801,
"end": 1803,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1789,
"end": 1798,
"name": "DUP3",
"source": 1
},
{
"begin": 1780,
"end": 1787,
"name": "DUP5",
"source": 1
},
{
"begin": 1776,
"end": 1799,
"name": "SUB",
"source": 1
},
{
"begin": 1772,
"end": 1804,
"name": "SLT",
"source": 1
},
{
"begin": 1769,
"end": 1771,
"name": "ISZERO",
"source": 1
},
{
"begin": 1769,
"end": 1771,
"name": "PUSH [tag]",
"source": 1,
"value": "77"
},
{
"begin": 1769,
"end": 1771,
"name": "JUMPI",
"source": 1
},
{
"begin": 1817,
"end": 1818,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1814,
"end": 1815,
"name": "DUP1",
"source": 1
},
{
"begin": 1807,
"end": 1819,
"name": "REVERT",
"source": 1
},
{
"begin": 1769,
"end": 1771,
"name": "tag",
"source": 1,
"value": "77"
},
{
"begin": 1769,
"end": 1771,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1860,
"end": 1861,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1885,
"end": 1938,
"name": "PUSH [tag]",
"source": 1,
"value": "78"
},
{
"begin": 1930,
"end": 1937,
"name": "DUP5",
"source": 1
},
{
"begin": 1921,
"end": 1927,
"name": "DUP3",
"source": 1
},
{
"begin": 1910,
"end": 1919,
"name": "DUP6",
"source": 1
},
{
"begin": 1906,
"end": 1928,
"name": "ADD",
"source": 1
},
{
"begin": 1885,
"end": 1938,
"name": "PUSH [tag]",
"source": 1,
"value": "64"
},
{
"begin": 1885,
"end": 1938,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 1885,
"end": 1938,
"name": "tag",
"source": 1,
"value": "78"
},
{
"begin": 1885,
"end": 1938,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1875,
"end": 1938,
"name": "SWAP2",
"source": 1
},
{
"begin": 1875,
"end": 1938,
"name": "POP",
"source": 1
},
{
"begin": 1831,
"end": 1948,
"name": "POP",
"source": 1
},
{
"begin": 1759,
"end": 1955,
"name": "SWAP3",
"source": 1
},
{
"begin": 1759,
"end": 1955,
"name": "SWAP2",
"source": 1
},
{
"begin": 1759,
"end": 1955,
"name": "POP",
"source": 1
},
{
"begin": 1759,
"end": 1955,
"name": "POP",
"source": 1
},
{
"begin": 1759,
"end": 1955,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 1961,
"end": 2079,
"name": "tag",
"source": 1,
"value": "79"
},
{
"begin": 1961,
"end": 2079,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2048,
"end": 2072,
"name": "PUSH [tag]",
"source": 1,
"value": "81"
},
{
"begin": 2066,
"end": 2071,
"name": "DUP2",
"source": 1
},
{
"begin": 2048,
"end": 2072,
"name": "PUSH [tag]",
"source": 1,
"value": "82"
},
{
"begin": 2048,
"end": 2072,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2048,
"end": 2072,
"name": "tag",
"source": 1,
"value": "81"
},
{
"begin": 2048,
"end": 2072,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2043,
"end": 2046,
"name": "DUP3",
"source": 1
},
{
"begin": 2036,
"end": 2073,
"name": "MSTORE",
"source": 1
},
{
"begin": 2026,
"end": 2079,
"name": "POP",
"source": 1
},
{
"begin": 2026,
"end": 2079,
"name": "POP",
"source": 1
},
{
"begin": 2026,
"end": 2079,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 2085,
"end": 2203,
"name": "tag",
"source": 1,
"value": "83"
},
{
"begin": 2085,
"end": 2203,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2172,
"end": 2196,
"name": "PUSH [tag]",
"source": 1,
"value": "85"
},
{
"begin": 2190,
"end": 2195,
"name": "DUP2",
"source": 1
},
{
"begin": 2172,
"end": 2196,
"name": "PUSH [tag]",
"source": 1,
"value": "86"
},
{
"begin": 2172,
"end": 2196,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2172,
"end": 2196,
"name": "tag",
"source": 1,
"value": "85"
},
{
"begin": 2172,
"end": 2196,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2167,
"end": 2170,
"name": "DUP3",
"source": 1
},
{
"begin": 2160,
"end": 2197,
"name": "MSTORE",
"source": 1
},
{
"begin": 2150,
"end": 2203,
"name": "POP",
"source": 1
},
{
"begin": 2150,
"end": 2203,
"name": "POP",
"source": 1
},
{
"begin": 2150,
"end": 2203,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 2209,
"end": 2575,
"name": "tag",
"source": 1,
"value": "87"
},
{
"begin": 2209,
"end": 2575,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2351,
"end": 2354,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2372,
"end": 2439,
"name": "PUSH [tag]",
"source": 1,
"value": "89"
},
{
"begin": 2436,
"end": 2438,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2431,
"end": 2434,
"name": "DUP4",
"source": 1
},
{
"begin": 2372,
"end": 2439,
"name": "PUSH [tag]",
"source": 1,
"value": "90"
},
{
"begin": 2372,
"end": 2439,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2372,
"end": 2439,
"name": "tag",
"source": 1,
"value": "89"
},
{
"begin": 2372,
"end": 2439,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2365,
"end": 2439,
"name": "SWAP2",
"source": 1
},
{
"begin": 2365,
"end": 2439,
"name": "POP",
"source": 1
},
{
"begin": 2448,
"end": 2541,
"name": "PUSH [tag]",
"source": 1,
"value": "91"
},
{
"begin": 2537,
"end": 2540,
"name": "DUP3",
"source": 1
},
{
"begin": 2448,
"end": 2541,
"name": "PUSH [tag]",
"source": 1,
"value": "92"
},
{
"begin": 2448,
"end": 2541,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2448,
"end": 2541,
"name": "tag",
"source": 1,
"value": "91"
},
{
"begin": 2448,
"end": 2541,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2566,
"end": 2568,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 2561,
"end": 2564,
"name": "DUP3",
"source": 1
},
{
"begin": 2557,
"end": 2569,
"name": "ADD",
"source": 1
},
{
"begin": 2550,
"end": 2569,
"name": "SWAP1",
"source": 1
},
{
"begin": 2550,
"end": 2569,
"name": "POP",
"source": 1
},
{
"begin": 2355,
"end": 2575,
"name": "SWAP2",
"source": 1
},
{
"begin": 2355,
"end": 2575,
"name": "SWAP1",
"source": 1
},
{
"begin": 2355,
"end": 2575,
"name": "POP",
"source": 1
},
{
"begin": 2355,
"end": 2575,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 2581,
"end": 2947,
"name": "tag",
"source": 1,
"value": "93"
},
{
"begin": 2581,
"end": 2947,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2723,
"end": 2726,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2744,
"end": 2811,
"name": "PUSH [tag]",
"source": 1,
"value": "95"
},
{
"begin": 2808,
"end": 2810,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 2803,
"end": 2806,
"name": "DUP4",
"source": 1
},
{
"begin": 2744,
"end": 2811,
"name": "PUSH [tag]",
"source": 1,
"value": "90"
},
{
"begin": 2744,
"end": 2811,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2744,
"end": 2811,
"name": "tag",
"source": 1,
"value": "95"
},
{
"begin": 2744,
"end": 2811,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2737,
"end": 2811,
"name": "SWAP2",
"source": 1
},
{
"begin": 2737,
"end": 2811,
"name": "POP",
"source": 1
},
{
"begin": 2820,
"end": 2913,
"name": "PUSH [tag]",
"source": 1,
"value": "96"
},
{
"begin": 2909,
"end": 2912,
"name": "DUP3",
"source": 1
},
{
"begin": 2820,
"end": 2913,
"name": "PUSH [tag]",
"source": 1,
"value": "97"
},
{
"begin": 2820,
"end": 2913,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 2820,
"end": 2913,
"name": "tag",
"source": 1,
"value": "96"
},
{
"begin": 2820,
"end": 2913,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2938,
"end": 2940,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 2933,
"end": 2936,
"name": "DUP3",
"source": 1
},
{
"begin": 2929,
"end": 2941,
"name": "ADD",
"source": 1
},
{
"begin": 2922,
"end": 2941,
"name": "SWAP1",
"source": 1
},
{
"begin": 2922,
"end": 2941,
"name": "POP",
"source": 1
},
{
"begin": 2727,
"end": 2947,
"name": "SWAP2",
"source": 1
},
{
"begin": 2727,
"end": 2947,
"name": "SWAP1",
"source": 1
},
{
"begin": 2727,
"end": 2947,
"name": "POP",
"source": 1
},
{
"begin": 2727,
"end": 2947,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 2953,
"end": 3110,
"name": "tag",
"source": 1,
"value": "98"
},
{
"begin": 2953,
"end": 3110,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3058,
"end": 3103,
"name": "PUSH [tag]",
"source": 1,
"value": "100"
},
{
"begin": 3078,
"end": 3102,
"name": "PUSH [tag]",
"source": 1,
"value": "101"
},
{
"begin": 3096,
"end": 3101,
"name": "DUP3",
"source": 1
},
{
"begin": 3078,
"end": 3102,
"name": "PUSH [tag]",
"source": 1,
"value": "102"
},
{
"begin": 3078,
"end": 3102,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 3078,
"end": 3102,
"name": "tag",
"source": 1,
"value": "101"
},
{
"begin": 3078,
"end": 3102,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3058,
"end": 3103,
"name": "PUSH [tag]",
"source": 1,
"value": "103"
},
{
"begin": 3058,
"end": 3103,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 3058,
"end": 3103,
"name": "tag",
"source": 1,
"value": "100"
},
{
"begin": 3058,
"end": 3103,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3053,
"end": 3056,
"name": "DUP3",
"source": 1
},
{
"begin": 3046,
"end": 3104,
"name": "MSTORE",
"source": 1
},
{
"begin": 3036,
"end": 3110,
"name": "POP",
"source": 1
},
{
"begin": 3036,
"end": 3110,
"name": "POP",
"source": 1
},
{
"begin": 3036,
"end": 3110,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3116,
"end": 3372,
"name": "tag",
"source": 1,
"value": "32"
},
{
"begin": 3116,
"end": 3372,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3228,
"end": 3231,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3243,
"end": 3318,
"name": "PUSH [tag]",
"source": 1,
"value": "105"
},
{
"begin": 3314,
"end": 3317,
"name": "DUP3",
"source": 1
},
{
"begin": 3305,
"end": 3311,
"name": "DUP5",
"source": 1
},
{
"begin": 3243,
"end": 3318,
"name": "PUSH [tag]",
"source": 1,
"value": "98"
},
{
"begin": 3243,
"end": 3318,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 3243,
"end": 3318,
"name": "tag",
"source": 1,
"value": "105"
},
{
"begin": 3243,
"end": 3318,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3343,
"end": 3345,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3338,
"end": 3341,
"name": "DUP3",
"source": 1
},
{
"begin": 3334,
"end": 3346,
"name": "ADD",
"source": 1
},
{
"begin": 3327,
"end": 3346,
"name": "SWAP2",
"source": 1
},
{
"begin": 3327,
"end": 3346,
"name": "POP",
"source": 1
},
{
"begin": 3363,
"end": 3366,
"name": "DUP2",
"source": 1
},
{
"begin": 3356,
"end": 3366,
"name": "SWAP1",
"source": 1
},
{
"begin": 3356,
"end": 3366,
"name": "POP",
"source": 1
},
{
"begin": 3232,
"end": 3372,
"name": "SWAP3",
"source": 1
},
{
"begin": 3232,
"end": 3372,
"name": "SWAP2",
"source": 1
},
{
"begin": 3232,
"end": 3372,
"name": "POP",
"source": 1
},
{
"begin": 3232,
"end": 3372,
"name": "POP",
"source": 1
},
{
"begin": 3232,
"end": 3372,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3378,
"end": 3600,
"name": "tag",
"source": 1,
"value": "13"
},
{
"begin": 3378,
"end": 3600,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3471,
"end": 3475,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3509,
"end": 3511,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3498,
"end": 3507,
"name": "DUP3",
"source": 1
},
{
"begin": 3494,
"end": 3512,
"name": "ADD",
"source": 1
},
{
"begin": 3486,
"end": 3512,
"name": "SWAP1",
"source": 1
},
{
"begin": 3486,
"end": 3512,
"name": "POP",
"source": 1
},
{
"begin": 3522,
"end": 3593,
"name": "PUSH [tag]",
"source": 1,
"value": "107"
},
{
"begin": 3590,
"end": 3591,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3579,
"end": 3588,
"name": "DUP4",
"source": 1
},
{
"begin": 3575,
"end": 3592,
"name": "ADD",
"source": 1
},
{
"begin": 3566,
"end": 3572,
"name": "DUP5",
"source": 1
},
{
"begin": 3522,
"end": 3593,
"name": "PUSH [tag]",
"source": 1,
"value": "79"
},
{
"begin": 3522,
"end": 3593,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 3522,
"end": 3593,
"name": "tag",
"source": 1,
"value": "107"
},
{
"begin": 3522,
"end": 3593,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3476,
"end": 3600,
"name": "SWAP3",
"source": 1
},
{
"begin": 3476,
"end": 3600,
"name": "SWAP2",
"source": 1
},
{
"begin": 3476,
"end": 3600,
"name": "POP",
"source": 1
},
{
"begin": 3476,
"end": 3600,
"name": "POP",
"source": 1
},
{
"begin": 3476,
"end": 3600,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3606,
"end": 3828,
"name": "tag",
"source": 1,
"value": "19"
},
{
"begin": 3606,
"end": 3828,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3699,
"end": 3703,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3737,
"end": 3739,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3726,
"end": 3735,
"name": "DUP3",
"source": 1
},
{
"begin": 3722,
"end": 3740,
"name": "ADD",
"source": 1
},
{
"begin": 3714,
"end": 3740,
"name": "SWAP1",
"source": 1
},
{
"begin": 3714,
"end": 3740,
"name": "POP",
"source": 1
},
{
"begin": 3750,
"end": 3821,
"name": "PUSH [tag]",
"source": 1,
"value": "109"
},
{
"begin": 3818,
"end": 3819,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3807,
"end": 3816,
"name": "DUP4",
"source": 1
},
{
"begin": 3803,
"end": 3820,
"name": "ADD",
"source": 1
},
{
"begin": 3794,
"end": 3800,
"name": "DUP5",
"source": 1
},
{
"begin": 3750,
"end": 3821,
"name": "PUSH [tag]",
"source": 1,
"value": "83"
},
{
"begin": 3750,
"end": 3821,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 3750,
"end": 3821,
"name": "tag",
"source": 1,
"value": "109"
},
{
"begin": 3750,
"end": 3821,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3704,
"end": 3828,
"name": "SWAP3",
"source": 1
},
{
"begin": 3704,
"end": 3828,
"name": "SWAP2",
"source": 1
},
{
"begin": 3704,
"end": 3828,
"name": "POP",
"source": 1
},
{
"begin": 3704,
"end": 3828,
"name": "POP",
"source": 1
},
{
"begin": 3704,
"end": 3828,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 3834,
"end": 4253,
"name": "tag",
"source": 1,
"value": "23"
},
{
"begin": 3834,
"end": 4253,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4000,
"end": 4004,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4038,
"end": 4040,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4027,
"end": 4036,
"name": "DUP3",
"source": 1
},
{
"begin": 4023,
"end": 4041,
"name": "ADD",
"source": 1
},
{
"begin": 4015,
"end": 4041,
"name": "SWAP1",
"source": 1
},
{
"begin": 4015,
"end": 4041,
"name": "POP",
"source": 1
},
{
"begin": 4087,
"end": 4096,
"name": "DUP2",
"source": 1
},
{
"begin": 4081,
"end": 4085,
"name": "DUP2",
"source": 1
},
{
"begin": 4077,
"end": 4097,
"name": "SUB",
"source": 1
},
{
"begin": 4073,
"end": 4074,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4062,
"end": 4071,
"name": "DUP4",
"source": 1
},
{
"begin": 4058,
"end": 4075,
"name": "ADD",
"source": 1
},
{
"begin": 4051,
"end": 4098,
"name": "MSTORE",
"source": 1
},
{
"begin": 4115,
"end": 4246,
"name": "PUSH [tag]",
"source": 1,
"value": "111"
},
{
"begin": 4241,
"end": 4245,
"name": "DUP2",
"source": 1
},
{
"begin": 4115,
"end": 4246,
"name": "PUSH [tag]",
"source": 1,
"value": "87"
},
{
"begin": 4115,
"end": 4246,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 4115,
"end": 4246,
"name": "tag",
"source": 1,
"value": "111"
},
{
"begin": 4115,
"end": 4246,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4107,
"end": 4246,
"name": "SWAP1",
"source": 1
},
{
"begin": 4107,
"end": 4246,
"name": "POP",
"source": 1
},
{
"begin": 4005,
"end": 4253,
"name": "SWAP2",
"source": 1
},
{
"begin": 4005,
"end": 4253,
"name": "SWAP1",
"source": 1
},
{
"begin": 4005,
"end": 4253,
"name": "POP",
"source": 1
},
{
"begin": 4005,
"end": 4253,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 4259,
"end": 4678,
"name": "tag",
"source": 1,
"value": "29"
},
{
"begin": 4259,
"end": 4678,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4425,
"end": 4429,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4463,
"end": 4465,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4452,
"end": 4461,
"name": "DUP3",
"source": 1
},
{
"begin": 4448,
"end": 4466,
"name": "ADD",
"source": 1
},
{
"begin": 4440,
"end": 4466,
"name": "SWAP1",
"source": 1
},
{
"begin": 4440,
"end": 4466,
"name": "POP",
"source": 1
},
{
"begin": 4512,
"end": 4521,
"name": "DUP2",
"source": 1
},
{
"begin": 4506,
"end": 4510,
"name": "DUP2",
"source": 1
},
{
"begin": 4502,
"end": 4522,
"name": "SUB",
"source": 1
},
{
"begin": 4498,
"end": 4499,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4487,
"end": 4496,
"name": "DUP4",
"source": 1
},
{
"begin": 4483,
"end": 4500,
"name": "ADD",
"source": 1
},
{
"begin": 4476,
"end": 4523,
"name": "MSTORE",
"source": 1
},
{
"begin": 4540,
"end": 4671,
"name": "PUSH [tag]",
"source": 1,
"value": "113"
},
{
"begin": 4666,
"end": 4670,
"name": "DUP2",
"source": 1
},
{
"begin": 4540,
"end": 4671,
"name": "PUSH [tag]",
"source": 1,
"value": "93"
},
{
"begin": 4540,
"end": 4671,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 4540,
"end": 4671,
"name": "tag",
"source": 1,
"value": "113"
},
{
"begin": 4540,
"end": 4671,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4532,
"end": 4671,
"name": "SWAP1",
"source": 1
},
{
"begin": 4532,
"end": 4671,
"name": "POP",
"source": 1
},
{
"begin": 4430,
"end": 4678,
"name": "SWAP2",
"source": 1
},
{
"begin": 4430,
"end": 4678,
"name": "SWAP1",
"source": 1
},
{
"begin": 4430,
"end": 4678,
"name": "POP",
"source": 1
},
{
"begin": 4430,
"end": 4678,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 4684,
"end": 4813,
"name": "tag",
"source": 1,
"value": "56"
},
{
"begin": 4684,
"end": 4813,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4718,
"end": 4724,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4745,
"end": 4765,
"name": "PUSH [tag]",
"source": 1,
"value": "115"
},
{
"begin": 4745,
"end": 4765,
"name": "PUSH [tag]",
"source": 1,
"value": "116"
},
{
"begin": 4745,
"end": 4765,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 4745,
"end": 4765,
"name": "tag",
"source": 1,
"value": "115"
},
{
"begin": 4745,
"end": 4765,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4735,
"end": 4765,
"name": "SWAP1",
"source": 1
},
{
"begin": 4735,
"end": 4765,
"name": "POP",
"source": 1
},
{
"begin": 4774,
"end": 4807,
"name": "PUSH [tag]",
"source": 1,
"value": "117"
},
{
"begin": 4802,
"end": 4806,
"name": "DUP3",
"source": 1
},
{
"begin": 4794,
"end": 4800,
"name": "DUP3",
"source": 1
},
{
"begin": 4774,
"end": 4807,
"name": "PUSH [tag]",
"source": 1,
"value": "118"
},
{
"begin": 4774,
"end": 4807,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 4774,
"end": 4807,
"name": "tag",
"source": 1,
"value": "117"
},
{
"begin": 4774,
"end": 4807,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4725,
"end": 4813,
"name": "SWAP2",
"source": 1
},
{
"begin": 4725,
"end": 4813,
"name": "SWAP1",
"source": 1
},
{
"begin": 4725,
"end": 4813,
"name": "POP",
"source": 1
},
{
"begin": 4725,
"end": 4813,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 4819,
"end": 4894,
"name": "tag",
"source": 1,
"value": "116"
},
{
"begin": 4819,
"end": 4894,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4852,
"end": 4858,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4885,
"end": 4887,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4879,
"end": 4888,
"name": "MLOAD",
"source": 1
},
{
"begin": 4869,
"end": 4888,
"name": "SWAP1",
"source": 1
},
{
"begin": 4869,
"end": 4888,
"name": "POP",
"source": 1
},
{
"begin": 4859,
"end": 4894,
"name": "SWAP1",
"source": 1
},
{
"begin": 4859,
"end": 4894,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 4900,
"end": 5208,
"name": "tag",
"source": 1,
"value": "55"
},
{
"begin": 4900,
"end": 5208,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4962,
"end": 4966,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5052,
"end": 5070,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 5044,
"end": 5050,
"name": "DUP3",
"source": 1
},
{
"begin": 5041,
"end": 5071,
"name": "GT",
"source": 1
},
{
"begin": 5038,
"end": 5040,
"name": "ISZERO",
"source": 1
},
{
"begin": 5038,
"end": 5040,
"name": "PUSH [tag]",
"source": 1,
"value": "121"
},
{
"begin": 5038,
"end": 5040,
"name": "JUMPI",
"source": 1
},
{
"begin": 5074,
"end": 5092,
"name": "PUSH [tag]",
"source": 1,
"value": "122"
},
{
"begin": 5074,
"end": 5092,
"name": "PUSH [tag]",
"source": 1,
"value": "123"
},
{
"begin": 5074,
"end": 5092,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 5074,
"end": 5092,
"name": "tag",
"source": 1,
"value": "122"
},
{
"begin": 5074,
"end": 5092,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5038,
"end": 5040,
"name": "tag",
"source": 1,
"value": "121"
},
{
"begin": 5038,
"end": 5040,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5112,
"end": 5141,
"name": "PUSH [tag]",
"source": 1,
"value": "124"
},
{
"begin": 5134,
"end": 5140,
"name": "DUP3",
"source": 1
},
{
"begin": 5112,
"end": 5141,
"name": "PUSH [tag]",
"source": 1,
"value": "125"
},
{
"begin": 5112,
"end": 5141,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 5112,
"end": 5141,
"name": "tag",
"source": 1,
"value": "124"
},
{
"begin": 5112,
"end": 5141,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5104,
"end": 5141,
"name": "SWAP1",
"source": 1
},
{
"begin": 5104,
"end": 5141,
"name": "POP",
"source": 1
},
{
"begin": 5196,
"end": 5200,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 5190,
"end": 5194,
"name": "DUP2",
"source": 1
},
{
"begin": 5186,
"end": 5201,
"name": "ADD",
"source": 1
},
{
"begin": 5178,
"end": 5201,
"name": "SWAP1",
"source": 1
},
{
"begin": 5178,
"end": 5201,
"name": "POP",
"source": 1
},
{
"begin": 4967,
"end": 5208,
"name": "SWAP2",
"source": 1
},
{
"begin": 4967,
"end": 5208,
"name": "SWAP1",
"source": 1
},
{
"begin": 4967,
"end": 5208,
"name": "POP",
"source": 1
},
{
"begin": 4967,
"end": 5208,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 5214,
"end": 5383,
"name": "tag",
"source": 1,
"value": "90"
},
{
"begin": 5214,
"end": 5383,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5298,
"end": 5309,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5332,
"end": 5338,
"name": "DUP3",
"source": 1
},
{
"begin": 5327,
"end": 5330,
"name": "DUP3",
"source": 1
},
{
"begin": 5320,
"end": 5339,
"name": "MSTORE",
"source": 1
},
{
"begin": 5372,
"end": 5376,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 5367,
"end": 5370,
"name": "DUP3",
"source": 1
},
{
"begin": 5363,
"end": 5377,
"name": "ADD",
"source": 1
},
{
"begin": 5348,
"end": 5377,
"name": "SWAP1",
"source": 1
},
{
"begin": 5348,
"end": 5377,
"name": "POP",
"source": 1
},
{
"begin": 5310,
"end": 5383,
"name": "SWAP3",
"source": 1
},
{
"begin": 5310,
"end": 5383,
"name": "SWAP2",
"source": 1
},
{
"begin": 5310,
"end": 5383,
"name": "POP",
"source": 1
},
{
"begin": 5310,
"end": 5383,
"name": "POP",
"source": 1
},
{
"begin": 5310,
"end": 5383,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 5389,
"end": 5485,
"name": "tag",
"source": 1,
"value": "82"
},
{
"begin": 5389,
"end": 5485,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5426,
"end": 5433,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5455,
"end": 5479,
"name": "PUSH [tag]",
"source": 1,
"value": "128"
},
{
"begin": 5473,
"end": 5478,
"name": "DUP3",
"source": 1
},
{
"begin": 5455,
"end": 5479,
"name": "PUSH [tag]",
"source": 1,
"value": "129"
},
{
"begin": 5455,
"end": 5479,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 5455,
"end": 5479,
"name": "tag",
"source": 1,
"value": "128"
},
{
"begin": 5455,
"end": 5479,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5444,
"end": 5479,
"name": "SWAP1",
"source": 1
},
{
"begin": 5444,
"end": 5479,
"name": "POP",
"source": 1
},
{
"begin": 5434,
"end": 5485,
"name": "SWAP2",
"source": 1
},
{
"begin": 5434,
"end": 5485,
"name": "SWAP1",
"source": 1
},
{
"begin": 5434,
"end": 5485,
"name": "POP",
"source": 1
},
{
"begin": 5434,
"end": 5485,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 5491,
"end": 5568,
"name": "tag",
"source": 1,
"value": "86"
},
{
"begin": 5491,
"end": 5568,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5528,
"end": 5535,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5557,
"end": 5562,
"name": "DUP2",
"source": 1
},
{
"begin": 5546,
"end": 5562,
"name": "SWAP1",
"source": 1
},
{
"begin": 5546,
"end": 5562,
"name": "POP",
"source": 1
},
{
"begin": 5536,
"end": 5568,
"name": "SWAP2",
"source": 1
},
{
"begin": 5536,
"end": 5568,
"name": "SWAP1",
"source": 1
},
{
"begin": 5536,
"end": 5568,
"name": "POP",
"source": 1
},
{
"begin": 5536,
"end": 5568,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 5574,
"end": 5700,
"name": "tag",
"source": 1,
"value": "129"
},
{
"begin": 5574,
"end": 5700,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5611,
"end": 5618,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5651,
"end": 5693,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 5644,
"end": 5649,
"name": "DUP3",
"source": 1
},
{
"begin": 5640,
"end": 5694,
"name": "AND",
"source": 1
},
{
"begin": 5629,
"end": 5694,
"name": "SWAP1",
"source": 1
},
{
"begin": 5629,
"end": 5694,
"name": "POP",
"source": 1
},
{
"begin": 5619,
"end": 5700,
"name": "SWAP2",
"source": 1
},
{
"begin": 5619,
"end": 5700,
"name": "SWAP1",
"source": 1
},
{
"begin": 5619,
"end": 5700,
"name": "POP",
"source": 1
},
{
"begin": 5619,
"end": 5700,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 5706,
"end": 5783,
"name": "tag",
"source": 1,
"value": "102"
},
{
"begin": 5706,
"end": 5783,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5743,
"end": 5750,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5772,
"end": 5777,
"name": "DUP2",
"source": 1
},
{
"begin": 5761,
"end": 5777,
"name": "SWAP1",
"source": 1
},
{
"begin": 5761,
"end": 5777,
"name": "POP",
"source": 1
},
{
"begin": 5751,
"end": 5783,
"name": "SWAP2",
"source": 1
},
{
"begin": 5751,
"end": 5783,
"name": "SWAP1",
"source": 1
},
{
"begin": 5751,
"end": 5783,
"name": "POP",
"source": 1
},
{
"begin": 5751,
"end": 5783,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 5789,
"end": 5943,
"name": "tag",
"source": 1,
"value": "59"
},
{
"begin": 5789,
"end": 5943,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5873,
"end": 5879,
"name": "DUP3",
"source": 1
},
{
"begin": 5868,
"end": 5871,
"name": "DUP2",
"source": 1
},
{
"begin": 5863,
"end": 5866,
"name": "DUP4",
"source": 1
},
{
"begin": 5850,
"end": 5880,
"name": "CALLDATACOPY",
"source": 1
},
{
"begin": 5935,
"end": 5936,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 5926,
"end": 5932,
"name": "DUP4",
"source": 1
},
{
"begin": 5921,
"end": 5924,
"name": "DUP4",
"source": 1
},
{
"begin": 5917,
"end": 5933,
"name": "ADD",
"source": 1
},
{
"begin": 5910,
"end": 5937,
"name": "MSTORE",
"source": 1
},
{
"begin": 5840,
"end": 5943,
"name": "POP",
"source": 1
},
{
"begin": 5840,
"end": 5943,
"name": "POP",
"source": 1
},
{
"begin": 5840,
"end": 5943,
"name": "POP",
"source": 1
},
{
"begin": 5840,
"end": 5943,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 5949,
"end": 6269,
"name": "tag",
"source": 1,
"value": "40"
},
{
"begin": 5949,
"end": 6269,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 5993,
"end": 5999,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6030,
"end": 6031,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 6024,
"end": 6028,
"name": "DUP3",
"source": 1
},
{
"begin": 6020,
"end": 6032,
"name": "DIV",
"source": 1
},
{
"begin": 6010,
"end": 6032,
"name": "SWAP1",
"source": 1
},
{
"begin": 6010,
"end": 6032,
"name": "POP",
"source": 1
},
{
"begin": 6077,
"end": 6078,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 6071,
"end": 6075,
"name": "DUP3",
"source": 1
},
{
"begin": 6067,
"end": 6079,
"name": "AND",
"source": 1
},
{
"begin": 6098,
"end": 6116,
"name": "DUP1",
"source": 1
},
{
"begin": 6088,
"end": 6090,
"name": "PUSH [tag]",
"source": 1,
"value": "135"
},
{
"begin": 6088,
"end": 6090,
"name": "JUMPI",
"source": 1
},
{
"begin": 6154,
"end": 6158,
"name": "PUSH",
"source": 1,
"value": "7F"
},
{
"begin": 6146,
"end": 6152,
"name": "DUP3",
"source": 1
},
{
"begin": 6142,
"end": 6159,
"name": "AND",
"source": 1
},
{
"begin": 6132,
"end": 6159,
"name": "SWAP2",
"source": 1
},
{
"begin": 6132,
"end": 6159,
"name": "POP",
"source": 1
},
{
"begin": 6088,
"end": 6090,
"name": "tag",
"source": 1,
"value": "135"
},
{
"begin": 6088,
"end": 6090,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6216,
"end": 6218,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 6208,
"end": 6214,
"name": "DUP3",
"source": 1
},
{
"begin": 6205,
"end": 6219,
"name": "LT",
"source": 1
},
{
"begin": 6185,
"end": 6203,
"name": "DUP2",
"source": 1
},
{
"begin": 6182,
"end": 6220,
"name": "EQ",
"source": 1
},
{
"begin": 6179,
"end": 6181,
"name": "ISZERO",
"source": 1
},
{
"begin": 6179,
"end": 6181,
"name": "PUSH [tag]",
"source": 1,
"value": "136"
},
{
"begin": 6179,
"end": 6181,
"name": "JUMPI",
"source": 1
},
{
"begin": 6235,
"end": 6253,
"name": "PUSH [tag]",
"source": 1,
"value": "137"
},
{
"begin": 6235,
"end": 6253,
"name": "PUSH [tag]",
"source": 1,
"value": "138"
},
{
"begin": 6235,
"end": 6253,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 6235,
"end": 6253,
"name": "tag",
"source": 1,
"value": "137"
},
{
"begin": 6235,
"end": 6253,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6179,
"end": 6181,
"name": "tag",
"source": 1,
"value": "136"
},
{
"begin": 6179,
"end": 6181,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6000,
"end": 6269,
"name": "POP",
"source": 1
},
{
"begin": 6000,
"end": 6269,
"name": "SWAP2",
"source": 1
},
{
"begin": 6000,
"end": 6269,
"name": "SWAP1",
"source": 1
},
{
"begin": 6000,
"end": 6269,
"name": "POP",
"source": 1
},
{
"begin": 6000,
"end": 6269,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 6275,
"end": 6556,
"name": "tag",
"source": 1,
"value": "118"
},
{
"begin": 6275,
"end": 6556,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6358,
"end": 6385,
"name": "PUSH [tag]",
"source": 1,
"value": "140"
},
{
"begin": 6380,
"end": 6384,
"name": "DUP3",
"source": 1
},
{
"begin": 6358,
"end": 6385,
"name": "PUSH [tag]",
"source": 1,
"value": "125"
},
{
"begin": 6358,
"end": 6385,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 6358,
"end": 6385,
"name": "tag",
"source": 1,
"value": "140"
},
{
"begin": 6358,
"end": 6385,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6350,
"end": 6356,
"name": "DUP2",
"source": 1
},
{
"begin": 6346,
"end": 6386,
"name": "ADD",
"source": 1
},
{
"begin": 6488,
"end": 6494,
"name": "DUP2",
"source": 1
},
{
"begin": 6476,
"end": 6486,
"name": "DUP2",
"source": 1
},
{
"begin": 6473,
"end": 6495,
"name": "LT",
"source": 1
},
{
"begin": 6452,
"end": 6470,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFF"
},
{
"begin": 6440,
"end": 6450,
"name": "DUP3",
"source": 1
},
{
"begin": 6437,
"end": 6471,
"name": "GT",
"source": 1
},
{
"begin": 6434,
"end": 6496,
"name": "OR",
"source": 1
},
{
"begin": 6431,
"end": 6433,
"name": "ISZERO",
"source": 1
},
{
"begin": 6431,
"end": 6433,
"name": "PUSH [tag]",
"source": 1,
"value": "141"
},
{
"begin": 6431,
"end": 6433,
"name": "JUMPI",
"source": 1
},
{
"begin": 6499,
"end": 6517,
"name": "PUSH [tag]",
"source": 1,
"value": "142"
},
{
"begin": 6499,
"end": 6517,
"name": "PUSH [tag]",
"source": 1,
"value": "123"
},
{
"begin": 6499,
"end": 6517,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 6499,
"end": 6517,
"name": "tag",
"source": 1,
"value": "142"
},
{
"begin": 6499,
"end": 6517,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6431,
"end": 6433,
"name": "tag",
"source": 1,
"value": "141"
},
{
"begin": 6431,
"end": 6433,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6539,
"end": 6549,
"name": "DUP1",
"source": 1
},
{
"begin": 6535,
"end": 6537,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 6528,
"end": 6550,
"name": "MSTORE",
"source": 1
},
{
"begin": 6318,
"end": 6556,
"name": "POP",
"source": 1
},
{
"begin": 6318,
"end": 6556,
"name": "POP",
"source": 1
},
{
"begin": 6318,
"end": 6556,
"name": "POP",
"source": 1
},
{
"begin": 6318,
"end": 6556,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 6562,
"end": 6641,
"name": "tag",
"source": 1,
"value": "103"
},
{
"begin": 6562,
"end": 6641,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6601,
"end": 6608,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6630,
"end": 6635,
"name": "DUP2",
"source": 1
},
{
"begin": 6619,
"end": 6635,
"name": "SWAP1",
"source": 1
},
{
"begin": 6619,
"end": 6635,
"name": "POP",
"source": 1
},
{
"begin": 6609,
"end": 6641,
"name": "SWAP2",
"source": 1
},
{
"begin": 6609,
"end": 6641,
"name": "SWAP1",
"source": 1
},
{
"begin": 6609,
"end": 6641,
"name": "POP",
"source": 1
},
{
"begin": 6609,
"end": 6641,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 6647,
"end": 6827,
"name": "tag",
"source": 1,
"value": "138"
},
{
"begin": 6647,
"end": 6827,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6695,
"end": 6772,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 6692,
"end": 6693,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6685,
"end": 6773,
"name": "MSTORE",
"source": 1
},
{
"begin": 6792,
"end": 6796,
"name": "PUSH",
"source": 1,
"value": "22"
},
{
"begin": 6789,
"end": 6790,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 6782,
"end": 6797,
"name": "MSTORE",
"source": 1
},
{
"begin": 6816,
"end": 6820,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 6813,
"end": 6814,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6806,
"end": 6821,
"name": "REVERT",
"source": 1
},
{
"begin": 6833,
"end": 7013,
"name": "tag",
"source": 1,
"value": "123"
},
{
"begin": 6833,
"end": 7013,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 6881,
"end": 6958,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 6878,
"end": 6879,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6871,
"end": 6959,
"name": "MSTORE",
"source": 1
},
{
"begin": 6978,
"end": 6982,
"name": "PUSH",
"source": 1,
"value": "41"
},
{
"begin": 6975,
"end": 6976,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 6968,
"end": 6983,
"name": "MSTORE",
"source": 1
},
{
"begin": 7002,
"end": 7006,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 6999,
"end": 7000,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 6992,
"end": 7007,
"name": "REVERT",
"source": 1
},
{
"begin": 7019,
"end": 7121,
"name": "tag",
"source": 1,
"value": "125"
},
{
"begin": 7019,
"end": 7121,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7060,
"end": 7066,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 7111,
"end": 7113,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 7107,
"end": 7114,
"name": "NOT",
"source": 1
},
{
"begin": 7102,
"end": 7104,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 7095,
"end": 7100,
"name": "DUP4",
"source": 1
},
{
"begin": 7091,
"end": 7105,
"name": "ADD",
"source": 1
},
{
"begin": 7087,
"end": 7115,
"name": "AND",
"source": 1
},
{
"begin": 7077,
"end": 7115,
"name": "SWAP1",
"source": 1
},
{
"begin": 7077,
"end": 7115,
"name": "POP",
"source": 1
},
{
"begin": 7067,
"end": 7121,
"name": "SWAP2",
"source": 1
},
{
"begin": 7067,
"end": 7121,
"name": "SWAP1",
"source": 1
},
{
"begin": 7067,
"end": 7121,
"name": "POP",
"source": 1
},
{
"begin": 7067,
"end": 7121,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 7127,
"end": 7309,
"name": "tag",
"source": 1,
"value": "92"
},
{
"begin": 7127,
"end": 7309,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7267,
"end": 7301,
"name": "PUSH",
"source": 1,
"value": "446562657320706F6E657220656C206E6F6D62726520616C20706F6B656D6F6E"
},
{
"begin": 7263,
"end": 7264,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 7255,
"end": 7261,
"name": "DUP3",
"source": 1
},
{
"begin": 7251,
"end": 7265,
"name": "ADD",
"source": 1
},
{
"begin": 7244,
"end": 7302,
"name": "MSTORE",
"source": 1
},
{
"begin": 7233,
"end": 7309,
"name": "POP",
"source": 1
},
{
"begin": 7233,
"end": 7309,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 7315,
"end": 7566,
"name": "tag",
"source": 1,
"value": "97"
},
{
"begin": 7315,
"end": 7566,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7455,
"end": 7489,
"name": "PUSH",
"source": 1,
"value": "4E6F207469656E6573207065726D69736F732070617261206361707475726172"
},
{
"begin": 7451,
"end": 7452,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 7443,
"end": 7449,
"name": "DUP3",
"source": 1
},
{
"begin": 7439,
"end": 7453,
"name": "ADD",
"source": 1
},
{
"begin": 7432,
"end": 7490,
"name": "MSTORE",
"source": 1
},
{
"begin": 7524,
"end": 7558,
"name": "PUSH",
"source": 1,
"value": "206573746F7320706F6B656D6F6E2070617261206573746120506F6B65646578"
},
{
"begin": 7519,
"end": 7521,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 7511,
"end": 7517,
"name": "DUP3",
"source": 1
},
{
"begin": 7507,
"end": 7522,
"name": "ADD",
"source": 1
},
{
"begin": 7500,
"end": 7559,
"name": "MSTORE",
"source": 1
},
{
"begin": 7421,
"end": 7566,
"name": "POP",
"source": 1
},
{
"begin": 7421,
"end": 7566,
"name": "JUMP",
"source": 1,
"value": "[out]"
},
{
"begin": 7572,
"end": 7694,
"name": "tag",
"source": 1,
"value": "67"
},
{
"begin": 7572,
"end": 7694,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7645,
"end": 7669,
"name": "PUSH [tag]",
"source": 1,
"value": "150"
},
{
"begin": 7663,
"end": 7668,
"name": "DUP2",
"source": 1
},
{
"begin": 7645,
"end": 7669,
"name": "PUSH [tag]",
"source": 1,
"value": "102"
},
{
"begin": 7645,
"end": 7669,
"name": "JUMP",
"source": 1,
"value": "[in]"
},
{
"begin": 7645,
"end": 7669,
"name": "tag",
"source": 1,
"value": "150"
},
{
"begin": 7645,
"end": 7669,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7638,
"end": 7643,
"name": "DUP2",
"source": 1
},
{
"begin": 7635,
"end": 7670,
"name": "EQ",
"source": 1
},
{
"begin": 7625,
"end": 7627,
"name": "PUSH [tag]",
"source": 1,
"value": "151"
},
{
"begin": 7625,
"end": 7627,
"name": "JUMPI",
"source": 1
},
{
"begin": 7684,
"end": 7685,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 7681,
"end": 7682,
"name": "DUP1",
"source": 1
},
{
"begin": 7674,
"end": 7686,
"name": "REVERT",
"source": 1
},
{
"begin": 7625,
"end": 7627,
"name": "tag",
"source": 1,
"value": "151"
},
{
"begin": 7625,
"end": 7627,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 7615,
"end": 7694,
"name": "POP",
"source": 1
},
{
"begin": 7615,
"end": 7694,
"name": "JUMP",
"source": 1,
"value": "[out]"
}
]
}
}
},
"methodIdentifiers": {
"hashPrivateNumber(uint256)": "bda02842",
"lanzar_pokeball(string,string,string)": "57fb6b9c",
"owner()": "8da5cb5b"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_number\",\"type\":\"uint256\"}],\"name\":\"hashPrivateNumber\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nombrePokemon\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_tipo_pokemon\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_ataque\",\"type\":\"string\"}],\"name\":\"lanzar_pokeball\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/pokemon.sol\":\"Entrador_pokemon\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/pokemon.sol\":{\"keccak256\":\"0x5d5dc3dab621823a64db854276958589882239df24ea18d4ab759635c41ba4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8196b7efd50e26366f15cdb281756dbaad558acf01c52e3a0a6c7127fa8767d\",\"dweb:/ipfs/QmVgPFdeQskF9NYGxLeF4EdccXrp5X7G7m8Sio3NunrJY1\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 17,
"contract": "contracts/pokemon.sol:Entrador_pokemon",
"label": "pokedex",
"offset": 0,
"slot": "0",
"type": "t_array(t_struct(cualidades)13_storage)dyn_storage"
},
{
"astId": 42,
"contract": "contracts/pokemon.sol:Entrador_pokemon",
"label": "owner",
"offset": 0,
"slot": "1",
"type": "t_address"
}
],
"types": {
"t_address": {
"encoding": "inplace",
"label": "address",
"numberOfBytes": "20"
},
"t_array(t_struct(cualidades)13_storage)dyn_storage": {
"base": "t_struct(cualidades)13_storage",
"encoding": "dynamic_array",
"label": "struct Pokemon.cualidades[]",
"numberOfBytes": "32"
},
"t_string_storage": {
"encoding": "bytes",
"label": "string",
"numberOfBytes": "32"
},
"t_struct(cualidades)13_storage": {
"encoding": "inplace",
"label": "struct Pokemon.cualidades",
"members": [
{
"astId": 8,
"contract": "contracts/pokemon.sol:Entrador_pokemon",
"label": "name",
"offset": 0,
"slot": "0",
"type": "t_string_storage"
},
{
"astId": 10,
"contract": "contracts/pokemon.sol:Entrador_pokemon",
"label": "tipo_pokemon",
"offset": 0,
"slot": "1",
"type": "t_string_storage"
},
{
"astId": 12,
"contract": "contracts/pokemon.sol:Entrador_pokemon",
"label": "ataque",
"offset": 0,
"slot": "2",
"type": "t_string_storage"
}
],
"numberOfBytes": "96"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"Pokemon": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/pokemon.sol\":62:636 contract Pokemon {\r... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/pokemon.sol\":62:636 contract Pokemon {\r... */\n mstore(0x40, 0x80)\n 0x00\n dup1\n revert\n\n auxdata: 0xa26469706673582212208efa6ab335ffbc8b27badd6e54ef78798e59398c4431d29db5e863ab32000fff64736f6c63430008040033\n}\n",
"bytecode": {
"generatedSources": [],
"linkReferences": {},
"object": "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea26469706673582212208efa6ab335ffbc8b27badd6e54ef78798e59398c4431d29db5e863ab32000fff64736f6c63430008040033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP15 STATICCALL PUSH11 0xB335FFBC8B27BADD6E54EF PUSH25 0x798E59398C4431D29DB5E863AB32000FFF64736F6C63430008 DIV STOP CALLER ",
"sourceMap": "62:574:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea26469706673582212208efa6ab335ffbc8b27badd6e54ef78798e59398c4431d29db5e863ab32000fff64736f6c63430008040033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP15 STATICCALL PUSH11 0xB335FFBC8B27BADD6E54EF PUSH25 0x798E59398C4431D29DB5E863AB32000FFF64736F6C63430008 DIV STOP CALLER ",
"sourceMap": "62:574:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "66",
"totalCost": "12666"
},
"internal": {
"capturar_nuevo_pokemon(string memory,string memory,string memory)": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 62,
"end": 636,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 62,
"end": 636,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 62,
"end": 636,
"name": "MSTORE",
"source": 0
},
{
"begin": 62,
"end": 636,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 62,
"end": 636,
"name": "DUP1",
"source": 0
},
{
"begin": 62,
"end": 636,
"name": "ISZERO",
"source": 0
},
{
"begin": 62,
"end": 636,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 62,
"end": 636,
"name": "JUMPI",
"source": 0
},
{
"begin": 62,
"end": 636,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 62,
"end": 636,
"name": "DUP1",
"source": 0
},
{
"begin": 62,
"end": 636,
"name": "REVERT",
"source": 0
},
{
"begin": 62,
"end": 636,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 62,
"end": 636,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 62,
"end": 636,
"name": "POP",
"source": 0
},
{
"begin": 62,
"end": 636,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 62,
"end": 636,
"name": "DUP1",
"source": 0
},
{
"begin": 62,
"end": 636,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 62,
"end": 636,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 62,
"end": 636,
"name": "CODECOPY",
"source": 0
},
{
"begin": 62,
"end": 636,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 62,
"end": 636,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a26469706673582212208efa6ab335ffbc8b27badd6e54ef78798e59398c4431d29db5e863ab32000fff64736f6c63430008040033",
".code": [
{
"begin": 62,
"end": 636,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 62,
"end": 636,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 62,
"end": 636,
"name": "MSTORE",
"source": 0
},
{
"begin": 62,
"end": 636,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 62,
"end": 636,
"name": "DUP1",
"source": 0
},
{
"begin": 62,
"end": 636,
"name": "REVERT",
"source": 0
}
]
}
}
},
"methodIdentifiers": {}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/pokemon.sol\":\"Pokemon\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/pokemon.sol\":{\"keccak256\":\"0x5d5dc3dab621823a64db854276958589882239df24ea18d4ab759635c41ba4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8196b7efd50e26366f15cdb281756dbaad558acf01c52e3a0a6c7127fa8767d\",\"dweb:/ipfs/QmVgPFdeQskF9NYGxLeF4EdccXrp5X7G7m8Sio3NunrJY1\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 17,
"contract": "contracts/pokemon.sol:Pokemon",
"label": "pokedex",
"offset": 0,
"slot": "0",
"type": "t_array(t_struct(cualidades)13_storage)dyn_storage"
}
],
"types": {
"t_array(t_struct(cualidades)13_storage)dyn_storage": {
"base": "t_struct(cualidades)13_storage",
"encoding": "dynamic_array",
"label": "struct Pokemon.cualidades[]",
"numberOfBytes": "32"
},
"t_string_storage": {
"encoding": "bytes",
"label": "string",
"numberOfBytes": "32"
},
"t_struct(cualidades)13_storage": {
"encoding": "inplace",
"label": "struct Pokemon.cualidades",
"members": [
{
"astId": 8,
"contract": "contracts/pokemon.sol:Pokemon",
"label": "name",
"offset": 0,
"slot": "0",
"type": "t_string_storage"
},
{
"astId": 10,
"contract": "contracts/pokemon.sol:Pokemon",
"label": "tipo_pokemon",
"offset": 0,
"slot": "1",
"type": "t_string_storage"
},
{
"astId": 12,
"contract": "contracts/pokemon.sol:Pokemon",
"label": "ataque",
"offset": 0,
"slot": "2",
"type": "t_string_storage"
}
],
"numberOfBytes": "96"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"contracts/pokemon.sol": {
"ast": {
"absolutePath": "contracts/pokemon.sol",
"exportedSymbols": {
"Entrador_pokemon": [
114
],
"Pokemon": [
38
]
},
"id": 115,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.8",
".4"
],
"nodeType": "PragmaDirective",
"src": "35:23:0"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 38,
"linearizedBaseContracts": [
38
],
"name": "Pokemon",
"nameLocation": "71:7:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"canonicalName": "Pokemon.State",
"id": 6,
"members": [
{
"id": 2,
"name": "ELECTRICO",
"nameLocation": "144:9:0",
"nodeType": "EnumValue",
"src": "144:9:0"
},
{
"id": 3,
"name": "FUEGO",
"nameLocation": "155:5:0",
"nodeType": "EnumValue",
"src": "155:5:0"
},
{
"id": 4,
"name": "AGUA",
"nameLocation": "162:4:0",
"nodeType": "EnumValue",
"src": "162:4:0"
},
{
"id": 5,
"name": "PLANTA",
"nameLocation": "168:6:0",
"nodeType": "EnumValue",
"src": "168:6:0"
}
],
"name": "State",
"nameLocation": "137:5:0",
"nodeType": "EnumDefinition",
"src": "132:43:0"
},
{
"canonicalName": "Pokemon.cualidades",
"id": 13,
"members": [
{
"constant": false,
"id": 8,
"mutability": "mutable",
"name": "name",
"nameLocation": "256:4:0",
"nodeType": "VariableDeclaration",
"scope": 13,
"src": "249:11:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 7,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "249:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 10,
"mutability": "mutable",
"name": "tipo_pokemon",
"nameLocation": "278:12:0",
"nodeType": "VariableDeclaration",
"scope": 13,
"src": "271:19:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 9,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "271:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 12,
"mutability": "mutable",
"name": "ataque",
"nameLocation": "308:6:0",
"nodeType": "VariableDeclaration",
"scope": 13,
"src": "301:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 11,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "301:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"name": "cualidades",
"nameLocation": "227:10:0",
"nodeType": "StructDefinition",
"scope": 38,
"src": "220:102:0",
"visibility": "public"
},
{
"constant": false,
"id": 17,
"mutability": "mutable",
"name": "pokedex",
"nameLocation": "383:7:0",
"nodeType": "VariableDeclaration",
"scope": 38,
"src": "369:21:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_cualidades_$13_storage_$dyn_storage",
"typeString": "struct Pokemon.cualidades[]"
},
"typeName": {
"baseType": {
"id": 15,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 14,
"name": "cualidades",
"nodeType": "IdentifierPath",
"referencedDeclaration": 13,
"src": "369:10:0"
},
"referencedDeclaration": 13,
"src": "369:10:0",
"typeDescriptions": {
"typeIdentifier": "t_struct$_cualidades_$13_storage_ptr",
"typeString": "struct Pokemon.cualidades"
}
},
"id": 16,
"nodeType": "ArrayTypeName",
"src": "369:13:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_cualidades_$13_storage_$dyn_storage_ptr",
"typeString": "struct Pokemon.cualidades[]"
}
},
"visibility": "internal"
},
{
"body": {
"id": 36,
"nodeType": "Block",
"src": "559:74:0",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 30,
"name": "_name",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 19,
"src": "594:5:0",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 31,
"name": "_tipo_pokemon",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 21,
"src": "601:13:0",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 32,
"name": "_ataque",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 23,
"src": "616:7:0",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"id": 29,
"name": "cualidades",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13,
"src": "583:10:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_cualidades_$13_storage_ptr_$",
"typeString": "type(struct Pokemon.cualidades storage pointer)"
}
},
"id": 33,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "structConstructorCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "583:41:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_cualidades_$13_memory_ptr",
"typeString": "struct Pokemon.cualidades memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_struct$_cualidades_$13_memory_ptr",
"typeString": "struct Pokemon.cualidades memory"
}
],
"expression": {
"id": 26,
"name": "pokedex",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17,
"src": "570:7:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_struct$_cualidades_$13_storage_$dyn_storage",
"typeString": "struct Pokemon.cualidades storage ref[] storage ref"
}
},
"id": 28,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "push",
"nodeType": "MemberAccess",
"src": "570:12:0",
"typeDescriptions": {
"typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_struct$_cualidades_$13_storage_$dyn_storage_ptr_$_t_struct$_cualidades_$13_storage_$returns$__$bound_to$_t_array$_t_struct$_cualidades_$13_storage_$dyn_storage_ptr_$",
"typeString": "function (struct Pokemon.cualidades storage ref[] storage pointer,struct Pokemon.cualidades storage ref)"
}
},
"id": 34,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "570:55:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 35,
"nodeType": "ExpressionStatement",
"src": "570:55:0"
}
]
},
"id": 37,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "capturar_nuevo_pokemon",
"nameLocation": "454:22:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 24,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 19,
"mutability": "mutable",
"name": "_name",
"nameLocation": "491:5:0",
"nodeType": "VariableDeclaration",
"scope": 37,
"src": "477:19:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 18,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "477:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 21,
"mutability": "mutable",
"name": "_tipo_pokemon",
"nameLocation": "512:13:0",
"nodeType": "VariableDeclaration",
"scope": 37,
"src": "498:27:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 20,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "498:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 23,
"mutability": "mutable",
"name": "_ataque",
"nameLocation": "541:7:0",
"nodeType": "VariableDeclaration",
"scope": 37,
"src": "527:21:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 22,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "527:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "476:73:0"
},
"returnParameters": {
"id": 25,
"nodeType": "ParameterList",
"parameters": [],
"src": "559:0:0"
},
"scope": 38,
"src": "445:188:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
}
],
"scope": 115,
"src": "62:574:0",
"usedErrors": []
},
{
"abstract": false,
"baseContracts": [
{
"baseName": {
"id": 39,
"name": "Pokemon",
"nodeType": "IdentifierPath",
"referencedDeclaration": 38,
"src": "669:7:0"
},
"id": 40,
"nodeType": "InheritanceSpecifier",
"src": "669:7:0"
}
],
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 114,
"linearizedBaseContracts": [
114,
38
],
"name": "Entrador_pokemon",
"nameLocation": "649:16:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "8da5cb5b",
"id": 42,
"mutability": "mutable",
"name": "owner",
"nameLocation": "764:5:0",
"nodeType": "VariableDeclaration",
"scope": 114,
"src": "749:20:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 41,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "749:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "public"
},
{
"body": {
"id": 50,
"nodeType": "Block",
"src": "842:37:0",
"statements": [
{
"expression": {
"id": 48,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 45,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 42,
"src": "853:5:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"expression": {
"id": 46,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "861:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 47,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "861:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "853:18:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 49,
"nodeType": "ExpressionStatement",
"src": "853:18:0"
}
]
},
"id": 51,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 43,
"nodeType": "ParameterList",
"parameters": [],
"src": "839:2:0"
},
"returnParameters": {
"id": 44,
"nodeType": "ParameterList",
"parameters": [],
"src": "842:0:0"
},
"scope": 114,
"src": "827:52:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 83,
"nodeType": "Block",
"src": "1055:195:0",
"statements": [
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"id": 73,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"arguments": [
{
"arguments": [
{
"id": 64,
"name": "_nombrePokemon",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 53,
"src": "1091:14:0",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"id": 63,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1085:5:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
"typeString": "type(bytes storage pointer)"
},
"typeName": {
"id": 62,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "1085:5:0",
"typeDescriptions": {}
}
},
"id": 65,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1085:21:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 61,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967288,
"src": "1075:9:0",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 66,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1075:32:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"arguments": [
{
"arguments": [
{
"hexValue": "20",
"id": 70,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1127:3:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a",
"typeString": "literal_string \" \""
},
"value": " "
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a",
"typeString": "literal_string \" \""
}
],
"id": 69,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1121:5:0",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
"typeString": "type(bytes storage pointer)"
},
"typeName": {
"id": 68,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "1121:5:0",
"typeDescriptions": {}
}
},
"id": 71,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1121:10:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 67,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967288,
"src": "1111:9:0",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 72,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1111:21:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"src": "1075:57:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "446562657320706f6e657220656c206e6f6d62726520616c20706f6b656d6f6e",
"id": 74,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1134:34:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292",
"typeString": "literal_string \"Debes poner el nombre al pokemon\""
},
"value": "Debes poner el nombre al pokemon"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292",
"typeString": "literal_string \"Debes poner el nombre al pokemon\""
}
],
"id": 60,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
4294967278,
4294967278
],
"referencedDeclaration": 4294967278,
"src": "1066:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 75,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1066:103:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 76,
"nodeType": "ExpressionStatement",
"src": "1066:103:0"
},
{
"expression": {
"arguments": [
{
"id": 78,
"name": "_nombrePokemon",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 53,
"src": "1203:14:0",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 79,
"name": "_tipo_pokemon",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 55,
"src": "1219:13:0",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 80,
"name": "_ataque",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 57,
"src": "1234:7:0",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"id": 77,
"name": "capturar_nuevo_pokemon",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 37,
"src": "1180:22:0",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (string memory,string memory,string memory)"
}
},
"id": 81,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1180:62:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 82,
"nodeType": "ExpressionStatement",
"src": "1180:62:0"
}
]
},
"functionSelector": "57fb6b9c",
"id": 84,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "lanzar_pokeball",
"nameLocation": "948:15:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 58,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 53,
"mutability": "mutable",
"name": "_nombrePokemon",
"nameLocation": "978:14:0",
"nodeType": "VariableDeclaration",
"scope": 84,
"src": "964:28:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 52,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "964:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 55,
"mutability": "mutable",
"name": "_tipo_pokemon",
"nameLocation": "1008:13:0",
"nodeType": "VariableDeclaration",
"scope": 84,
"src": "994:27:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 54,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "994:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 57,
"mutability": "mutable",
"name": "_ataque",
"nameLocation": "1037:7:0",
"nodeType": "VariableDeclaration",
"scope": 84,
"src": "1023:21:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 56,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1023:6:0",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "963:82:0"
},
"returnParameters": {
"id": 59,
"nodeType": "ParameterList",
"parameters": [],
"src": "1055:0:0"
},
"scope": 114,
"src": "939:311:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 95,
"nodeType": "Block",
"src": "1364:127:0",
"statements": [
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 90,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 87,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 42,
"src": "1383:5:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"expression": {
"id": 88,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "1392:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 89,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "1392:10:0",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1383:19:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "4e6f207469656e6573207065726d69736f732070617261206361707475726172206573746f7320706f6b656d6f6e2070617261206573746120506f6b65646578",
"id": 91,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1404:66:0",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67",
"typeString": "literal_string \"No tienes permisos para capturar estos pokemon para esta Pokedex\""
},
"value": "No tienes permisos para capturar estos pokemon para esta Pokedex"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67",
"typeString": "literal_string \"No tienes permisos para capturar estos pokemon para esta Pokedex\""
}
],
"id": 86,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
4294967278,
4294967278
],
"referencedDeclaration": 4294967278,
"src": "1375:7:0",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 92,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1375:96:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 93,
"nodeType": "ExpressionStatement",
"src": "1375:96:0"
},
{
"id": 94,
"nodeType": "PlaceholderStatement",
"src": "1482:1:0"
}
]
},
"id": 96,
"name": "onlyOwner",
"nameLocation": "1352:9:0",
"nodeType": "ModifierDefinition",
"parameters": {
"id": 85,
"nodeType": "ParameterList",
"parameters": [],
"src": "1361:2:0"
},
"src": "1343:148:0",
"virtual": false,
"visibility": "internal"
},
{
"body": {
"id": 112,
"nodeType": "Block",
"src": "1580:62:0",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"id": 108,
"name": "_number",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 98,
"src": "1625:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"id": 106,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967295,
"src": "1608:3:0",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 107,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"src": "1608:16:0",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 109,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1608:25:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 105,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967288,
"src": "1598:9:0",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 110,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1598:36:0",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"functionReturnParameters": 104,
"id": 111,
"nodeType": "Return",
"src": "1591:43:0"
}
]
},
"functionSelector": "bda02842",
"id": 113,
"implemented": true,
"kind": "function",
"modifiers": [
{
"id": 101,
"kind": "modifierInvocation",
"modifierName": {
"id": 100,
"name": "onlyOwner",
"nodeType": "IdentifierPath",
"referencedDeclaration": 96,
"src": "1552:9:0"
},
"nodeType": "ModifierInvocation",
"src": "1552:9:0"
}
],
"name": "hashPrivateNumber",
"nameLocation": "1508:17:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 99,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 98,
"mutability": "mutable",
"name": "_number",
"nameLocation": "1531:7:0",
"nodeType": "VariableDeclaration",
"scope": 113,
"src": "1526:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 97,
"name": "uint",
"nodeType": "ElementaryTypeName",
"src": "1526:4:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1525:14:0"
},
"returnParameters": {
"id": 104,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 103,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 113,
"src": "1571:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 102,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1571:7:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"src": "1570:9:0"
},
"scope": 114,
"src": "1499:143:0",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
}
],
"scope": 115,
"src": "640:1005:0",
"usedErrors": []
}
],
"src": "35:1610: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
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ae7806100616000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806357fb6b9c14610046578063817ae0c2146100625780638da5cb5b14610080575b600080fd5b610060600480360381019061005b91906105ae565b61009e565b005b61006a610134565b60405161007791906107d5565b60405180910390f35b6100886103d9565b60405161009591906107ba565b60405180910390f35b6040518060400160405280600181526020017f20000000000000000000000000000000000000000000000000000000000000008152508051906020012083805190602001201415610124576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161011b906107f7565b60405180910390fd5b61012f8383836103ff565b505050565b60603373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146101c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101bd90610817565b60405180910390fd5b6000805480602002602001604051908101604052809291908181526020016000905b828210156103d0578382906000526020600020906003020160405180606001604052908160008201805461021b90610967565b80601f016020809104026020016040519081016040528092919081815260200182805461024790610967565b80156102945780601f1061026957610100808354040283529160200191610294565b820191906000526020600020905b81548152906001019060200180831161027757829003601f168201915b505050505081526020016001820180546102ad90610967565b80601f01602080910402602001604051908101604052809291908181526020018280546102d990610967565b80156103265780601f106102fb57610100808354040283529160200191610326565b820191906000526020600020905b81548152906001019060200180831161030957829003601f168201915b5050505050815260200160028201805461033f90610967565b80601f016020809104026020016040519081016040528092919081815260200182805461036b90610967565b80156103b85780601f1061038d576101008083540402835291602001916103b8565b820191906000526020600020905b81548152906001019060200180831161039b57829003601f168201915b505050505081525050815260200190600101906101e8565b50505050905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000604051806060016040528085815260200184815260200183815250908060018154018082558091505060019003906000526020600020906003020160009091909190915060008201518160000190805190602001906104619291906104a3565b50602082015181600101908051906020019061047e9291906104a3565b50604082015181600201908051906020019061049b9291906104a3565b505050505050565b8280546104af90610967565b90600052602060002090601f0160209004810192826104d15760008555610518565b82601f106104ea57805160ff1916838001178555610518565b82800160010185558215610518579182015b828111156105175782518255916020019190600101906104fc565b5b5090506105259190610529565b5090565b5b8082111561054257600081600090555060010161052a565b5090565b60006105596105548461085c565b610837565b90508281526020810184848401111561057157600080fd5b61057c848285610925565b509392505050565b600082601f83011261059557600080fd5b81356105a5848260208601610546565b91505092915050565b6000806000606084860312156105c357600080fd5b600084013567ffffffffffffffff8111156105dd57600080fd5b6105e986828701610584565b935050602084013567ffffffffffffffff81111561060657600080fd5b61061286828701610584565b925050604084013567ffffffffffffffff81111561062f57600080fd5b61063b86828701610584565b9150509250925092565b6000610651838361075c565b905092915050565b610662816108f3565b82525050565b60006106738261089d565b61067d81856108c0565b93508360208202850161068f8561088d565b8060005b858110156106cb57848403895281516106ac8582610645565b94506106b7836108b3565b925060208a01995050600181019050610693565b50829750879550505050505092915050565b60006106e8826108a8565b6106f281856108d1565b9350610702818560208601610934565b61070b81610a28565b840191505092915050565b60006107236020836108e2565b915061072e82610a39565b602082019050919050565b60006107466040836108e2565b915061075182610a62565b604082019050919050565b6000606083016000830151848203600086015261077982826106dd565b9150506020830151848203602086015261079382826106dd565b915050604083015184820360408601526107ad82826106dd565b9150508091505092915050565b60006020820190506107cf6000830184610659565b92915050565b600060208201905081810360008301526107ef8184610668565b905092915050565b6000602082019050818103600083015261081081610716565b9050919050565b6000602082019050818103600083015261083081610739565b9050919050565b6000610841610852565b905061084d8282610999565b919050565b6000604051905090565b600067ffffffffffffffff821115610877576108766109f9565b5b61088082610a28565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006108fe82610905565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b82818337600083830152505050565b60005b83811015610952578082015181840152602081019050610937565b83811115610961576000848401525b50505050565b6000600282049050600182168061097f57607f821691505b60208210811415610993576109926109ca565b5b50919050565b6109a282610a28565b810181811067ffffffffffffffff821117156109c1576109c06109f9565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f446562657320706f6e657220656c206e6f6d62726520616c20706f6b656d6f6e600082015250565b7f4e6f207469656e6573207065726d69736f73207061726120636170747572617260008201527f206573746f7320706f6b656d6f6e2070617261206573746120506f6b6564657860208201525056fea2646970667358221220171cbc8faebb2d651ed12cef2c27ea18ff38f859aa31cf74a710435c1450635a64736f6c63430008040033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0xAE7 DUP1 PUSH2 0x61 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x57FB6B9C EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x817AE0C2 EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x5AE JUMP JUMPDEST PUSH2 0x9E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x7D5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x88 PUSH2 0x3D9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x95 SWAP2 SWAP1 PUSH2 0x7BA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x2000000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP4 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ ISZERO PUSH2 0x124 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11B SWAP1 PUSH2 0x7F7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x12F DUP4 DUP4 DUP4 PUSH2 0x3FF JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x60 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1C6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1BD SWAP1 PUSH2 0x817 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x3D0 JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x21B SWAP1 PUSH2 0x967 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 0x247 SWAP1 PUSH2 0x967 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x294 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x269 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x294 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 0x277 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x2AD SWAP1 PUSH2 0x967 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 0x2D9 SWAP1 PUSH2 0x967 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x326 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2FB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x326 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 0x309 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x33F SWAP1 PUSH2 0x967 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 0x36B SWAP1 PUSH2 0x967 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3B8 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x38D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3B8 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 0x39B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1E8 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x461 SWAP3 SWAP2 SWAP1 PUSH2 0x4A3 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x47E SWAP3 SWAP2 SWAP1 PUSH2 0x4A3 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x49B SWAP3 SWAP2 SWAP1 PUSH2 0x4A3 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x4AF SWAP1 PUSH2 0x967 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x4D1 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x518 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x4EA JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x518 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x518 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x517 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x4FC JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x525 SWAP2 SWAP1 PUSH2 0x529 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x542 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x52A JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x559 PUSH2 0x554 DUP5 PUSH2 0x85C JUMP JUMPDEST PUSH2 0x837 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x571 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x57C DUP5 DUP3 DUP6 PUSH2 0x925 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x595 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x5A5 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x546 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5E9 DUP7 DUP3 DUP8 ADD PUSH2 0x584 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x606 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x612 DUP7 DUP3 DUP8 ADD PUSH2 0x584 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x62F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x63B DUP7 DUP3 DUP8 ADD PUSH2 0x584 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x651 DUP4 DUP4 PUSH2 0x75C JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x662 DUP2 PUSH2 0x8F3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x673 DUP3 PUSH2 0x89D JUMP JUMPDEST PUSH2 0x67D DUP2 DUP6 PUSH2 0x8C0 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x68F DUP6 PUSH2 0x88D JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x6CB JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x6AC DUP6 DUP3 PUSH2 0x645 JUMP JUMPDEST SWAP5 POP PUSH2 0x6B7 DUP4 PUSH2 0x8B3 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x693 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6E8 DUP3 PUSH2 0x8A8 JUMP JUMPDEST PUSH2 0x6F2 DUP2 DUP6 PUSH2 0x8D1 JUMP JUMPDEST SWAP4 POP PUSH2 0x702 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x934 JUMP JUMPDEST PUSH2 0x70B DUP2 PUSH2 0xA28 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x723 PUSH1 0x20 DUP4 PUSH2 0x8E2 JUMP JUMPDEST SWAP2 POP PUSH2 0x72E DUP3 PUSH2 0xA39 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x746 PUSH1 0x40 DUP4 PUSH2 0x8E2 JUMP JUMPDEST SWAP2 POP PUSH2 0x751 DUP3 PUSH2 0xA62 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x779 DUP3 DUP3 PUSH2 0x6DD JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x793 DUP3 DUP3 PUSH2 0x6DD JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x7AD DUP3 DUP3 PUSH2 0x6DD JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x7CF PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x659 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x7EF DUP2 DUP5 PUSH2 0x668 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x810 DUP2 PUSH2 0x716 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x830 DUP2 PUSH2 0x739 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x841 PUSH2 0x852 JUMP JUMPDEST SWAP1 POP PUSH2 0x84D DUP3 DUP3 PUSH2 0x999 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x877 JUMPI PUSH2 0x876 PUSH2 0x9F9 JUMP JUMPDEST JUMPDEST PUSH2 0x880 DUP3 PUSH2 0xA28 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD 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 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8FE DUP3 PUSH2 0x905 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x952 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x937 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x961 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x97F JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x993 JUMPI PUSH2 0x992 PUSH2 0x9CA JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9A2 DUP3 PUSH2 0xA28 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x9C1 JUMPI PUSH2 0x9C0 PUSH2 0x9F9 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x446562657320706F6E657220656C206E6F6D62726520616C20706F6B656D6F6E PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4E6F207469656E6573207065726D69736F732070617261206361707475726172 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206573746F7320706F6B656D6F6E2070617261206573746120506F6B65646578 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 OR SHR 0xBC DUP16 0xAE 0xBB 0x2D PUSH6 0x1ED12CEF2C27 0xEA XOR SELFDESTRUCT CODESIZE 0xF8 MSIZE 0xAA BALANCE 0xCF PUSH21 0xA710435C1450635A64736F6C634300080400330000 ",
"sourceMap": "545:1100:0:-:0;;;732:52;;;;;;;;;;766:10;758:5;;:18;;;;;;;;;;;;;;;;;;545:1100;;;;;;"
},
"deployedBytecode": {
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:10642:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "91:261:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "101:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "168:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "126:41:1"
},
"nodeType": "YulFunctionCall",
"src": "126:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "110:15:1"
},
"nodeType": "YulFunctionCall",
"src": "110:66:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "101:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "192:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "199:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "185:6:1"
},
"nodeType": "YulFunctionCall",
"src": "185:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "185:21:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "215:27:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "230:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "237:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "226:3:1"
},
"nodeType": "YulFunctionCall",
"src": "226:16:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "219:3:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "280:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "289:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "292:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "282:6:1"
},
"nodeType": "YulFunctionCall",
"src": "282:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "282:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "261:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "266:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "257:3:1"
},
"nodeType": "YulFunctionCall",
"src": "257:16:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "275:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "254:2:1"
},
"nodeType": "YulFunctionCall",
"src": "254:25:1"
},
"nodeType": "YulIf",
"src": "251:2:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "329:3:1"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "334:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "339:6:1"
}
],
"functionName": {
"name": "copy_calldata_to_memory",
"nodeType": "YulIdentifier",
"src": "305:23:1"
},
"nodeType": "YulFunctionCall",
"src": "305:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "305:41:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "64:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "69:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "77:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "85:5:1",
"type": ""
}
],
"src": "7:345:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "434:211:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "483:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "492:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "495:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "485:6:1"
},
"nodeType": "YulFunctionCall",
"src": "485:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "485:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "462:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "470:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "458:3:1"
},
"nodeType": "YulFunctionCall",
"src": "458:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "477:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "454:3:1"
},
"nodeType": "YulFunctionCall",
"src": "454:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "447:6:1"
},
"nodeType": "YulFunctionCall",
"src": "447:35:1"
},
"nodeType": "YulIf",
"src": "444:2:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "508:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "535:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "522:12:1"
},
"nodeType": "YulFunctionCall",
"src": "522:20:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "512:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "551:88:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "612:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "620:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "608:3:1"
},
"nodeType": "YulFunctionCall",
"src": "608:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "627:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "635:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "560:47:1"
},
"nodeType": "YulFunctionCall",
"src": "560:79:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "551:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "412:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "420:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "428:5:1",
"type": ""
}
],
"src": "372:273:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "781:761:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "827:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "836:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "839:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "829:6:1"
},
"nodeType": "YulFunctionCall",
"src": "829:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "829:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "802:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "811:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "798:3:1"
},
"nodeType": "YulFunctionCall",
"src": "798:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "823:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "794:3:1"
},
"nodeType": "YulFunctionCall",
"src": "794:32:1"
},
"nodeType": "YulIf",
"src": "791:2:1"
},
{
"nodeType": "YulBlock",
"src": "853:220:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "868:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "899:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "910:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "895:3:1"
},
"nodeType": "YulFunctionCall",
"src": "895:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "882:12:1"
},
"nodeType": "YulFunctionCall",
"src": "882:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "872:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "960:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "969:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "972:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "962:6:1"
},
"nodeType": "YulFunctionCall",
"src": "962:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "962:12:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "932:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "940:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "929:2:1"
},
"nodeType": "YulFunctionCall",
"src": "929:30:1"
},
"nodeType": "YulIf",
"src": "926:2:1"
},
{
"nodeType": "YulAssignment",
"src": "990:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1035:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1046:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1031:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1031:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1055:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1000:30:1"
},
"nodeType": "YulFunctionCall",
"src": "1000:63:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "990:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1083:221:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1098:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1129:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1140:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1125:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1125:18:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1112:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1112:32:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1102:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1191:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1200:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1203:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1193:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1193:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1193:12:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1163:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1171:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1160:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1160:30:1"
},
"nodeType": "YulIf",
"src": "1157:2:1"
},
{
"nodeType": "YulAssignment",
"src": "1221:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1266:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1277:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1262:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1262:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1286:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1231:30:1"
},
"nodeType": "YulFunctionCall",
"src": "1231:63:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1221:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1314:221:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1329:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1360:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1371:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1356:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1356:18:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1343:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1343:32:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1333:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1422:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1431:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1434:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1424:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1424:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1424:12:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1394:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1402:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1391:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1391:30:1"
},
"nodeType": "YulIf",
"src": "1388:2:1"
},
{
"nodeType": "YulAssignment",
"src": "1452:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1497:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1508:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1493:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1493:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1517:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1462:30:1"
},
"nodeType": "YulFunctionCall",
"src": "1462:63:1"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "1452:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "735:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "746:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "758:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "766:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "774:6:1",
"type": ""
}
],
"src": "651:891:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1678:126:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1688:110:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1786:6:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1794:3:1"
}
],
"functionName": {
"name": "abi_encode_t_struct$_cualidades_$8_memory_ptr_to_t_struct$_cualidades_$8_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1702:83:1"
},
"nodeType": "YulFunctionCall",
"src": "1702:96:1"
},
"variableNames": [
{
"name": "updatedPos",
"nodeType": "YulIdentifier",
"src": "1688:10:1"
}
]
}
]
},
"name": "abi_encodeUpdatedPos_t_struct$_cualidades_$8_memory_ptr_to_t_struct$_cualidades_$8_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1651:6:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1659:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updatedPos",
"nodeType": "YulTypedName",
"src": "1667:10:1",
"type": ""
}
],
"src": "1548:256:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1875:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1892:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1915:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "1897:17:1"
},
"nodeType": "YulFunctionCall",
"src": "1897:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1885:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1885:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "1885:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1863:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1870:3:1",
"type": ""
}
],
"src": "1810:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2174:937:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2184:93:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2271:5:1"
}
],
"functionName": {
"name": "array_length_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2198:72:1"
},
"nodeType": "YulFunctionCall",
"src": "2198:79:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "2188:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2286:118:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2392:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2397:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2293:98:1"
},
"nodeType": "YulFunctionCall",
"src": "2293:111:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2286:3:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2413:20:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2430:3:1"
},
"variables": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2417:9:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2442:39:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2458:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2467:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2475:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentifier",
"src": "2463:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2463:17:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2454:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2454:27:1"
},
"variables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2446:4:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2490:96:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2580:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2505:74:1"
},
"nodeType": "YulFunctionCall",
"src": "2505:81:1"
},
"variables": [
{
"name": "baseRef",
"nodeType": "YulTypedName",
"src": "2494:7:1",
"type": ""
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "2595:21:1",
"value": {
"name": "baseRef",
"nodeType": "YulIdentifier",
"src": "2609:7:1"
},
"variables": [
{
"name": "srcPtr",
"nodeType": "YulTypedName",
"src": "2599:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "2685:381:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2706:3:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2715:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2721:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "2711:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2711:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2699:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2699:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "2699:33:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "2745:34:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "2772:6:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2766:5:1"
},
"nodeType": "YulFunctionCall",
"src": "2766:13:1"
},
"variables": [
{
"name": "elementValue0",
"nodeType": "YulTypedName",
"src": "2749:13:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2792:122:1",
"value": {
"arguments": [
{
"name": "elementValue0",
"nodeType": "YulIdentifier",
"src": "2894:13:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2909:4:1"
}
],
"functionName": {
"name": "abi_encodeUpdatedPos_t_struct$_cualidades_$8_memory_ptr_to_t_struct$_cualidades_$8_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2800:93:1"
},
"nodeType": "YulFunctionCall",
"src": "2800:114:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2792:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2927:95:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "3015:6:1"
}
],
"functionName": {
"name": "array_nextElement_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulIdentifier",
"src": "2937:77:1"
},
"nodeType": "YulFunctionCall",
"src": "2937:85:1"
},
"variableNames": [
{
"name": "srcPtr",
"nodeType": "YulIdentifier",
"src": "2927:6:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3035:21:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3046:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3051:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3042:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3042:14:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3035:3:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2647:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "2650:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "2644:2:1"
},
"nodeType": "YulFunctionCall",
"src": "2644:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "2658:18:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2660:14:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2669:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2672:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2665:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2665:9:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "2660:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "2629:14:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2631:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "2640:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "2635:1:1",
"type": ""
}
]
}
]
},
"src": "2625:441:1"
},
{
"nodeType": "YulAssignment",
"src": "3075:11:1",
"value": {
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3082:4:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3075:3:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3095:10:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3102:3:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3095:3:1"
}
]
}
]
},
"name": "abi_encode_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2153:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2160:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2169:3:1",
"type": ""
}
],
"src": "2000:1111:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3199:262:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3209:53:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3256:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3223:32:1"
},
"nodeType": "YulFunctionCall",
"src": "3223:39:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "3213:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3271:68:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3327:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3332:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "3278:48:1"
},
"nodeType": "YulFunctionCall",
"src": "3278:61:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3271:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3374:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3381:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3370:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3370:16:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3388:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3393:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory",
"nodeType": "YulIdentifier",
"src": "3348:21:1"
},
"nodeType": "YulFunctionCall",
"src": "3348:52:1"
},
"nodeType": "YulExpressionStatement",
"src": "3348:52:1"
},
{
"nodeType": "YulAssignment",
"src": "3409:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3420:3:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "3447:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "3425:21:1"
},
"nodeType": "YulFunctionCall",
"src": "3425:29:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3416:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3416:39:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3409:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3180:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3187:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3195:3:1",
"type": ""
}
],
"src": "3117:344:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3613:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3623:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3689:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3694:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "3630:58:1"
},
"nodeType": "YulFunctionCall",
"src": "3630:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3623:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3795:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292",
"nodeType": "YulIdentifier",
"src": "3706:88:1"
},
"nodeType": "YulFunctionCall",
"src": "3706:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "3706:93:1"
},
{
"nodeType": "YulAssignment",
"src": "3808:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3819:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3824:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3815:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3815:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3808:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3601:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3609:3:1",
"type": ""
}
],
"src": "3467:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3985:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3995:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4061:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4066:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4002:58:1"
},
"nodeType": "YulFunctionCall",
"src": "4002:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3995:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4167:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67",
"nodeType": "YulIdentifier",
"src": "4078:88:1"
},
"nodeType": "YulFunctionCall",
"src": "4078:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "4078:93:1"
},
{
"nodeType": "YulAssignment",
"src": "4180:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4191:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4196:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4187:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4187:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4180:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3973:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3981:3:1",
"type": ""
}
],
"src": "3839:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4387:808:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4397:26:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4413:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4418:4:1",
"type": "",
"value": "0x60"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4409:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4409:14:1"
},
"variables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4401:4:1",
"type": ""
}
]
},
{
"nodeType": "YulBlock",
"src": "4433:235:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4468:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4498:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4505:4:1",
"type": "",
"value": "0x00"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4494:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4494:16:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4488:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4488:23:1"
},
"variables": [
{
"name": "memberValue0",
"nodeType": "YulTypedName",
"src": "4472:12:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4536:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4541:4:1",
"type": "",
"value": "0x00"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4532:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4532:14:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4552:4:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4558:3:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4548:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4548:14:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4525:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4525:38:1"
},
"nodeType": "YulExpressionStatement",
"src": "4525:38:1"
},
{
"nodeType": "YulAssignment",
"src": "4576:81:1",
"value": {
"arguments": [
{
"name": "memberValue0",
"nodeType": "YulIdentifier",
"src": "4638:12:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4652:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "4584:53:1"
},
"nodeType": "YulFunctionCall",
"src": "4584:73:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4576:4:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4678:243:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4721:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4751:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4758:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4747:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4747:16:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4741:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4741:23:1"
},
"variables": [
{
"name": "memberValue0",
"nodeType": "YulTypedName",
"src": "4725:12:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4789:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4794:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4785:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4785:14:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4805:4:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4811:3:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4801:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4801:14:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4778:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4778:38:1"
},
"nodeType": "YulExpressionStatement",
"src": "4778:38:1"
},
{
"nodeType": "YulAssignment",
"src": "4829:81:1",
"value": {
"arguments": [
{
"name": "memberValue0",
"nodeType": "YulIdentifier",
"src": "4891:12:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4905:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "4837:53:1"
},
"nodeType": "YulFunctionCall",
"src": "4837:73:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4829:4:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "4931:237:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "4968:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "4998:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5005:4:1",
"type": "",
"value": "0x40"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4994:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4994:16:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4988:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4988:23:1"
},
"variables": [
{
"name": "memberValue0",
"nodeType": "YulTypedName",
"src": "4972:12:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5036:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5041:4:1",
"type": "",
"value": "0x40"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5032:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5032:14:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5052:4:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5058:3:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5048:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5048:14:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5025:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5025:38:1"
},
"nodeType": "YulExpressionStatement",
"src": "5025:38:1"
},
{
"nodeType": "YulAssignment",
"src": "5076:81:1",
"value": {
"arguments": [
{
"name": "memberValue0",
"nodeType": "YulIdentifier",
"src": "5138:12:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5152:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "5084:53:1"
},
"nodeType": "YulFunctionCall",
"src": "5084:73:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5076:4:1"
}
]
}
]
},
{
"nodeType": "YulAssignment",
"src": "5178:11:1",
"value": {
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5185:4:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "5178:3:1"
}
]
}
]
},
"name": "abi_encode_t_struct$_cualidades_$8_memory_ptr_to_t_struct$_cualidades_$8_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "4366:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4373:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4382:3:1",
"type": ""
}
],
"src": "4273:922:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5299:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5309:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5321:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5332:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5317:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5317:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5309:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5389:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5402:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5413:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5398:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5398:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "5345:43:1"
},
"nodeType": "YulFunctionCall",
"src": "5345:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "5345:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5271:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5283:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5294:4:1",
"type": ""
}
],
"src": "5201:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5627:275:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5637:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5649:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5660:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5645:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5645:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5637:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5684:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5695:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5680:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5680:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5703:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5709:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "5699:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5699:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5673:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5673:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "5673:47:1"
},
{
"nodeType": "YulAssignment",
"src": "5729:166:1",
"value": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5881:6:1"
},
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5890:4:1"
}
],
"functionName": {
"name": "abi_encode_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "5737:143:1"
},
"nodeType": "YulFunctionCall",
"src": "5737:158:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5729:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5599:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5611:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5622:4:1",
"type": ""
}
],
"src": "5429:473:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6079:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6089:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6101:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6112:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6097:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6097:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6089:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6136:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6147:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6132:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6132:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6155:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6161:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6151:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6151:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6125:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6125:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "6125:47:1"
},
{
"nodeType": "YulAssignment",
"src": "6181:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6315:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6189:124:1"
},
"nodeType": "YulFunctionCall",
"src": "6189:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6181:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6059:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "6074:4:1",
"type": ""
}
],
"src": "5908:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6504:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6514:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6526:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6537:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6522:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6522:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6514:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6561:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6572:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6557:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6557:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6580:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6586:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6576:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6576:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6550:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6550:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "6550:47:1"
},
{
"nodeType": "YulAssignment",
"src": "6606:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6740:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6614:124:1"
},
"nodeType": "YulFunctionCall",
"src": "6614:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "6606:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "6484:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "6499:4:1",
"type": ""
}
],
"src": "6333:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6799:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6809:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "6819:18:1"
},
"nodeType": "YulFunctionCall",
"src": "6819:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6809:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6868:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "6876:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "6848:19:1"
},
"nodeType": "YulFunctionCall",
"src": "6848:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "6848:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "6783:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "6792:6:1",
"type": ""
}
],
"src": "6758:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6933:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6943:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6959:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "6953:5:1"
},
"nodeType": "YulFunctionCall",
"src": "6953:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6943:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "6926:6:1",
"type": ""
}
],
"src": "6893:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7041:241:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7146:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "7148:16:1"
},
"nodeType": "YulFunctionCall",
"src": "7148:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "7148:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "7118:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7126:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "7115:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7115:30:1"
},
"nodeType": "YulIf",
"src": "7112:2:1"
},
{
"nodeType": "YulAssignment",
"src": "7178:37:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "7208:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "7186:21:1"
},
"nodeType": "YulFunctionCall",
"src": "7186:29:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "7178:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "7252:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "7264:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7270:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7260:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7260:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "7252:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "7025:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "7036:4:1",
"type": ""
}
],
"src": "6974:308:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7385:60:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7395:11:1",
"value": {
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "7403:3:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "7395:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "7416:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "7428:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7433:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7424:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7424:14:1"
},
"variableNames": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "7416:4:1"
}
]
}
]
},
"name": "array_dataslot_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "7372:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "7380:4:1",
"type": ""
}
],
"src": "7288:157:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7550:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7561:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7577:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "7571:5:1"
},
"nodeType": "YulFunctionCall",
"src": "7571:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "7561:6:1"
}
]
}
]
},
"name": "array_length_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7533:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "7543:6:1",
"type": ""
}
],
"src": "7451:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7655:40:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7666:22:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7682:5:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "7676:5:1"
},
"nodeType": "YulFunctionCall",
"src": "7676:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "7666:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7638:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "7648:6:1",
"type": ""
}
],
"src": "7596:99:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7801:38:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7811:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nodeType": "YulIdentifier",
"src": "7823:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7828:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7819:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7819:14:1"
},
"variableNames": [
{
"name": "next",
"nodeType": "YulIdentifier",
"src": "7811:4:1"
}
]
}
]
},
"name": "array_nextElement_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nodeType": "YulTypedName",
"src": "7788:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "next",
"nodeType": "YulTypedName",
"src": "7796:4:1",
"type": ""
}
],
"src": "7701:138:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7981:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7998:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "8003:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7991:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7991:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "7991:19:1"
},
{
"nodeType": "YulAssignment",
"src": "8019:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8038:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8043:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8034:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8034:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "8019:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "7953:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "7958:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "7969:11:1",
"type": ""
}
],
"src": "7845:209:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8146:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8163:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "8168:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8156:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8156:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "8156:19:1"
},
{
"nodeType": "YulAssignment",
"src": "8184:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8203:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8208:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8199:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8199:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "8184:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "8118:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "8123:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "8134:11:1",
"type": ""
}
],
"src": "8060:159:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8321:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8338:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "8343:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8331:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8331:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "8331:19:1"
},
{
"nodeType": "YulAssignment",
"src": "8359:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8378:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8383:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8374:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8374:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "8359:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "8293:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "8298:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "8309:11:1",
"type": ""
}
],
"src": "8225:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8445:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8455:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8484:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "8466:17:1"
},
"nodeType": "YulFunctionCall",
"src": "8466:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "8455:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8427:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "8437:7:1",
"type": ""
}
],
"src": "8400:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8547:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8557:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "8572:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8579:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "8568:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8568:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "8557:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "8529:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "8539:7:1",
"type": ""
}
],
"src": "8502:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8685:103:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "8708:3:1"
},
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "8713:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "8718:6:1"
}
],
"functionName": {
"name": "calldatacopy",
"nodeType": "YulIdentifier",
"src": "8695:12:1"
},
"nodeType": "YulFunctionCall",
"src": "8695:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "8695:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "8766:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "8771:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8762:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8762:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8780:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8755:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8755:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "8755:27:1"
}
]
},
"name": "copy_calldata_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "8667:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "8672:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "8677:6:1",
"type": ""
}
],
"src": "8634:154:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8843:258:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "8853:10:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "8862:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nodeType": "YulTypedName",
"src": "8857:1:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "8922:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "8947:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "8952:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8943:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8943:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "8966:3:1"
},
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "8971:1:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8962:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8962:11:1"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "8956:5:1"
},
"nodeType": "YulFunctionCall",
"src": "8956:18:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8936:6:1"
},
"nodeType": "YulFunctionCall",
"src": "8936:39:1"
},
"nodeType": "YulExpressionStatement",
"src": "8936:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "8883:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "8886:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "8880:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8880:13:1"
},
"nodeType": "YulForLoop",
"post": {
"nodeType": "YulBlock",
"src": "8894:19:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8896:15:1",
"value": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "8905:1:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8908:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8901:3:1"
},
"nodeType": "YulFunctionCall",
"src": "8901:10:1"
},
"variableNames": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "8896:1:1"
}
]
}
]
},
"pre": {
"nodeType": "YulBlock",
"src": "8876:3:1",
"statements": []
},
"src": "8872:113:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9019:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "9069:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9074:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9065:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9065:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9083:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9058:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9058:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "9058:27:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nodeType": "YulIdentifier",
"src": "9000:1:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9003:6:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "8997:2:1"
},
"nodeType": "YulFunctionCall",
"src": "8997:13:1"
},
"nodeType": "YulIf",
"src": "8994:2:1"
}
]
},
"name": "copy_memory_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "8825:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "8830:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "8835:6:1",
"type": ""
}
],
"src": "8794:307:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9158:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9168:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "9182:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9188:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "9178:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9178:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9168:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "9199:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "9229:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9235:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "9225:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9225:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "9203:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9276:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "9290:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9304:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9312:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "9300:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9300:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9290:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "9256:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "9249:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9249:26:1"
},
"nodeType": "YulIf",
"src": "9246:2:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9379:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "9393:16:1"
},
"nodeType": "YulFunctionCall",
"src": "9393:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "9393:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "9343:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "9366:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9374:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "9363:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9363:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "9340:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9340:38:1"
},
"nodeType": "YulIf",
"src": "9337:2:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "9142:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "9151:6:1",
"type": ""
}
],
"src": "9107:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9476:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "9486:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "9508:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "9538:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "9516:21:1"
},
"nodeType": "YulFunctionCall",
"src": "9516:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9504:3:1"
},
"nodeType": "YulFunctionCall",
"src": "9504:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "9490:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "9655:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "9657:16:1"
},
"nodeType": "YulFunctionCall",
"src": "9657:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "9657:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "9598:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9610:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "9595:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9595:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "9634:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "9646:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "9631:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9631:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "9592:2:1"
},
"nodeType": "YulFunctionCall",
"src": "9592:62:1"
},
"nodeType": "YulIf",
"src": "9589:2:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9693:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "9697:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9686:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9686:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "9686:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "9462:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "9470:4:1",
"type": ""
}
],
"src": "9433:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9748:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9765:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9768:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9758:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9758:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "9758:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9862:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9865:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9855:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9855:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "9855:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9886:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9889:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "9879:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9879:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "9879:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "9720:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "9934:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9951:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9954:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "9944:6:1"
},
"nodeType": "YulFunctionCall",
"src": "9944:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "9944:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10048:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10051:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10041:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10041:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "10041:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10072:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10075:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "10065:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10065:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "10065:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "9906:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10140:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "10150:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "10168:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10175:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10164:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10164:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10184:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "10180:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10180:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "10160:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10160:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "10150:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "10123:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "10133:6:1",
"type": ""
}
],
"src": "10092:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10306:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "10328:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10336:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10324:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10324:14:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "10340:34:1",
"type": "",
"value": "Debes poner el nombre al pokemon"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10317:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10317:58:1"
},
"nodeType": "YulExpressionStatement",
"src": "10317:58:1"
}
]
},
"name": "store_literal_in_memory_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "10298:6:1",
"type": ""
}
],
"src": "10200:182:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "10494:145:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "10516:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10524:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10512:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10512:14:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "10528:34:1",
"type": "",
"value": "No tienes permisos para capturar"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10505:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10505:58:1"
},
"nodeType": "YulExpressionStatement",
"src": "10505:58:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "10584:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "10592:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "10580:3:1"
},
"nodeType": "YulFunctionCall",
"src": "10580:15:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "10597:34:1",
"type": "",
"value": " estos pokemon para esta Pokedex"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "10573:6:1"
},
"nodeType": "YulFunctionCall",
"src": "10573:59:1"
},
"nodeType": "YulExpressionStatement",
"src": "10573:59:1"
}
]
},
"name": "store_literal_in_memory_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "10486:6:1",
"type": ""
}
],
"src": "10388:251:1"
}
]
},
"contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert(0, 0) }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value1 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value2 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encodeUpdatedPos_t_struct$_cualidades_$8_memory_ptr_to_t_struct$_cualidades_$8_memory_ptr(value0, pos) -> updatedPos {\n updatedPos := abi_encode_t_struct$_cualidades_$8_memory_ptr_to_t_struct$_cualidades_$8_memory_ptr(value0, pos)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n // struct Pokemon.cualidades[] -> struct Pokemon.cualidades[]\n function abi_encode_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let headStart := pos\n let tail := add(pos, mul(length, 0x20))\n let baseRef := array_dataslot_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sub(tail, headStart))\n let elementValue0 := mload(srcPtr)\n tail := abi_encodeUpdatedPos_t_struct$_cualidades_$8_memory_ptr_to_t_struct$_cualidades_$8_memory_ptr(elementValue0, tail)\n srcPtr := array_nextElement_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr(srcPtr)\n pos := add(pos, 0x20)\n }\n pos := tail\n end := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_stringliteral_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 64)\n store_literal_in_memory_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67(pos)\n end := add(pos, 64)\n }\n\n // struct Pokemon.cualidades -> struct Pokemon.cualidades\n function abi_encode_t_struct$_cualidades_$8_memory_ptr_to_t_struct$_cualidades_$8_memory_ptr(value, pos) -> end {\n let tail := add(pos, 0x60)\n\n {\n // name\n\n let memberValue0 := mload(add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // tipo_pokemon\n\n let memberValue0 := mload(add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // ataque\n\n let memberValue0 := mload(add(value, 0x40))\n\n mstore(add(pos, 0x40), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_dataslot_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function array_length_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_nextElement_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_cualidades_$8_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\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 cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292(memPtr) {\n\n mstore(add(memPtr, 0), \"Debes poner el nombre al pokemon\")\n\n }\n\n function store_literal_in_memory_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67(memPtr) {\n\n mstore(add(memPtr, 0), \"No tienes permisos para capturar\")\n\n mstore(add(memPtr, 32), \" estos pokemon para esta Pokedex\")\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100415760003560e01c806357fb6b9c14610046578063817ae0c2146100625780638da5cb5b14610080575b600080fd5b610060600480360381019061005b91906105ae565b61009e565b005b61006a610134565b60405161007791906107d5565b60405180910390f35b6100886103d9565b60405161009591906107ba565b60405180910390f35b6040518060400160405280600181526020017f20000000000000000000000000000000000000000000000000000000000000008152508051906020012083805190602001201415610124576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161011b906107f7565b60405180910390fd5b61012f8383836103ff565b505050565b60603373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146101c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101bd90610817565b60405180910390fd5b6000805480602002602001604051908101604052809291908181526020016000905b828210156103d0578382906000526020600020906003020160405180606001604052908160008201805461021b90610967565b80601f016020809104026020016040519081016040528092919081815260200182805461024790610967565b80156102945780601f1061026957610100808354040283529160200191610294565b820191906000526020600020905b81548152906001019060200180831161027757829003601f168201915b505050505081526020016001820180546102ad90610967565b80601f01602080910402602001604051908101604052809291908181526020018280546102d990610967565b80156103265780601f106102fb57610100808354040283529160200191610326565b820191906000526020600020905b81548152906001019060200180831161030957829003601f168201915b5050505050815260200160028201805461033f90610967565b80601f016020809104026020016040519081016040528092919081815260200182805461036b90610967565b80156103b85780601f1061038d576101008083540402835291602001916103b8565b820191906000526020600020905b81548152906001019060200180831161039b57829003601f168201915b505050505081525050815260200190600101906101e8565b50505050905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000604051806060016040528085815260200184815260200183815250908060018154018082558091505060019003906000526020600020906003020160009091909190915060008201518160000190805190602001906104619291906104a3565b50602082015181600101908051906020019061047e9291906104a3565b50604082015181600201908051906020019061049b9291906104a3565b505050505050565b8280546104af90610967565b90600052602060002090601f0160209004810192826104d15760008555610518565b82601f106104ea57805160ff1916838001178555610518565b82800160010185558215610518579182015b828111156105175782518255916020019190600101906104fc565b5b5090506105259190610529565b5090565b5b8082111561054257600081600090555060010161052a565b5090565b60006105596105548461085c565b610837565b90508281526020810184848401111561057157600080fd5b61057c848285610925565b509392505050565b600082601f83011261059557600080fd5b81356105a5848260208601610546565b91505092915050565b6000806000606084860312156105c357600080fd5b600084013567ffffffffffffffff8111156105dd57600080fd5b6105e986828701610584565b935050602084013567ffffffffffffffff81111561060657600080fd5b61061286828701610584565b925050604084013567ffffffffffffffff81111561062f57600080fd5b61063b86828701610584565b9150509250925092565b6000610651838361075c565b905092915050565b610662816108f3565b82525050565b60006106738261089d565b61067d81856108c0565b93508360208202850161068f8561088d565b8060005b858110156106cb57848403895281516106ac8582610645565b94506106b7836108b3565b925060208a01995050600181019050610693565b50829750879550505050505092915050565b60006106e8826108a8565b6106f281856108d1565b9350610702818560208601610934565b61070b81610a28565b840191505092915050565b60006107236020836108e2565b915061072e82610a39565b602082019050919050565b60006107466040836108e2565b915061075182610a62565b604082019050919050565b6000606083016000830151848203600086015261077982826106dd565b9150506020830151848203602086015261079382826106dd565b915050604083015184820360408601526107ad82826106dd565b9150508091505092915050565b60006020820190506107cf6000830184610659565b92915050565b600060208201905081810360008301526107ef8184610668565b905092915050565b6000602082019050818103600083015261081081610716565b9050919050565b6000602082019050818103600083015261083081610739565b9050919050565b6000610841610852565b905061084d8282610999565b919050565b6000604051905090565b600067ffffffffffffffff821115610877576108766109f9565b5b61088082610a28565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006108fe82610905565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b82818337600083830152505050565b60005b83811015610952578082015181840152602081019050610937565b83811115610961576000848401525b50505050565b6000600282049050600182168061097f57607f821691505b60208210811415610993576109926109ca565b5b50919050565b6109a282610a28565b810181811067ffffffffffffffff821117156109c1576109c06109f9565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f446562657320706f6e657220656c206e6f6d62726520616c20706f6b656d6f6e600082015250565b7f4e6f207469656e6573207065726d69736f73207061726120636170747572617260008201527f206573746f7320706f6b656d6f6e2070617261206573746120506f6b6564657860208201525056fea2646970667358221220171cbc8faebb2d651ed12cef2c27ea18ff38f859aa31cf74a710435c1450635a64736f6c63430008040033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x57FB6B9C EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x817AE0C2 EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x5AE JUMP JUMPDEST PUSH2 0x9E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x7D5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x88 PUSH2 0x3D9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x95 SWAP2 SWAP1 PUSH2 0x7BA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x2000000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP4 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ ISZERO PUSH2 0x124 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11B SWAP1 PUSH2 0x7F7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x12F DUP4 DUP4 DUP4 PUSH2 0x3FF JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x60 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1C6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1BD SWAP1 PUSH2 0x817 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x3D0 JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x21B SWAP1 PUSH2 0x967 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 0x247 SWAP1 PUSH2 0x967 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x294 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x269 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x294 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 0x277 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x2AD SWAP1 PUSH2 0x967 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 0x2D9 SWAP1 PUSH2 0x967 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x326 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2FB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x326 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 0x309 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x33F SWAP1 PUSH2 0x967 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 0x36B SWAP1 PUSH2 0x967 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3B8 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x38D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3B8 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 0x39B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1E8 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x461 SWAP3 SWAP2 SWAP1 PUSH2 0x4A3 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x47E SWAP3 SWAP2 SWAP1 PUSH2 0x4A3 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x49B SWAP3 SWAP2 SWAP1 PUSH2 0x4A3 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x4AF SWAP1 PUSH2 0x967 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x4D1 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x518 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x4EA JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x518 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x518 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x517 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x4FC JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x525 SWAP2 SWAP1 PUSH2 0x529 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x542 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x52A JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x559 PUSH2 0x554 DUP5 PUSH2 0x85C JUMP JUMPDEST PUSH2 0x837 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x571 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x57C DUP5 DUP3 DUP6 PUSH2 0x925 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x595 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x5A5 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x546 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x5C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5E9 DUP7 DUP3 DUP8 ADD PUSH2 0x584 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x606 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x612 DUP7 DUP3 DUP8 ADD PUSH2 0x584 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x62F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x63B DUP7 DUP3 DUP8 ADD PUSH2 0x584 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x651 DUP4 DUP4 PUSH2 0x75C JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x662 DUP2 PUSH2 0x8F3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x673 DUP3 PUSH2 0x89D JUMP JUMPDEST PUSH2 0x67D DUP2 DUP6 PUSH2 0x8C0 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x68F DUP6 PUSH2 0x88D JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x6CB JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x6AC DUP6 DUP3 PUSH2 0x645 JUMP JUMPDEST SWAP5 POP PUSH2 0x6B7 DUP4 PUSH2 0x8B3 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x693 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6E8 DUP3 PUSH2 0x8A8 JUMP JUMPDEST PUSH2 0x6F2 DUP2 DUP6 PUSH2 0x8D1 JUMP JUMPDEST SWAP4 POP PUSH2 0x702 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x934 JUMP JUMPDEST PUSH2 0x70B DUP2 PUSH2 0xA28 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x723 PUSH1 0x20 DUP4 PUSH2 0x8E2 JUMP JUMPDEST SWAP2 POP PUSH2 0x72E DUP3 PUSH2 0xA39 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x746 PUSH1 0x40 DUP4 PUSH2 0x8E2 JUMP JUMPDEST SWAP2 POP PUSH2 0x751 DUP3 PUSH2 0xA62 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x779 DUP3 DUP3 PUSH2 0x6DD JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x793 DUP3 DUP3 PUSH2 0x6DD JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x7AD DUP3 DUP3 PUSH2 0x6DD JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x7CF PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x659 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x7EF DUP2 DUP5 PUSH2 0x668 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x810 DUP2 PUSH2 0x716 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x830 DUP2 PUSH2 0x739 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x841 PUSH2 0x852 JUMP JUMPDEST SWAP1 POP PUSH2 0x84D DUP3 DUP3 PUSH2 0x999 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x877 JUMPI PUSH2 0x876 PUSH2 0x9F9 JUMP JUMPDEST JUMPDEST PUSH2 0x880 DUP3 PUSH2 0xA28 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD 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 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8FE DUP3 PUSH2 0x905 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x952 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x937 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x961 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x97F JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x993 JUMPI PUSH2 0x992 PUSH2 0x9CA JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9A2 DUP3 PUSH2 0xA28 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x9C1 JUMPI PUSH2 0x9C0 PUSH2 0x9F9 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x446562657320706F6E657220656C206E6F6D62726520616C20706F6B656D6F6E PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4E6F207469656E6573207065726D69736F732070617261206361707475726172 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206573746F7320706F6B656D6F6E2070617261206573746120506F6B65646578 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 OR SHR 0xBC DUP16 0xAE 0xBB 0x2D PUSH6 0x1ED12CEF2C27 0xEA XOR SELFDESTRUCT CODESIZE 0xF8 MSIZE 0xAA BALANCE 0xCF PUSH21 0xA710435C1450635A64736F6C634300080400330000 ",
"sourceMap": "545:1100:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;844:311;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1534:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;654:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;844:311;1026:10;;;;;;;;;;;;;;;;;1016:21;;;;;;996:14;980:32;;;;;;:57;;971:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;1085:62;1108:14;1124:13;1139:7;1085:22;:62::i;:::-;844:311;;;:::o;1534:108::-;1587:20;1297:10;1288:19;;:5;;;;;;;;;;;:19;;;1280:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;1627:7:::1;1620:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;1534:108:::0;:::o;654:20::-;;;;;;;;;;;;;:::o;350:188::-;475:7;488:41;;;;;;;;499:5;488:41;;;;506:13;488:41;;;;521:7;488:41;;;475:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;350:188;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:345:1:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:2;;;292:1;289;282:12;251:2;305:41;339:6;334:3;329;305:41;:::i;:::-;91:261;;;;;;:::o;372:273::-;428:5;477:3;470:4;462:6;458:17;454:27;444:2;;495:1;492;485:12;444:2;535:6;522:20;560:79;635:3;627:6;620:4;612:6;608:17;560:79;:::i;:::-;551:88;;434:211;;;;;:::o;651:891::-;758:6;766;774;823:2;811:9;802:7;798:23;794:32;791:2;;;839:1;836;829:12;791:2;910:1;899:9;895:17;882:31;940:18;932:6;929:30;926:2;;;972:1;969;962:12;926:2;1000:63;1055:7;1046:6;1035:9;1031:22;1000:63;:::i;:::-;990:73;;853:220;1140:2;1129:9;1125:18;1112:32;1171:18;1163:6;1160:30;1157:2;;;1203:1;1200;1193:12;1157:2;1231:63;1286:7;1277:6;1266:9;1262:22;1231:63;:::i;:::-;1221:73;;1083:221;1371:2;1360:9;1356:18;1343:32;1402:18;1394:6;1391:30;1388:2;;;1434:1;1431;1424:12;1388:2;1462:63;1517:7;1508:6;1497:9;1493:22;1462:63;:::i;:::-;1452:73;;1314:221;781:761;;;;;:::o;1548:256::-;1667:10;1702:96;1794:3;1786:6;1702:96;:::i;:::-;1688:110;;1678:126;;;;:::o;1810:118::-;1897:24;1915:5;1897:24;:::i;:::-;1892:3;1885:37;1875:53;;:::o;2000:1111::-;2169:3;2198:79;2271:5;2198:79;:::i;:::-;2293:111;2397:6;2392:3;2293:111;:::i;:::-;2286:118;;2430:3;2475:4;2467:6;2463:17;2458:3;2454:27;2505:81;2580:5;2505:81;:::i;:::-;2609:7;2640:1;2625:441;2650:6;2647:1;2644:13;2625:441;;;2721:9;2715:4;2711:20;2706:3;2699:33;2772:6;2766:13;2800:114;2909:4;2894:13;2800:114;:::i;:::-;2792:122;;2937:85;3015:6;2937:85;:::i;:::-;2927:95;;3051:4;3046:3;3042:14;3035:21;;2685:381;2672:1;2669;2665:9;2660:14;;2625:441;;;2629:14;3082:4;3075:11;;3102:3;3095:10;;2174:937;;;;;;;;;:::o;3117:344::-;3195:3;3223:39;3256:5;3223:39;:::i;:::-;3278:61;3332:6;3327:3;3278:61;:::i;:::-;3271:68;;3348:52;3393:6;3388:3;3381:4;3374:5;3370:16;3348:52;:::i;:::-;3425:29;3447:6;3425:29;:::i;:::-;3420:3;3416:39;3409:46;;3199:262;;;;;:::o;3467:366::-;3609:3;3630:67;3694:2;3689:3;3630:67;:::i;:::-;3623:74;;3706:93;3795:3;3706:93;:::i;:::-;3824:2;3819:3;3815:12;3808:19;;3613:220;;;:::o;3839:366::-;3981:3;4002:67;4066:2;4061:3;4002:67;:::i;:::-;3995:74;;4078:93;4167:3;4078:93;:::i;:::-;4196:2;4191:3;4187:12;4180:19;;3985:220;;;:::o;4273:922::-;4382:3;4418:4;4413:3;4409:14;4505:4;4498:5;4494:16;4488:23;4558:3;4552:4;4548:14;4541:4;4536:3;4532:14;4525:38;4584:73;4652:4;4638:12;4584:73;:::i;:::-;4576:81;;4433:235;4758:4;4751:5;4747:16;4741:23;4811:3;4805:4;4801:14;4794:4;4789:3;4785:14;4778:38;4837:73;4905:4;4891:12;4837:73;:::i;:::-;4829:81;;4678:243;5005:4;4998:5;4994:16;4988:23;5058:3;5052:4;5048:14;5041:4;5036:3;5032:14;5025:38;5084:73;5152:4;5138:12;5084:73;:::i;:::-;5076:81;;4931:237;5185:4;5178:11;;4387:808;;;;;:::o;5201:222::-;5294:4;5332:2;5321:9;5317:18;5309:26;;5345:71;5413:1;5402:9;5398:17;5389:6;5345:71;:::i;:::-;5299:124;;;;:::o;5429:473::-;5622:4;5660:2;5649:9;5645:18;5637:26;;5709:9;5703:4;5699:20;5695:1;5684:9;5680:17;5673:47;5737:158;5890:4;5881:6;5737:158;:::i;:::-;5729:166;;5627:275;;;;:::o;5908:419::-;6074:4;6112:2;6101:9;6097:18;6089:26;;6161:9;6155:4;6151:20;6147:1;6136:9;6132:17;6125:47;6189:131;6315:4;6189:131;:::i;:::-;6181:139;;6079:248;;;:::o;6333:419::-;6499:4;6537:2;6526:9;6522:18;6514:26;;6586:9;6580:4;6576:20;6572:1;6561:9;6557:17;6550:47;6614:131;6740:4;6614:131;:::i;:::-;6606:139;;6504:248;;;:::o;6758:129::-;6792:6;6819:20;;:::i;:::-;6809:30;;6848:33;6876:4;6868:6;6848:33;:::i;:::-;6799:88;;;:::o;6893:75::-;6926:6;6959:2;6953:9;6943:19;;6933:35;:::o;6974:308::-;7036:4;7126:18;7118:6;7115:30;7112:2;;;7148:18;;:::i;:::-;7112:2;7186:29;7208:6;7186:29;:::i;:::-;7178:37;;7270:4;7264;7260:15;7252:23;;7041:241;;;:::o;7288:157::-;7380:4;7403:3;7395:11;;7433:4;7428:3;7424:14;7416:22;;7385:60;;;:::o;7451:139::-;7543:6;7577:5;7571:12;7561:22;;7550:40;;;:::o;7596:99::-;7648:6;7682:5;7676:12;7666:22;;7655:40;;;:::o;7701:138::-;7796:4;7828;7823:3;7819:14;7811:22;;7801:38;;;:::o;7845:209::-;7969:11;8003:6;7998:3;7991:19;8043:4;8038:3;8034:14;8019:29;;7981:73;;;;:::o;8060:159::-;8134:11;8168:6;8163:3;8156:19;8208:4;8203:3;8199:14;8184:29;;8146:73;;;;:::o;8225:169::-;8309:11;8343:6;8338:3;8331:19;8383:4;8378:3;8374:14;8359:29;;8321:73;;;;:::o;8400:96::-;8437:7;8466:24;8484:5;8466:24;:::i;:::-;8455:35;;8445:51;;;:::o;8502:126::-;8539:7;8579:42;8572:5;8568:54;8557:65;;8547:81;;;:::o;8634:154::-;8718:6;8713:3;8708;8695:30;8780:1;8771:6;8766:3;8762:16;8755:27;8685:103;;;:::o;8794:307::-;8862:1;8872:113;8886:6;8883:1;8880:13;8872:113;;;8971:1;8966:3;8962:11;8956:18;8952:1;8947:3;8943:11;8936:39;8908:2;8905:1;8901:10;8896:15;;8872:113;;;9003:6;9000:1;8997:13;8994:2;;;9083:1;9074:6;9069:3;9065:16;9058:27;8994:2;8843:258;;;;:::o;9107:320::-;9151:6;9188:1;9182:4;9178:12;9168:22;;9235:1;9229:4;9225:12;9256:18;9246:2;;9312:4;9304:6;9300:17;9290:27;;9246:2;9374;9366:6;9363:14;9343:18;9340:38;9337:2;;;9393:18;;:::i;:::-;9337:2;9158:269;;;;:::o;9433:281::-;9516:27;9538:4;9516:27;:::i;:::-;9508:6;9504:40;9646:6;9634:10;9631:22;9610:18;9598:10;9595:34;9592:62;9589:2;;;9657:18;;:::i;:::-;9589:2;9697:10;9693:2;9686:22;9476:238;;;:::o;9720:180::-;9768:77;9765:1;9758:88;9865:4;9862:1;9855:15;9889:4;9886:1;9879:15;9906:180;9954:77;9951:1;9944:88;10051:4;10048:1;10041:15;10075:4;10072:1;10065:15;10092:102;10133:6;10184:2;10180:7;10175:2;10168:5;10164:14;10160:28;10150:38;;10140:54;;;:::o;10200:182::-;10340:34;10336:1;10328:6;10324:14;10317:58;10306:76;:::o;10388:251::-;10528:34;10524:1;10516:6;10512:14;10505:58;10597:34;10592:2;10584:6;10580:15;10573:59;10494:145;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "558200",
"executionCost": "21460",
"totalCost": "579660"
},
"external": {
"getPokedex()": "infinite",
"lanzar_pokeball(string,string,string)": "infinite",
"owner()": "1236"
}
},
"methodIdentifiers": {
"getPokedex()": "817ae0c2",
"lanzar_pokeball(string,string,string)": "57fb6b9c",
"owner()": "8da5cb5b"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "getPokedex",
"outputs": [
{
"components": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "tipo_pokemon",
"type": "string"
},
{
"internalType": "string",
"name": "ataque",
"type": "string"
}
],
"internalType": "struct Pokemon.cualidades[]",
"name": "",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_nombrePokemon",
"type": "string"
},
{
"internalType": "string",
"name": "_tipo_pokemon",
"type": "string"
},
{
"internalType": "string",
"name": "_ataque",
"type": "string"
}
],
"name": "lanzar_pokeball",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.4+commit.c7e474f2"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "getPokedex",
"outputs": [
{
"components": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "tipo_pokemon",
"type": "string"
},
{
"internalType": "string",
"name": "ataque",
"type": "string"
}
],
"internalType": "struct Pokemon.cualidades[]",
"name": "",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_nombrePokemon",
"type": "string"
},
{
"internalType": "string",
"name": "_tipo_pokemon",
"type": "string"
},
{
"internalType": "string",
"name": "_ataque",
"type": "string"
}
],
"name": "lanzar_pokeball",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/pokemon.sol": "Entrador_pokemon"
},
"evmVersion": "istanbul",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/pokemon.sol": {
"keccak256": "0x49e2266ee2c0f41a5fab663cb57148c0d821019829ff8ad0fc7ccc0c6d6cb931",
"license": "MIT",
"urls": [
"bzz-raw://2f31f00ca690049893a25c51e56d26358d53c759e29c427853d3fbc707fa2cef",
"dweb:/ipfs/QmaEDbfd9FRK3oZCXKnRXsWGf9PXRyq9LuK3NAfGNLMjBC"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"görli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"generatedSources": [],
"linkReferences": {},
"object": "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220a558da641703e3f58f9059ab31692c0fb4f2e0c31a014fbfb5d9951f5834d6bf64736f6c63430008040033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA5 PC 0xDA PUSH5 0x1703E3F58F SWAP1 MSIZE 0xAB BALANCE PUSH10 0x2C0FB4F2E0C31A014FBF 0xB5 0xD9 SWAP6 0x1F PC CALLVALUE 0xD6 0xBF PUSH5 0x736F6C6343 STOP ADDMOD DIV STOP CALLER ",
"sourceMap": "62:479:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "6080604052600080fdfea2646970667358221220a558da641703e3f58f9059ab31692c0fb4f2e0c31a014fbfb5d9951f5834d6bf64736f6c63430008040033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA5 PC 0xDA PUSH5 0x1703E3F58F SWAP1 MSIZE 0xAB BALANCE PUSH10 0x2C0FB4F2E0C31A014FBF 0xB5 0xD9 SWAP6 0x1F PC CALLVALUE 0xD6 0xBF PUSH5 0x736F6C6343 STOP ADDMOD DIV STOP CALLER ",
"sourceMap": "62:479:0:-:0;;;;;"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "12600",
"executionCost": "66",
"totalCost": "12666"
},
"internal": {
"capturar_nuevo_pokemon(string memory,string memory,string memory)": "infinite"
}
},
"methodIdentifiers": {}
},
"abi": []
}
{
"compiler": {
"version": "0.8.4+commit.c7e474f2"
},
"language": "Solidity",
"output": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/pokemon.sol": "Pokemon"
},
"evmVersion": "istanbul",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/pokemon.sol": {
"keccak256": "0x49e2266ee2c0f41a5fab663cb57148c0d821019829ff8ad0fc7ccc0c6d6cb931",
"license": "MIT",
"urls": [
"bzz-raw://2f31f00ca690049893a25c51e56d26358d53c759e29c427853d3fbc707fa2cef",
"dweb:/ipfs/QmaEDbfd9FRK3oZCXKnRXsWGf9PXRyq9LuK3NAfGNLMjBC"
]
}
},
"version": 1
}
This file has been truncated, but you can view the full file.
{
"id": "2471cf70d7c39ebc94b16ab184af3aef",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.4",
"solcLongVersion": "0.8.4+commit.c7e474f2",
"input": {
"language": "Solidity",
"sources": {
"contracts/pokemon.sol": {
"content": "// SPDX-License-Identifier: MIT\r\n\r\npragma solidity ^0.8.4;\r\n\r\ncontract Pokemon {\r\n\r\n // Cualidades para cada pokemon\r\n struct cualidades {\r\n string name;\r\n string tipo_pokemon;\r\n string ataque;\r\n }\r\n\r\n // Listado de pokemon que tenemos\r\n cualidades [] pokedex;\r\n\r\n // Añadir un nuevo pokemon a la pokedex\r\n function capturar_nuevo_pokemon(string memory _name, string memory _tipo_pokemon, string memory _ataque) internal {\r\n pokedex.push(cualidades(_name, _tipo_pokemon, _ataque));\r\n }\r\n}\r\n\r\ncontract Entrador_pokemon is Pokemon {\r\n \r\n // Quien es el propietario de este entrenador pokemon\r\n address public owner;\r\n\r\n // Asignamos el valor al entrenador Pokemon\r\n constructor () {\r\n owner = msg.sender;\r\n }\r\n\r\n // Conseguimos un pokemon para nuestra pokedex\r\n function lanzar_pokeball(string memory _nombrePokemon, string memory _tipo_pokemon, string memory _ataque) external {\r\n require (keccak256(bytes(_nombrePokemon)) != keccak256(bytes(\" \")), \"Debes poner el nombre al pokemon\");\r\n capturar_nuevo_pokemon(_nombrePokemon, _tipo_pokemon, _ataque);\r\n }\r\n\r\n // Modifer para poner algún filtro. Solo permitimos conseguir pokemon al owner\r\n modifier onlyOwner() {\r\n require(owner == msg.sender, \"No tienes permisos para capturar estos pokemon para esta Pokedex\");\r\n _;\r\n }\r\n\r\n function hashPrivateNumber(uint _number) public view onlyOwner returns (bytes32) {\r\n return keccak256(abi.encodePacked(_number));\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": {
"contracts/pokemon.sol": {
"Entrador_pokemon": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_number",
"type": "uint256"
}
],
"name": "hashPrivateNumber",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_nombrePokemon",
"type": "string"
},
{
"internalType": "string",
"name": "_tipo_pokemon",
"type": "string"
},
{
"internalType": "string",
"name": "_ataque",
"type": "string"
}
],
"name": "lanzar_pokeball",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/pokemon.sol\":545:1550 contract Entrador_pokemon is Pokemon {\r... */\n mstore(0x40, 0x80)\n /* \"contracts/pokemon.sol\":732:784 constructor () {\r... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n /* \"contracts/pokemon.sol\":766:776 msg.sender */\n caller\n /* \"contracts/pokemon.sol\":758:763 owner */\n 0x01\n 0x00\n /* \"contracts/pokemon.sol\":758:776 owner = msg.sender */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/pokemon.sol\":545:1550 contract Entrador_pokemon is Pokemon {\r... */\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/pokemon.sol\":545:1550 contract Entrador_pokemon is Pokemon {\r... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x57fb6b9c\n eq\n tag_3\n jumpi\n dup1\n 0x8da5cb5b\n eq\n tag_4\n jumpi\n dup1\n 0xbda02842\n eq\n tag_5\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/pokemon.sol\":844:1155 function lanzar_pokeball(string memory _nombrePokemon, string memory _tipo_pokemon, string memory _ataque) external {\r... */\n tag_3:\n tag_6\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_7\n swap2\n swap1\n tag_8\n jump\t// in\n tag_7:\n tag_9\n jump\t// in\n tag_6:\n stop\n /* \"contracts/pokemon.sol\":654:674 address public owner */\n tag_4:\n tag_10\n tag_11\n jump\t// in\n tag_10:\n mload(0x40)\n tag_12\n swap2\n swap1\n tag_13\n jump\t// in\n tag_12:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/pokemon.sol\":1404:1547 function hashPrivateNumber(uint _number) public view onlyOwner returns (bytes32) {\r... */\n tag_5:\n tag_14\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_15\n swap2\n swap1\n tag_16\n jump\t// in\n tag_15:\n tag_17\n jump\t// in\n tag_14:\n mload(0x40)\n tag_18\n swap2\n swap1\n tag_19\n jump\t// in\n tag_18:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/pokemon.sol\":844:1155 function lanzar_pokeball(string memory _nombrePokemon, string memory _tipo_pokemon, string memory _ataque) external {\r... */\n tag_9:\n /* \"contracts/pokemon.sol\":1026:1036 bytes(\" \") */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x01\n dup2\n mstore\n 0x20\n add\n 0x2000000000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n pop\n /* \"contracts/pokemon.sol\":1016:1037 keccak256(bytes(\" \")) */\n dup1\n mload\n swap1\n 0x20\n add\n keccak256\n /* \"contracts/pokemon.sol\":996:1010 _nombrePokemon */\n dup4\n /* \"contracts/pokemon.sol\":980:1012 keccak256(bytes(_nombrePokemon)) */\n dup1\n mload\n swap1\n 0x20\n add\n keccak256\n /* \"contracts/pokemon.sol\":980:1037 keccak256(bytes(_nombrePokemon)) != keccak256(bytes(\" \")) */\n eq\n iszero\n /* \"contracts/pokemon.sol\":971:1074 require (keccak256(bytes(_nombrePokemon)) != keccak256(bytes(\" \")), \"Debes poner el nombre al pokemon\") */\n tag_21\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_22\n swap1\n tag_23\n jump\t// in\n tag_22:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_21:\n /* \"contracts/pokemon.sol\":1085:1147 capturar_nuevo_pokemon(_nombrePokemon, _tipo_pokemon, _ataque) */\n tag_24\n /* \"contracts/pokemon.sol\":1108:1122 _nombrePokemon */\n dup4\n /* \"contracts/pokemon.sol\":1124:1137 _tipo_pokemon */\n dup4\n /* \"contracts/pokemon.sol\":1139:1146 _ataque */\n dup4\n /* \"contracts/pokemon.sol\":1085:1107 capturar_nuevo_pokemon */\n tag_25\n /* \"contracts/pokemon.sol\":1085:1147 capturar_nuevo_pokemon(_nombrePokemon, _tipo_pokemon, _ataque) */\n jump\t// in\n tag_24:\n /* \"contracts/pokemon.sol\":844:1155 function lanzar_pokeball(string memory _nombrePokemon, string memory _tipo_pokemon, string memory _ataque) external {\r... */\n pop\n pop\n pop\n jump\t// out\n /* \"contracts/pokemon.sol\":654:674 address public owner */\n tag_11:\n 0x01\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n jump\t// out\n /* \"contracts/pokemon.sol\":1404:1547 function hashPrivateNumber(uint _number) public view onlyOwner returns (bytes32) {\r... */\n tag_17:\n /* \"contracts/pokemon.sol\":1476:1483 bytes32 */\n 0x00\n /* \"contracts/pokemon.sol\":1297:1307 msg.sender */\n caller\n /* \"contracts/pokemon.sol\":1288:1307 owner == msg.sender */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/pokemon.sol\":1288:1293 owner */\n 0x01\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/pokemon.sol\":1288:1307 owner == msg.sender */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"contracts/pokemon.sol\":1280:1376 require(owner == msg.sender, \"No tienes permisos para capturar estos pokemon para esta Pokedex\") */\n tag_27\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_28\n swap1\n tag_29\n jump\t// in\n tag_28:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_27:\n /* \"contracts/pokemon.sol\":1530:1537 _number */\n dup2\n /* \"contracts/pokemon.sol\":1513:1538 abi.encodePacked(_number) */\n add(0x20, mload(0x40))\n tag_31\n swap2\n swap1\n tag_32\n jump\t// in\n tag_31:\n mload(0x40)\n 0x20\n dup2\n dup4\n sub\n sub\n dup2\n mstore\n swap1\n 0x40\n mstore\n /* \"contracts/pokemon.sol\":1503:1539 keccak256(abi.encodePacked(_number)) */\n dup1\n mload\n swap1\n 0x20\n add\n keccak256\n /* \"contracts/pokemon.sol\":1496:1539 return keccak256(abi.encodePacked(_number)) */\n swap1\n pop\n /* \"contracts/pokemon.sol\":1404:1547 function hashPrivateNumber(uint _number) public view onlyOwner returns (bytes32) {\r... */\n swap2\n swap1\n pop\n jump\t// out\n /* \"contracts/pokemon.sol\":350:538 function capturar_nuevo_pokemon(string memory _name, string memory _tipo_pokemon, string memory _ataque) internal {\r... */\n tag_25:\n /* \"contracts/pokemon.sol\":475:482 pokedex */\n 0x00\n /* \"contracts/pokemon.sol\":488:529 cualidades(_name, _tipo_pokemon, _ataque) */\n mload(0x40)\n dup1\n 0x60\n add\n 0x40\n mstore\n dup1\n /* \"contracts/pokemon.sol\":499:504 _name */\n dup6\n /* \"contracts/pokemon.sol\":488:529 cualidades(_name, _tipo_pokemon, _ataque) */\n dup2\n mstore\n 0x20\n add\n /* \"contracts/pokemon.sol\":506:519 _tipo_pokemon */\n dup5\n /* \"contracts/pokemon.sol\":488:529 cualidades(_name, _tipo_pokemon, _ataque) */\n dup2\n mstore\n 0x20\n add\n /* \"contracts/pokemon.sol\":521:528 _ataque */\n dup4\n /* \"contracts/pokemon.sol\":488:529 cualidades(_name, _tipo_pokemon, _ataque) */\n dup2\n mstore\n pop\n /* \"contracts/pokemon.sol\":475:530 pokedex.push(cualidades(_name, _tipo_pokemon, _ataque)) */\n swap1\n dup1\n 0x01\n dup2\n sload\n add\n dup1\n dup3\n sstore\n dup1\n swap2\n pop\n pop\n 0x01\n swap1\n sub\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x03\n mul\n add\n 0x00\n swap1\n swap2\n swap1\n swap2\n swap1\n swap2\n pop\n 0x00\n dup3\n add\n mload\n dup2\n 0x00\n add\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_35\n swap3\n swap2\n swap1\n tag_36\n jump\t// in\n tag_35:\n pop\n 0x20\n dup3\n add\n mload\n dup2\n 0x01\n add\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_37\n swap3\n swap2\n swap1\n tag_36\n jump\t// in\n tag_37:\n pop\n 0x40\n dup3\n add\n mload\n dup2\n 0x02\n add\n swap1\n dup1\n mload\n swap1\n 0x20\n add\n swap1\n tag_38\n swap3\n swap2\n swap1\n tag_36\n jump\t// in\n tag_38:\n pop\n pop\n pop\n /* \"contracts/pokemon.sol\":350:538 function capturar_nuevo_pokemon(string memory _name, string memory _tipo_pokemon, string memory _ataque) internal {\r... */\n pop\n pop\n pop\n jump\t// out\n tag_36:\n dup3\n dup1\n sload\n tag_39\n swap1\n tag_40\n jump\t// in\n tag_39:\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n 0x1f\n add\n 0x20\n swap1\n div\n dup2\n add\n swap3\n dup3\n tag_42\n jumpi\n 0x00\n dup6\n sstore\n jump(tag_41)\n tag_42:\n dup3\n 0x1f\n lt\n tag_43\n jumpi\n dup1\n mload\n not(0xff)\n and\n dup4\n dup1\n add\n or\n dup6\n sstore\n jump(tag_41)\n tag_43:\n dup3\n dup1\n add\n 0x01\n add\n dup6\n sstore\n dup3\n iszero\n tag_41\n jumpi\n swap2\n dup3\n add\n tag_44:\n dup3\n dup2\n gt\n iszero\n tag_45\n jumpi\n dup3\n mload\n dup3\n sstore\n swap2\n 0x20\n add\n swap2\n swap1\n 0x01\n add\n swap1\n jump(tag_44)\n tag_45:\n tag_41:\n pop\n swap1\n pop\n tag_46\n swap2\n swap1\n tag_47\n jump\t// in\n tag_46:\n pop\n swap1\n jump\t// out\n tag_47:\n tag_48:\n dup1\n dup3\n gt\n iszero\n tag_49\n jumpi\n 0x00\n dup2\n 0x00\n swap1\n sstore\n pop\n 0x01\n add\n jump(tag_48)\n tag_49:\n pop\n swap1\n jump\t// out\n /* \"#utility.yul\":7:352 */\n tag_51:\n /* \"#utility.yul\":85:90 */\n 0x00\n /* \"#utility.yul\":110:176 */\n tag_53\n /* \"#utility.yul\":126:175 */\n tag_54\n /* \"#utility.yul\":168:174 */\n dup5\n /* \"#utility.yul\":126:175 */\n tag_55\n jump\t// in\n tag_54:\n /* \"#utility.yul\":110:176 */\n tag_56\n jump\t// in\n tag_53:\n /* \"#utility.yul\":101:176 */\n swap1\n pop\n /* \"#utility.yul\":199:205 */\n dup3\n /* \"#utility.yul\":192:197 */\n dup2\n /* \"#utility.yul\":185:206 */\n mstore\n /* \"#utility.yul\":237:241 */\n 0x20\n /* \"#utility.yul\":230:235 */\n dup2\n /* \"#utility.yul\":226:242 */\n add\n /* \"#utility.yul\":275:278 */\n dup5\n /* \"#utility.yul\":266:272 */\n dup5\n /* \"#utility.yul\":261:264 */\n dup5\n /* \"#utility.yul\":257:273 */\n add\n /* \"#utility.yul\":254:279 */\n gt\n /* \"#utility.yul\":251:253 */\n iszero\n tag_57\n jumpi\n /* \"#utility.yul\":292:293 */\n 0x00\n /* \"#utility.yul\":289:290 */\n dup1\n /* \"#utility.yul\":282:294 */\n revert\n /* \"#utility.yul\":251:253 */\n tag_57:\n /* \"#utility.yul\":305:346 */\n tag_58\n /* \"#utility.yul\":339:345 */\n dup5\n /* \"#utility.yul\":334:337 */\n dup3\n /* \"#utility.yul\":329:332 */\n dup6\n /* \"#utility.yul\":305:346 */\n tag_59\n jump\t// in\n tag_58:\n /* \"#utility.yul\":91:352 */\n pop\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":372:645 */\n tag_60:\n /* \"#utility.yul\":428:433 */\n 0x00\n /* \"#utility.yul\":477:480 */\n dup3\n /* \"#utility.yul\":470:474 */\n 0x1f\n /* \"#utility.yul\":462:468 */\n dup4\n /* \"#utility.yul\":458:475 */\n add\n /* \"#utility.yul\":454:481 */\n slt\n /* \"#utility.yul\":444:446 */\n tag_62\n jumpi\n /* \"#utility.yul\":495:496 */\n 0x00\n /* \"#utility.yul\":492:493 */\n dup1\n /* \"#utility.yul\":485:497 */\n revert\n /* \"#utility.yul\":444:446 */\n tag_62:\n /* \"#utility.yul\":535:541 */\n dup2\n /* \"#utility.yul\":522:542 */\n calldataload\n /* \"#utility.yul\":560:639 */\n tag_63\n /* \"#utility.yul\":635:638 */\n dup5\n /* \"#utility.yul\":627:633 */\n dup3\n /* \"#utility.yul\":620:624 */\n 0x20\n /* \"#utility.yul\":612:618 */\n dup7\n /* \"#utility.yul\":608:625 */\n add\n /* \"#utility.yul\":560:639 */\n tag_51\n jump\t// in\n tag_63:\n /* \"#utility.yul\":551:639 */\n swap2\n pop\n /* \"#utility.yul\":434:645 */\n pop\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":651:790 */\n tag_64:\n /* \"#utility.yul\":697:702 */\n 0x00\n /* \"#utility.yul\":735:741 */\n dup2\n /* \"#utility.yul\":722:742 */\n calldataload\n /* \"#utility.yul\":713:742 */\n swap1\n pop\n /* \"#utility.yul\":751:784 */\n tag_66\n /* \"#utility.yul\":778:783 */\n dup2\n /* \"#utility.yul\":751:784 */\n tag_67\n jump\t// in\n tag_66:\n /* \"#utility.yul\":703:790 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":796:1687 */\n tag_8:\n /* \"#utility.yul\":903:909 */\n 0x00\n /* \"#utility.yul\":911:917 */\n dup1\n /* \"#utility.yul\":919:925 */\n 0x00\n /* \"#utility.yul\":968:970 */\n 0x60\n /* \"#utility.yul\":956:965 */\n dup5\n /* \"#utility.yul\":947:954 */\n dup7\n /* \"#utility.yul\":943:966 */\n sub\n /* \"#utility.yul\":939:971 */\n slt\n /* \"#utility.yul\":936:938 */\n iszero\n tag_69\n jumpi\n /* \"#utility.yul\":984:985 */\n 0x00\n /* \"#utility.yul\":981:982 */\n dup1\n /* \"#utility.yul\":974:986 */\n revert\n /* \"#utility.yul\":936:938 */\n tag_69:\n /* \"#utility.yul\":1055:1056 */\n 0x00\n /* \"#utility.yul\":1044:1053 */\n dup5\n /* \"#utility.yul\":1040:1057 */\n add\n /* \"#utility.yul\":1027:1058 */\n calldataload\n /* \"#utility.yul\":1085:1103 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1077:1083 */\n dup2\n /* \"#utility.yul\":1074:1104 */\n gt\n /* \"#utility.yul\":1071:1073 */\n iszero\n tag_70\n jumpi\n /* \"#utility.yul\":1117:1118 */\n 0x00\n /* \"#utility.yul\":1114:1115 */\n dup1\n /* \"#utility.yul\":1107:1119 */\n revert\n /* \"#utility.yul\":1071:1073 */\n tag_70:\n /* \"#utility.yul\":1145:1208 */\n tag_71\n /* \"#utility.yul\":1200:1207 */\n dup7\n /* \"#utility.yul\":1191:1197 */\n dup3\n /* \"#utility.yul\":1180:1189 */\n dup8\n /* \"#utility.yul\":1176:1198 */\n add\n /* \"#utility.yul\":1145:1208 */\n tag_60\n jump\t// in\n tag_71:\n /* \"#utility.yul\":1135:1208 */\n swap4\n pop\n /* \"#utility.yul\":998:1218 */\n pop\n /* \"#utility.yul\":1285:1287 */\n 0x20\n /* \"#utility.yul\":1274:1283 */\n dup5\n /* \"#utility.yul\":1270:1288 */\n add\n /* \"#utility.yul\":1257:1289 */\n calldataload\n /* \"#utility.yul\":1316:1334 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1308:1314 */\n dup2\n /* \"#utility.yul\":1305:1335 */\n gt\n /* \"#utility.yul\":1302:1304 */\n iszero\n tag_72\n jumpi\n /* \"#utility.yul\":1348:1349 */\n 0x00\n /* \"#utility.yul\":1345:1346 */\n dup1\n /* \"#utility.yul\":1338:1350 */\n revert\n /* \"#utility.yul\":1302:1304 */\n tag_72:\n /* \"#utility.yul\":1376:1439 */\n tag_73\n /* \"#utility.yul\":1431:1438 */\n dup7\n /* \"#utility.yul\":1422:1428 */\n dup3\n /* \"#utility.yul\":1411:1420 */\n dup8\n /* \"#utility.yul\":1407:1429 */\n add\n /* \"#utility.yul\":1376:1439 */\n tag_60\n jump\t// in\n tag_73:\n /* \"#utility.yul\":1366:1439 */\n swap3\n pop\n /* \"#utility.yul\":1228:1449 */\n pop\n /* \"#utility.yul\":1516:1518 */\n 0x40\n /* \"#utility.yul\":1505:1514 */\n dup5\n /* \"#utility.yul\":1501:1519 */\n add\n /* \"#utility.yul\":1488:1520 */\n calldataload\n /* \"#utility.yul\":1547:1565 */\n 0xffffffffffffffff\n /* \"#utility.yul\":1539:1545 */\n dup2\n /* \"#utility.yul\":1536:1566 */\n gt\n /* \"#utility.yul\":1533:1535 */\n iszero\n tag_74\n jumpi\n /* \"#utility.yul\":1579:1580 */\n 0x00\n /* \"#utility.yul\":1576:1577 */\n dup1\n /* \"#utility.yul\":1569:1581 */\n revert\n /* \"#utility.yul\":1533:1535 */\n tag_74:\n /* \"#utility.yul\":1607:1670 */\n tag_75\n /* \"#utility.yul\":1662:1669 */\n dup7\n /* \"#utility.yul\":1653:1659 */\n dup3\n /* \"#utility.yul\":1642:1651 */\n dup8\n /* \"#utility.yul\":1638:1660 */\n add\n /* \"#utility.yul\":1607:1670 */\n tag_60\n jump\t// in\n tag_75:\n /* \"#utility.yul\":1597:1670 */\n swap2\n pop\n /* \"#utility.yul\":1459:1680 */\n pop\n /* \"#utility.yul\":926:1687 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":1693:1955 */\n tag_16:\n /* \"#utility.yul\":1752:1758 */\n 0x00\n /* \"#utility.yul\":1801:1803 */\n 0x20\n /* \"#utility.yul\":1789:1798 */\n dup3\n /* \"#utility.yul\":1780:1787 */\n dup5\n /* \"#utility.yul\":1776:1799 */\n sub\n /* \"#utility.yul\":1772:1804 */\n slt\n /* \"#utility.yul\":1769:1771 */\n iszero\n tag_77\n jumpi\n /* \"#utility.yul\":1817:1818 */\n 0x00\n /* \"#utility.yul\":1814:1815 */\n dup1\n /* \"#utility.yul\":1807:1819 */\n revert\n /* \"#utility.yul\":1769:1771 */\n tag_77:\n /* \"#utility.yul\":1860:1861 */\n 0x00\n /* \"#utility.yul\":1885:1938 */\n tag_78\n /* \"#utility.yul\":1930:1937 */\n dup5\n /* \"#utility.yul\":1921:1927 */\n dup3\n /* \"#utility.yul\":1910:1919 */\n dup6\n /* \"#utility.yul\":1906:1928 */\n add\n /* \"#utility.yul\":1885:1938 */\n tag_64\n jump\t// in\n tag_78:\n /* \"#utility.yul\":1875:1938 */\n swap2\n pop\n /* \"#utility.yul\":1831:1948 */\n pop\n /* \"#utility.yul\":1759:1955 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1961:2079 */\n tag_79:\n /* \"#utility.yul\":2048:2072 */\n tag_81\n /* \"#utility.yul\":2066:2071 */\n dup2\n /* \"#utility.yul\":2048:2072 */\n tag_82\n jump\t// in\n tag_81:\n /* \"#utility.yul\":2043:2046 */\n dup3\n /* \"#utility.yul\":2036:2073 */\n mstore\n /* \"#utility.yul\":2026:2079 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2085:2203 */\n tag_83:\n /* \"#utility.yul\":2172:2196 */\n tag_85\n /* \"#utility.yul\":2190:2195 */\n dup2\n /* \"#utility.yul\":2172:2196 */\n tag_86\n jump\t// in\n tag_85:\n /* \"#utility.yul\":2167:2170 */\n dup3\n /* \"#utility.yul\":2160:2197 */\n mstore\n /* \"#utility.yul\":2150:2203 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2209:2575 */\n tag_87:\n /* \"#utility.yul\":2351:2354 */\n 0x00\n /* \"#utility.yul\":2372:2439 */\n tag_89\n /* \"#utility.yul\":2436:2438 */\n 0x20\n /* \"#utility.yul\":2431:2434 */\n dup4\n /* \"#utility.yul\":2372:2439 */\n tag_90\n jump\t// in\n tag_89:\n /* \"#utility.yul\":2365:2439 */\n swap2\n pop\n /* \"#utility.yul\":2448:2541 */\n tag_91\n /* \"#utility.yul\":2537:2540 */\n dup3\n /* \"#utility.yul\":2448:2541 */\n tag_92\n jump\t// in\n tag_91:\n /* \"#utility.yul\":2566:2568 */\n 0x20\n /* \"#utility.yul\":2561:2564 */\n dup3\n /* \"#utility.yul\":2557:2569 */\n add\n /* \"#utility.yul\":2550:2569 */\n swap1\n pop\n /* \"#utility.yul\":2355:2575 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2581:2947 */\n tag_93:\n /* \"#utility.yul\":2723:2726 */\n 0x00\n /* \"#utility.yul\":2744:2811 */\n tag_95\n /* \"#utility.yul\":2808:2810 */\n 0x40\n /* \"#utility.yul\":2803:2806 */\n dup4\n /* \"#utility.yul\":2744:2811 */\n tag_90\n jump\t// in\n tag_95:\n /* \"#utility.yul\":2737:2811 */\n swap2\n pop\n /* \"#utility.yul\":2820:2913 */\n tag_96\n /* \"#utility.yul\":2909:2912 */\n dup3\n /* \"#utility.yul\":2820:2913 */\n tag_97\n jump\t// in\n tag_96:\n /* \"#utility.yul\":2938:2940 */\n 0x40\n /* \"#utility.yul\":2933:2936 */\n dup3\n /* \"#utility.yul\":2929:2941 */\n add\n /* \"#utility.yul\":2922:2941 */\n swap1\n pop\n /* \"#utility.yul\":2727:2947 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2953:3110 */\n tag_98:\n /* \"#utility.yul\":3058:3103 */\n tag_100\n /* \"#utility.yul\":3078:3102 */\n tag_101\n /* \"#utility.yul\":3096:3101 */\n dup3\n /* \"#utility.yul\":3078:3102 */\n tag_102\n jump\t// in\n tag_101:\n /* \"#utility.yul\":3058:3103 */\n tag_103\n jump\t// in\n tag_100:\n /* \"#utility.yul\":3053:3056 */\n dup3\n /* \"#utility.yul\":3046:3104 */\n mstore\n /* \"#utility.yul\":3036:3110 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3116:3372 */\n tag_32:\n /* \"#utility.yul\":3228:3231 */\n 0x00\n /* \"#utility.yul\":3243:3318 */\n tag_105\n /* \"#utility.yul\":3314:3317 */\n dup3\n /* \"#utility.yul\":3305:3311 */\n dup5\n /* \"#utility.yul\":3243:3318 */\n tag_98\n jump\t// in\n tag_105:\n /* \"#utility.yul\":3343:3345 */\n 0x20\n /* \"#utility.yul\":3338:3341 */\n dup3\n /* \"#utility.yul\":3334:3346 */\n add\n /* \"#utility.yul\":3327:3346 */\n swap2\n pop\n /* \"#utility.yul\":3363:3366 */\n dup2\n /* \"#utility.yul\":3356:3366 */\n swap1\n pop\n /* \"#utility.yul\":3232:3372 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3378:3600 */\n tag_13:\n /* \"#utility.yul\":3471:3475 */\n 0x00\n /* \"#utility.yul\":3509:3511 */\n 0x20\n /* \"#utility.yul\":3498:3507 */\n dup3\n /* \"#utility.yul\":3494:3512 */\n add\n /* \"#utility.yul\":3486:3512 */\n swap1\n pop\n /* \"#utility.yul\":3522:3593 */\n tag_107\n /* \"#utility.yul\":3590:3591 */\n 0x00\n /* \"#utility.yul\":3579:3588 */\n dup4\n /* \"#utility.yul\":3575:3592 */\n add\n /* \"#utility.yul\":3566:3572 */\n dup5\n /* \"#utility.yul\":3522:3593 */\n tag_79\n jump\t// in\n tag_107:\n /* \"#utility.yul\":3476:3600 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3606:3828 */\n tag_19:\n /* \"#utility.yul\":3699:3703 */\n 0x00\n /* \"#utility.yul\":3737:3739 */\n 0x20\n /* \"#utility.yul\":3726:3735 */\n dup3\n /* \"#utility.yul\":3722:3740 */\n add\n /* \"#utility.yul\":3714:3740 */\n swap1\n pop\n /* \"#utility.yul\":3750:3821 */\n tag_109\n /* \"#utility.yul\":3818:3819 */\n 0x00\n /* \"#utility.yul\":3807:3816 */\n dup4\n /* \"#utility.yul\":3803:3820 */\n add\n /* \"#utility.yul\":3794:3800 */\n dup5\n /* \"#utility.yul\":3750:3821 */\n tag_83\n jump\t// in\n tag_109:\n /* \"#utility.yul\":3704:3828 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3834:4253 */\n tag_23:\n /* \"#utility.yul\":4000:4004 */\n 0x00\n /* \"#utility.yul\":4038:4040 */\n 0x20\n /* \"#utility.yul\":4027:4036 */\n dup3\n /* \"#utility.yul\":4023:4041 */\n add\n /* \"#utility.yul\":4015:4041 */\n swap1\n pop\n /* \"#utility.yul\":4087:4096 */\n dup2\n /* \"#utility.yul\":4081:4085 */\n dup2\n /* \"#utility.yul\":4077:4097 */\n sub\n /* \"#utility.yul\":4073:4074 */\n 0x00\n /* \"#utility.yul\":4062:4071 */\n dup4\n /* \"#utility.yul\":4058:4075 */\n add\n /* \"#utility.yul\":4051:4098 */\n mstore\n /* \"#utility.yul\":4115:4246 */\n tag_111\n /* \"#utility.yul\":4241:4245 */\n dup2\n /* \"#utility.yul\":4115:4246 */\n tag_87\n jump\t// in\n tag_111:\n /* \"#utility.yul\":4107:4246 */\n swap1\n pop\n /* \"#utility.yul\":4005:4253 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4259:4678 */\n tag_29:\n /* \"#utility.yul\":4425:4429 */\n 0x00\n /* \"#utility.yul\":4463:4465 */\n 0x20\n /* \"#utility.yul\":4452:4461 */\n dup3\n /* \"#utility.yul\":4448:4466 */\n add\n /* \"#utility.yul\":4440:4466 */\n swap1\n pop\n /* \"#utility.yul\":4512:4521 */\n dup2\n /* \"#utility.yul\":4506:4510 */\n dup2\n /* \"#utility.yul\":4502:4522 */\n sub\n /* \"#utility.yul\":4498:4499 */\n 0x00\n /* \"#utility.yul\":4487:4496 */\n dup4\n /* \"#utility.yul\":4483:4500 */\n add\n /* \"#utility.yul\":4476:4523 */\n mstore\n /* \"#utility.yul\":4540:4671 */\n tag_113\n /* \"#utility.yul\":4666:4670 */\n dup2\n /* \"#utility.yul\":4540:4671 */\n tag_93\n jump\t// in\n tag_113:\n /* \"#utility.yul\":4532:4671 */\n swap1\n pop\n /* \"#utility.yul\":4430:4678 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4684:4813 */\n tag_56:\n /* \"#utility.yul\":4718:4724 */\n 0x00\n /* \"#utility.yul\":4745:4765 */\n tag_115\n tag_116\n jump\t// in\n tag_115:\n /* \"#utility.yul\":4735:4765 */\n swap1\n pop\n /* \"#utility.yul\":4774:4807 */\n tag_117\n /* \"#utility.yul\":4802:4806 */\n dup3\n /* \"#utility.yul\":4794:4800 */\n dup3\n /* \"#utility.yul\":4774:4807 */\n tag_118\n jump\t// in\n tag_117:\n /* \"#utility.yul\":4725:4813 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4819:4894 */\n tag_116:\n /* \"#utility.yul\":4852:4858 */\n 0x00\n /* \"#utility.yul\":4885:4887 */\n 0x40\n /* \"#utility.yul\":4879:4888 */\n mload\n /* \"#utility.yul\":4869:4888 */\n swap1\n pop\n /* \"#utility.yul\":4859:4894 */\n swap1\n jump\t// out\n /* \"#utility.yul\":4900:5208 */\n tag_55:\n /* \"#utility.yul\":4962:4966 */\n 0x00\n /* \"#utility.yul\":5052:5070 */\n 0xffffffffffffffff\n /* \"#utility.yul\":5044:5050 */\n dup3\n /* \"#utility.yul\":5041:5071 */\n gt\n /* \"#utility.yul\":5038:5040 */\n iszero\n tag_121\n jumpi\n /* \"#utility.yul\":5074:5092 */\n tag_122\n tag_123\n jump\t// in\n tag_122:\n /* \"#utility.yul\":5038:5040 */\n tag_121:\n /* \"#utility.yul\":5112:5141 */\n tag_124\n /* \"#utility.yul\":5134:5140 */\n dup3\n /* \"#utility.yul\":5112:5141 */\n tag_125\n jump\t// in\n tag_124:\n /* \"#utility.yul\":5104:5141 */\n swap1\n pop\n /* \"#utility.yul\":5196:5200 */\n 0x20\n /* \"#utility.yul\":5190:5194 */\n dup2\n /* \"#utility.yul\":5186:5201 */\n add\n /* \"#utility.yul\":5178:5201 */\n swap1\n pop\n /* \"#utility.yul\":4967:5208 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5214:5383 */\n tag_90:\n /* \"#utility.yul\":5298:5309 */\n 0x00\n /* \"#utility.yul\":5332:5338 */\n dup3\n /* \"#utility.yul\":5327:5330 */\n dup3\n /* \"#utility.yul\":5320:5339 */\n mstore\n /* \"#utility.yul\":5372:5376 */\n 0x20\n /* \"#utility.yul\":5367:5370 */\n dup3\n /* \"#utility.yul\":5363:5377 */\n add\n /* \"#utility.yul\":5348:5377 */\n swap1\n pop\n /* \"#utility.yul\":5310:5383 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5389:5485 */\n tag_82:\n /* \"#utility.yul\":5426:5433 */\n 0x00\n /* \"#utility.yul\":5455:5479 */\n tag_128\n /* \"#utility.yul\":5473:5478 */\n dup3\n /* \"#utility.yul\":5455:5479 */\n tag_129\n jump\t// in\n tag_128:\n /* \"#utility.yul\":5444:5479 */\n swap1\n pop\n /* \"#utility.yul\":5434:5485 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5491:5568 */\n tag_86:\n /* \"#utility.yul\":5528:5535 */\n 0x00\n /* \"#utility.yul\":5557:5562 */\n dup2\n /* \"#utility.yul\":5546:5562 */\n swap1\n pop\n /* \"#utility.yul\":5536:5568 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5574:5700 */\n tag_129:\n /* \"#utility.yul\":5611:5618 */\n 0x00\n /* \"#utility.yul\":5651:5693 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":5644:5649 */\n dup3\n /* \"#utility.yul\":5640:5694 */\n and\n /* \"#utility.yul\":5629:5694 */\n swap1\n pop\n /* \"#utility.yul\":5619:5700 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5706:5783 */\n tag_102:\n /* \"#utility.yul\":5743:5750 */\n 0x00\n /* \"#utility.yul\":5772:5777 */\n dup2\n /* \"#utility.yul\":5761:5777 */\n swap1\n pop\n /* \"#utility.yul\":5751:5783 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5789:5943 */\n tag_59:\n /* \"#utility.yul\":5873:5879 */\n dup3\n /* \"#utility.yul\":5868:5871 */\n dup2\n /* \"#utility.yul\":5863:5866 */\n dup4\n /* \"#utility.yul\":5850:5880 */\n calldatacopy\n /* \"#utility.yul\":5935:5936 */\n 0x00\n /* \"#utility.yul\":5926:5932 */\n dup4\n /* \"#utility.yul\":5921:5924 */\n dup4\n /* \"#utility.yul\":5917:5933 */\n add\n /* \"#utility.yul\":5910:5937 */\n mstore\n /* \"#utility.yul\":5840:5943 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5949:6269 */\n tag_40:\n /* \"#utility.yul\":5993:5999 */\n 0x00\n /* \"#utility.yul\":6030:6031 */\n 0x02\n /* \"#utility.yul\":6024:6028 */\n dup3\n /* \"#utility.yul\":6020:6032 */\n div\n /* \"#utility.yul\":6010:6032 */\n swap1\n pop\n /* \"#utility.yul\":6077:6078 */\n 0x01\n /* \"#utility.yul\":6071:6075 */\n dup3\n /* \"#utility.yul\":6067:6079 */\n and\n /* \"#utility.yul\":6098:6116 */\n dup1\n /* \"#utility.yul\":6088:6090 */\n tag_135\n jumpi\n /* \"#utility.yul\":6154:6158 */\n 0x7f\n /* \"#utility.yul\":6146:6152 */\n dup3\n /* \"#utility.yul\":6142:6159 */\n and\n /* \"#utility.yul\":6132:6159 */\n swap2\n pop\n /* \"#utility.yul\":6088:6090 */\n tag_135:\n /* \"#utility.yul\":6216:6218 */\n 0x20\n /* \"#utility.yul\":6208:6214 */\n dup3\n /* \"#utility.yul\":6205:6219 */\n lt\n /* \"#utility.yul\":6185:6203 */\n dup2\n /* \"#utility.yul\":6182:6220 */\n eq\n /* \"#utility.yul\":6179:6181 */\n iszero\n tag_136\n jumpi\n /* \"#utility.yul\":6235:6253 */\n tag_137\n tag_138\n jump\t// in\n tag_137:\n /* \"#utility.yul\":6179:6181 */\n tag_136:\n /* \"#utility.yul\":6000:6269 */\n pop\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6275:6556 */\n tag_118:\n /* \"#utility.yul\":6358:6385 */\n tag_140\n /* \"#utility.yul\":6380:6384 */\n dup3\n /* \"#utility.yul\":6358:6385 */\n tag_125\n jump\t// in\n tag_140:\n /* \"#utility.yul\":6350:6356 */\n dup2\n /* \"#utility.yul\":6346:6386 */\n add\n /* \"#utility.yul\":6488:6494 */\n dup2\n /* \"#utility.yul\":6476:6486 */\n dup2\n /* \"#utility.yul\":6473:6495 */\n lt\n /* \"#utility.yul\":6452:6470 */\n 0xffffffffffffffff\n /* \"#utility.yul\":6440:6450 */\n dup3\n /* \"#utility.yul\":6437:6471 */\n gt\n /* \"#utility.yul\":6434:6496 */\n or\n /* \"#utility.yul\":6431:6433 */\n iszero\n tag_141\n jumpi\n /* \"#utility.yul\":6499:6517 */\n tag_142\n tag_123\n jump\t// in\n tag_142:\n /* \"#utility.yul\":6431:6433 */\n tag_141:\n /* \"#utility.yul\":6539:6549 */\n dup1\n /* \"#utility.yul\":6535:6537 */\n 0x40\n /* \"#utility.yul\":6528:6550 */\n mstore\n /* \"#utility.yul\":6318:6556 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6562:6641 */\n tag_103:\n /* \"#utility.yul\":6601:6608 */\n 0x00\n /* \"#utility.yul\":6630:6635 */\n dup2\n /* \"#utility.yul\":6619:6635 */\n swap1\n pop\n /* \"#utility.yul\":6609:6641 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":6647:6827 */\n tag_138:\n /* \"#utility.yul\":6695:6772 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6692:6693 */\n 0x00\n /* \"#utility.yul\":6685:6773 */\n mstore\n /* \"#utility.yul\":6792:6796 */\n 0x22\n /* \"#utility.yul\":6789:6790 */\n 0x04\n /* \"#utility.yul\":6782:6797 */\n mstore\n /* \"#utility.yul\":6816:6820 */\n 0x24\n /* \"#utility.yul\":6813:6814 */\n 0x00\n /* \"#utility.yul\":6806:6821 */\n revert\n /* \"#utility.yul\":6833:7013 */\n tag_123:\n /* \"#utility.yul\":6881:6958 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6878:6879 */\n 0x00\n /* \"#utility.yul\":6871:6959 */\n mstore\n /* \"#utility.yul\":6978:6982 */\n 0x41\n /* \"#utility.yul\":6975:6976 */\n 0x04\n /* \"#utility.yul\":6968:6983 */\n mstore\n /* \"#utility.yul\":7002:7006 */\n 0x24\n /* \"#utility.yul\":6999:7000 */\n 0x00\n /* \"#utility.yul\":6992:7007 */\n revert\n /* \"#utility.yul\":7019:7121 */\n tag_125:\n /* \"#utility.yul\":7060:7066 */\n 0x00\n /* \"#utility.yul\":7111:7113 */\n 0x1f\n /* \"#utility.yul\":7107:7114 */\n not\n /* \"#utility.yul\":7102:7104 */\n 0x1f\n /* \"#utility.yul\":7095:7100 */\n dup4\n /* \"#utility.yul\":7091:7105 */\n add\n /* \"#utility.yul\":7087:7115 */\n and\n /* \"#utility.yul\":7077:7115 */\n swap1\n pop\n /* \"#utility.yul\":7067:7121 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7127:7309 */\n tag_92:\n /* \"#utility.yul\":7267:7301 */\n 0x446562657320706f6e657220656c206e6f6d62726520616c20706f6b656d6f6e\n /* \"#utility.yul\":7263:7264 */\n 0x00\n /* \"#utility.yul\":7255:7261 */\n dup3\n /* \"#utility.yul\":7251:7265 */\n add\n /* \"#utility.yul\":7244:7302 */\n mstore\n /* \"#utility.yul\":7233:7309 */\n pop\n jump\t// out\n /* \"#utility.yul\":7315:7566 */\n tag_97:\n /* \"#utility.yul\":7455:7489 */\n 0x4e6f207469656e6573207065726d69736f732070617261206361707475726172\n /* \"#utility.yul\":7451:7452 */\n 0x00\n /* \"#utility.yul\":7443:7449 */\n dup3\n /* \"#utility.yul\":7439:7453 */\n add\n /* \"#utility.yul\":7432:7490 */\n mstore\n /* \"#utility.yul\":7524:7558 */\n 0x206573746f7320706f6b656d6f6e2070617261206573746120506f6b65646578\n /* \"#utility.yul\":7519:7521 */\n 0x20\n /* \"#utility.yul\":7511:7517 */\n dup3\n /* \"#utility.yul\":7507:7522 */\n add\n /* \"#utility.yul\":7500:7559 */\n mstore\n /* \"#utility.yul\":7421:7566 */\n pop\n jump\t// out\n /* \"#utility.yul\":7572:7694 */\n tag_67:\n /* \"#utility.yul\":7645:7669 */\n tag_150\n /* \"#utility.yul\":7663:7668 */\n dup2\n /* \"#utility.yul\":7645:7669 */\n tag_102\n jump\t// in\n tag_150:\n /* \"#utility.yul\":7638:7643 */\n dup2\n /* \"#utility.yul\":7635:7670 */\n eq\n /* \"#utility.yul\":7625:7627 */\n tag_151\n jumpi\n /* \"#utility.yul\":7684:7685 */\n 0x00\n /* \"#utility.yul\":7681:7682 */\n dup1\n /* \"#utility.yul\":7674:7686 */\n revert\n /* \"#utility.yul\":7625:7627 */\n tag_151:\n /* \"#utility.yul\":7615:7694 */\n pop\n jump\t// out\n\n auxdata: 0xa2646970667358221220d975eb85e4365f4bfeda6a7949dc3db70dffdec7de81b0a670971a534a472d7f64736f6c63430008040033\n}\n",
"bytecode": {
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610819806100616000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806357fb6b9c146100465780638da5cb5b14610062578063bda0284214610080575b600080fd5b610060600480360381019061005b91906103f0565b6100b0565b005b61006a610146565b6040516100779190610546565b60405180910390f35b61009a60048036038101906100959190610487565b61016c565b6040516100a79190610561565b60405180910390f35b6040518060400160405280600181526020017f20000000000000000000000000000000000000000000000000000000000000008152508051906020012083805190602001201415610136576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161012d9061057c565b60405180910390fd5b61014183838361022c565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146101fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f59061059c565b60405180910390fd5b8160405160200161020f919061052b565b604051602081830303815290604052805190602001209050919050565b60006040518060600160405280858152602001848152602001838152509080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001908051906020019061028e9291906102d0565b5060208201518160010190805190602001906102ab9291906102d0565b5060408201518160020190805190602001906102c89291906102d0565b505050505050565b8280546102dc90610678565b90600052602060002090601f0160209004810192826102fe5760008555610345565b82601f1061031757805160ff1916838001178555610345565b82800160010185558215610345579182015b82811115610344578251825591602001919060010190610329565b5b5090506103529190610356565b5090565b5b8082111561036f576000816000905550600101610357565b5090565b6000610386610381846105e1565b6105bc565b90508281526020810184848401111561039e57600080fd5b6103a9848285610669565b509392505050565b600082601f8301126103c257600080fd5b81356103d2848260208601610373565b91505092915050565b6000813590506103ea816107cc565b92915050565b60008060006060848603121561040557600080fd5b600084013567ffffffffffffffff81111561041f57600080fd5b61042b868287016103b1565b935050602084013567ffffffffffffffff81111561044857600080fd5b610454868287016103b1565b925050604084013567ffffffffffffffff81111561047157600080fd5b61047d868287016103b1565b9150509250925092565b60006020828403121561049957600080fd5b60006104a7848285016103db565b91505092915050565b6104b981610623565b82525050565b6104c881610635565b82525050565b60006104db602083610612565b91506104e682610754565b602082019050919050565b60006104fe604083610612565b91506105098261077d565b604082019050919050565b6105256105208261065f565b6106db565b82525050565b60006105378284610514565b60208201915081905092915050565b600060208201905061055b60008301846104b0565b92915050565b600060208201905061057660008301846104bf565b92915050565b60006020820190508181036000830152610595816104ce565b9050919050565b600060208201905081810360008301526105b5816104f1565b9050919050565b60006105c66105d7565b90506105d282826106aa565b919050565b6000604051905090565b600067ffffffffffffffff8211156105fc576105fb610714565b5b61060582610743565b9050602081019050919050565b600082825260208201905092915050565b600061062e8261063f565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b6000600282049050600182168061069057607f821691505b602082108114156106a4576106a36106e5565b5b50919050565b6106b382610743565b810181811067ffffffffffffffff821117156106d2576106d1610714565b5b80604052505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f446562657320706f6e657220656c206e6f6d62726520616c20706f6b656d6f6e600082015250565b7f4e6f207469656e6573207065726d69736f73207061726120636170747572617260008201527f206573746f7320706f6b656d6f6e2070617261206573746120506f6b65646578602082015250565b6107d58161065f565b81146107e057600080fd5b5056fea2646970667358221220d975eb85e4365f4bfeda6a7949dc3db70dffdec7de81b0a670971a534a472d7f64736f6c63430008040033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x819 DUP1 PUSH2 0x61 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x57FB6B9C EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0xBDA02842 EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x3F0 JUMP JUMPDEST PUSH2 0xB0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0x146 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x546 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x95 SWAP2 SWAP1 PUSH2 0x487 JUMP JUMPDEST PUSH2 0x16C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA7 SWAP2 SWAP1 PUSH2 0x561 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x2000000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP4 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ ISZERO PUSH2 0x136 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12D SWAP1 PUSH2 0x57C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x141 DUP4 DUP4 DUP4 PUSH2 0x22C JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1FE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F5 SWAP1 PUSH2 0x59C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x20F SWAP2 SWAP1 PUSH2 0x52B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x28E SWAP3 SWAP2 SWAP1 PUSH2 0x2D0 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x2AB SWAP3 SWAP2 SWAP1 PUSH2 0x2D0 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x2C8 SWAP3 SWAP2 SWAP1 PUSH2 0x2D0 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x2DC SWAP1 PUSH2 0x678 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x2FE JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x345 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x317 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x345 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x345 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x344 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x329 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x352 SWAP2 SWAP1 PUSH2 0x356 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x36F JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x357 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x386 PUSH2 0x381 DUP5 PUSH2 0x5E1 JUMP JUMPDEST PUSH2 0x5BC JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x39E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3A9 DUP5 DUP3 DUP6 PUSH2 0x669 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x3D2 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x373 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3EA DUP2 PUSH2 0x7CC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x405 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x41F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x42B DUP7 DUP3 DUP8 ADD PUSH2 0x3B1 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x448 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x454 DUP7 DUP3 DUP8 ADD PUSH2 0x3B1 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x471 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x47D DUP7 DUP3 DUP8 ADD PUSH2 0x3B1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x499 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x4A7 DUP5 DUP3 DUP6 ADD PUSH2 0x3DB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x4B9 DUP2 PUSH2 0x623 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x4C8 DUP2 PUSH2 0x635 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4DB PUSH1 0x20 DUP4 PUSH2 0x612 JUMP JUMPDEST SWAP2 POP PUSH2 0x4E6 DUP3 PUSH2 0x754 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4FE PUSH1 0x40 DUP4 PUSH2 0x612 JUMP JUMPDEST SWAP2 POP PUSH2 0x509 DUP3 PUSH2 0x77D JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x525 PUSH2 0x520 DUP3 PUSH2 0x65F JUMP JUMPDEST PUSH2 0x6DB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x537 DUP3 DUP5 PUSH2 0x514 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x55B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x4B0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x576 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x4BF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x595 DUP2 PUSH2 0x4CE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x5B5 DUP2 PUSH2 0x4F1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5C6 PUSH2 0x5D7 JUMP JUMPDEST SWAP1 POP PUSH2 0x5D2 DUP3 DUP3 PUSH2 0x6AA JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x5FC JUMPI PUSH2 0x5FB PUSH2 0x714 JUMP JUMPDEST JUMPDEST PUSH2 0x605 DUP3 PUSH2 0x743 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD 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 PUSH2 0x62E DUP3 PUSH2 0x63F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x690 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x6A4 JUMPI PUSH2 0x6A3 PUSH2 0x6E5 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6B3 DUP3 PUSH2 0x743 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x6D2 JUMPI PUSH2 0x6D1 PUSH2 0x714 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x446562657320706F6E657220656C206E6F6D62726520616C20706F6B656D6F6E PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4E6F207469656E6573207065726D69736F732070617261206361707475726172 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206573746F7320706F6B656D6F6E2070617261206573746120506F6B65646578 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x7D5 DUP2 PUSH2 0x65F JUMP JUMPDEST DUP2 EQ PUSH2 0x7E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD9 PUSH22 0xEB85E4365F4BFEDA6A7949DC3DB70DFFDEC7DE81B0A6 PUSH17 0x971A534A472D7F64736F6C634300080400 CALLER ",
"sourceMap": "545:1005:0:-:0;;;732:52;;;;;;;;;;766:10;758:5;;:18;;;;;;;;;;;;;;;;;;545:1005;;;;;;"
},
"deployedBytecode": {
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:7697:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "91:261:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "101:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "168:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "126:41:1"
},
"nodeType": "YulFunctionCall",
"src": "126:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nodeType": "YulIdentifier",
"src": "110:15:1"
},
"nodeType": "YulFunctionCall",
"src": "110:66:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "101:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "192:5:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "199:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "185:6:1"
},
"nodeType": "YulFunctionCall",
"src": "185:21:1"
},
"nodeType": "YulExpressionStatement",
"src": "185:21:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "215:27:1",
"value": {
"arguments": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "230:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "237:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "226:3:1"
},
"nodeType": "YulFunctionCall",
"src": "226:16:1"
},
"variables": [
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "219:3:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "280:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "289:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "292:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "282:6:1"
},
"nodeType": "YulFunctionCall",
"src": "282:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "282:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "261:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "266:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "257:3:1"
},
"nodeType": "YulFunctionCall",
"src": "257:16:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "275:3:1"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "254:2:1"
},
"nodeType": "YulFunctionCall",
"src": "254:25:1"
},
"nodeType": "YulIf",
"src": "251:2:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "329:3:1"
},
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "334:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "339:6:1"
}
],
"functionName": {
"name": "copy_calldata_to_memory",
"nodeType": "YulIdentifier",
"src": "305:23:1"
},
"nodeType": "YulFunctionCall",
"src": "305:41:1"
},
"nodeType": "YulExpressionStatement",
"src": "305:41:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "64:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "69:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "77:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "85:5:1",
"type": ""
}
],
"src": "7:345:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "434:211:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "483:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "492:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "495:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "485:6:1"
},
"nodeType": "YulFunctionCall",
"src": "485:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "485:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "462:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "470:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "458:3:1"
},
"nodeType": "YulFunctionCall",
"src": "458:17:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "477:3:1"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "454:3:1"
},
"nodeType": "YulFunctionCall",
"src": "454:27:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "447:6:1"
},
"nodeType": "YulFunctionCall",
"src": "447:35:1"
},
"nodeType": "YulIf",
"src": "444:2:1"
},
{
"nodeType": "YulVariableDeclaration",
"src": "508:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "535:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "522:12:1"
},
"nodeType": "YulFunctionCall",
"src": "522:20:1"
},
"variables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "512:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "551:88:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "612:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "620:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "608:3:1"
},
"nodeType": "YulFunctionCall",
"src": "608:17:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "627:6:1"
},
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "635:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "560:47:1"
},
"nodeType": "YulFunctionCall",
"src": "560:79:1"
},
"variableNames": [
{
"name": "array",
"nodeType": "YulIdentifier",
"src": "551:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "412:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "420:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nodeType": "YulTypedName",
"src": "428:5:1",
"type": ""
}
],
"src": "372:273:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "703:87:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "713:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "735:6:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "722:12:1"
},
"nodeType": "YulFunctionCall",
"src": "722:20:1"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "713:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "778:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "751:26:1"
},
"nodeType": "YulFunctionCall",
"src": "751:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "751:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "681:6:1",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "689:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "697:5:1",
"type": ""
}
],
"src": "651:139:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "926:761:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "972:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "981:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "984:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "974:6:1"
},
"nodeType": "YulFunctionCall",
"src": "974:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "974:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "947:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "956:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "943:3:1"
},
"nodeType": "YulFunctionCall",
"src": "943:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "968:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "939:3:1"
},
"nodeType": "YulFunctionCall",
"src": "939:32:1"
},
"nodeType": "YulIf",
"src": "936:2:1"
},
{
"nodeType": "YulBlock",
"src": "998:220:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1013:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1044:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1055:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1040:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1040:17:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1027:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1027:31:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1017:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1105:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1114:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1117:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1107:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1107:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1107:12:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1077:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1085:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1074:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1074:30:1"
},
"nodeType": "YulIf",
"src": "1071:2:1"
},
{
"nodeType": "YulAssignment",
"src": "1135:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1180:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1191:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1176:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1176:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1200:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1145:30:1"
},
"nodeType": "YulFunctionCall",
"src": "1145:63:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1135:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1228:221:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1243:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1274:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1285:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1270:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1270:18:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1257:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1257:32:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1247:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1336:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1345:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1348:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1338:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1338:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1338:12:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1308:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1316:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1305:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1305:30:1"
},
"nodeType": "YulIf",
"src": "1302:2:1"
},
{
"nodeType": "YulAssignment",
"src": "1366:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1411:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1422:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1407:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1407:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1431:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1376:30:1"
},
"nodeType": "YulFunctionCall",
"src": "1376:63:1"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "1366:6:1"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "1459:221:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1474:46:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1505:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1516:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1501:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1501:18:1"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "1488:12:1"
},
"nodeType": "YulFunctionCall",
"src": "1488:32:1"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1478:6:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "1567:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1576:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1579:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1569:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1569:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1569:12:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1539:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1547:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "1536:2:1"
},
"nodeType": "YulFunctionCall",
"src": "1536:30:1"
},
"nodeType": "YulIf",
"src": "1533:2:1"
},
{
"nodeType": "YulAssignment",
"src": "1597:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1642:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1653:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1638:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1638:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1662:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nodeType": "YulIdentifier",
"src": "1607:30:1"
},
"nodeType": "YulFunctionCall",
"src": "1607:63:1"
},
"variableNames": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "1597:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "880:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "891:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "903:6:1",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "911:6:1",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "919:6:1",
"type": ""
}
],
"src": "796:891:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1759:196:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "1805:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1814:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1817:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "1807:6:1"
},
"nodeType": "YulFunctionCall",
"src": "1807:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "1807:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1780:7:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1789:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "1776:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1776:23:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1801:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "1772:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1772:32:1"
},
"nodeType": "YulIf",
"src": "1769:2:1"
},
{
"nodeType": "YulBlock",
"src": "1831:117:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1846:15:1",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1860:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1850:6:1",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1875:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1910:9:1"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1921:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1906:3:1"
},
"nodeType": "YulFunctionCall",
"src": "1906:22:1"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1930:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "1885:20:1"
},
"nodeType": "YulFunctionCall",
"src": "1885:53:1"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1875:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1729:9:1",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "1740:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1752:6:1",
"type": ""
}
],
"src": "1693:262:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2026:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2043:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2066:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "2048:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2048:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2036:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2036:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2036:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2014:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2021:3:1",
"type": ""
}
],
"src": "1961:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2150:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2167:3:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2190:5:1"
}
],
"functionName": {
"name": "cleanup_t_bytes32",
"nodeType": "YulIdentifier",
"src": "2172:17:1"
},
"nodeType": "YulFunctionCall",
"src": "2172:24:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2160:6:1"
},
"nodeType": "YulFunctionCall",
"src": "2160:37:1"
},
"nodeType": "YulExpressionStatement",
"src": "2160:37:1"
}
]
},
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2138:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2145:3:1",
"type": ""
}
],
"src": "2085:118:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2355:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2365:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2431:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2436:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2372:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2372:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2365:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2537:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292",
"nodeType": "YulIdentifier",
"src": "2448:88:1"
},
"nodeType": "YulFunctionCall",
"src": "2448:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "2448:93:1"
},
{
"nodeType": "YulAssignment",
"src": "2550:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2561:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2566:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2557:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2557:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2550:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2343:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2351:3:1",
"type": ""
}
],
"src": "2209:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2727:220:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2737:74:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2803:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2808:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "2744:58:1"
},
"nodeType": "YulFunctionCall",
"src": "2744:67:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2737:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2909:3:1"
}
],
"functionName": {
"name": "store_literal_in_memory_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67",
"nodeType": "YulIdentifier",
"src": "2820:88:1"
},
"nodeType": "YulFunctionCall",
"src": "2820:93:1"
},
"nodeType": "YulExpressionStatement",
"src": "2820:93:1"
},
{
"nodeType": "YulAssignment",
"src": "2922:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2933:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2938:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2929:3:1"
},
"nodeType": "YulFunctionCall",
"src": "2929:12:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "2922:3:1"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2715:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "2723:3:1",
"type": ""
}
],
"src": "2581:366:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3036:74:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3053:3:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3096:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "3078:17:1"
},
"nodeType": "YulFunctionCall",
"src": "3078:24:1"
}
],
"functionName": {
"name": "leftAlign_t_uint256",
"nodeType": "YulIdentifier",
"src": "3058:19:1"
},
"nodeType": "YulFunctionCall",
"src": "3058:45:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "3046:6:1"
},
"nodeType": "YulFunctionCall",
"src": "3046:58:1"
},
"nodeType": "YulExpressionStatement",
"src": "3046:58:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3024:5:1",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3031:3:1",
"type": ""
}
],
"src": "2953:157:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3232:140:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3305:6:1"
},
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3314:3:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack",
"nodeType": "YulIdentifier",
"src": "3243:61:1"
},
"nodeType": "YulFunctionCall",
"src": "3243:75:1"
},
"nodeType": "YulExpressionStatement",
"src": "3243:75:1"
},
{
"nodeType": "YulAssignment",
"src": "3327:19:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3338:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3343:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3334:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3334:12:1"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3327:3:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "3356:10:1",
"value": {
"name": "pos",
"nodeType": "YulIdentifier",
"src": "3363:3:1"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "3356:3:1"
}
]
}
]
},
"name": "abi_encode_tuple_packed_t_uint256__to_t_uint256__nonPadded_inplace_fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "3211:3:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3217:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3228:3:1",
"type": ""
}
],
"src": "3116:256:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3476:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3486:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3498:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3509:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3494:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3494:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3486:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3566:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3579:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3590:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3575:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3575:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "3522:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3522:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "3522:71:1"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3448:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3460:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3471:4:1",
"type": ""
}
],
"src": "3378:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3704:124:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3714:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3726:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3737:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3722:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3722:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "3714:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3794:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3807:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3818:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3803:3:1"
},
"nodeType": "YulFunctionCall",
"src": "3803:17:1"
}
],
"functionName": {
"name": "abi_encode_t_bytes32_to_t_bytes32_fromStack",
"nodeType": "YulIdentifier",
"src": "3750:43:1"
},
"nodeType": "YulFunctionCall",
"src": "3750:71:1"
},
"nodeType": "YulExpressionStatement",
"src": "3750:71:1"
}
]
},
"name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3676:9:1",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3688:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "3699:4:1",
"type": ""
}
],
"src": "3606:222:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4005:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4015:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4027:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4038:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4023:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4023:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4015:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4062:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4073:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4058:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4058:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4081:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4087:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4077:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4077:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4051:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4051:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "4051:47:1"
},
{
"nodeType": "YulAssignment",
"src": "4107:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4241:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4115:124:1"
},
"nodeType": "YulFunctionCall",
"src": "4115:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4107:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3985:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4000:4:1",
"type": ""
}
],
"src": "3834:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4430:248:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4440:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4452:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4463:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4448:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4448:18:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4440:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4487:9:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4498:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4483:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4483:17:1"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4506:4:1"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4512:9:1"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4502:3:1"
},
"nodeType": "YulFunctionCall",
"src": "4502:20:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4476:6:1"
},
"nodeType": "YulFunctionCall",
"src": "4476:47:1"
},
"nodeType": "YulExpressionStatement",
"src": "4476:47:1"
},
{
"nodeType": "YulAssignment",
"src": "4532:139:1",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4666:4:1"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4540:124:1"
},
"nodeType": "YulFunctionCall",
"src": "4540:131:1"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4532:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4410:9:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4425:4:1",
"type": ""
}
],
"src": "4259:419:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4725:88:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4735:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nodeType": "YulIdentifier",
"src": "4745:18:1"
},
"nodeType": "YulFunctionCall",
"src": "4745:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4735:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4794:6:1"
},
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "4802:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nodeType": "YulIdentifier",
"src": "4774:19:1"
},
"nodeType": "YulFunctionCall",
"src": "4774:33:1"
},
"nodeType": "YulExpressionStatement",
"src": "4774:33:1"
}
]
},
"name": "allocate_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "4709:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4718:6:1",
"type": ""
}
],
"src": "4684:129:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4859:35:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4869:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4885:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "4879:5:1"
},
"nodeType": "YulFunctionCall",
"src": "4879:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4869:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4852:6:1",
"type": ""
}
],
"src": "4819:75:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4967:241:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5072:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "5074:16:1"
},
"nodeType": "YulFunctionCall",
"src": "5074:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "5074:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5044:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5052:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "5041:2:1"
},
"nodeType": "YulFunctionCall",
"src": "5041:30:1"
},
"nodeType": "YulIf",
"src": "5038:2:1"
},
{
"nodeType": "YulAssignment",
"src": "5104:37:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5134:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "5112:21:1"
},
"nodeType": "YulFunctionCall",
"src": "5112:29:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "5104:4:1"
}
]
},
{
"nodeType": "YulAssignment",
"src": "5178:23:1",
"value": {
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "5190:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5196:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5186:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5186:15:1"
},
"variableNames": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "5178:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4951:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nodeType": "YulTypedName",
"src": "4962:4:1",
"type": ""
}
],
"src": "4900:308:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5310:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5327:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5332:6:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5320:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5320:19:1"
},
"nodeType": "YulExpressionStatement",
"src": "5320:19:1"
},
{
"nodeType": "YulAssignment",
"src": "5348:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "5367:3:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5372:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5363:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5363:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "5348:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "5282:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5287:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "5298:11:1",
"type": ""
}
],
"src": "5214:169:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5434:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5444:35:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5473:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "5455:17:1"
},
"nodeType": "YulFunctionCall",
"src": "5455:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5444:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5416:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5426:7:1",
"type": ""
}
],
"src": "5389:96:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5536:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5546:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "5557:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5546:7:1"
}
]
}
]
},
"name": "cleanup_t_bytes32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5518:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5528:7:1",
"type": ""
}
],
"src": "5491:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5619:81:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5629:65:1",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5644:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5651:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "5640:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5640:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5629:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5601:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5611:7:1",
"type": ""
}
],
"src": "5574:126:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5751:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5761:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "5772:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5761:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5733:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5743:7:1",
"type": ""
}
],
"src": "5706:77:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5840:103:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5863:3:1"
},
{
"name": "src",
"nodeType": "YulIdentifier",
"src": "5868:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5873:6:1"
}
],
"functionName": {
"name": "calldatacopy",
"nodeType": "YulIdentifier",
"src": "5850:12:1"
},
"nodeType": "YulFunctionCall",
"src": "5850:30:1"
},
"nodeType": "YulExpressionStatement",
"src": "5850:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nodeType": "YulIdentifier",
"src": "5921:3:1"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "5926:6:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5917:3:1"
},
"nodeType": "YulFunctionCall",
"src": "5917:16:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5935:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "5910:6:1"
},
"nodeType": "YulFunctionCall",
"src": "5910:27:1"
},
"nodeType": "YulExpressionStatement",
"src": "5910:27:1"
}
]
},
"name": "copy_calldata_to_memory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nodeType": "YulTypedName",
"src": "5822:3:1",
"type": ""
},
{
"name": "dst",
"nodeType": "YulTypedName",
"src": "5827:3:1",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5832:6:1",
"type": ""
}
],
"src": "5789:154:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6000:269:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6010:22:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "6024:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6030:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nodeType": "YulIdentifier",
"src": "6020:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6020:12:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6010:6:1"
}
]
},
{
"nodeType": "YulVariableDeclaration",
"src": "6041:38:1",
"value": {
"arguments": [
{
"name": "data",
"nodeType": "YulIdentifier",
"src": "6071:4:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6077:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6067:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6067:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulTypedName",
"src": "6045:18:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6118:51:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6132:27:1",
"value": {
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6146:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6154:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "6142:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6142:17:1"
},
"variableNames": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6132:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "6098:18:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "6091:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6091:26:1"
},
"nodeType": "YulIf",
"src": "6088:2:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6221:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nodeType": "YulIdentifier",
"src": "6235:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6235:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6235:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nodeType": "YulIdentifier",
"src": "6185:18:1"
},
{
"arguments": [
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "6208:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6216:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6205:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6205:14:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "6182:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6182:38:1"
},
"nodeType": "YulIf",
"src": "6179:2:1"
}
]
},
"name": "extract_byte_array_length",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nodeType": "YulTypedName",
"src": "5984:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nodeType": "YulTypedName",
"src": "5993:6:1",
"type": ""
}
],
"src": "5949:320:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6318:238:1",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6328:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6350:6:1"
},
{
"arguments": [
{
"name": "size",
"nodeType": "YulIdentifier",
"src": "6380:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nodeType": "YulIdentifier",
"src": "6358:21:1"
},
"nodeType": "YulFunctionCall",
"src": "6358:27:1"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6346:3:1"
},
"nodeType": "YulFunctionCall",
"src": "6346:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nodeType": "YulTypedName",
"src": "6332:10:1",
"type": ""
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6497:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nodeType": "YulIdentifier",
"src": "6499:16:1"
},
"nodeType": "YulFunctionCall",
"src": "6499:18:1"
},
"nodeType": "YulExpressionStatement",
"src": "6499:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "6440:10:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6452:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6437:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6437:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "6476:10:1"
},
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6488:6:1"
}
],
"functionName": {
"name": "lt",
"nodeType": "YulIdentifier",
"src": "6473:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6473:22:1"
}
],
"functionName": {
"name": "or",
"nodeType": "YulIdentifier",
"src": "6434:2:1"
},
"nodeType": "YulFunctionCall",
"src": "6434:62:1"
},
"nodeType": "YulIf",
"src": "6431:2:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6535:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nodeType": "YulIdentifier",
"src": "6539:10:1"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6528:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6528:22:1"
},
"nodeType": "YulExpressionStatement",
"src": "6528:22:1"
}
]
},
"name": "finalize_allocation",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "6304:6:1",
"type": ""
},
{
"name": "size",
"nodeType": "YulTypedName",
"src": "6312:4:1",
"type": ""
}
],
"src": "6275:281:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6609:32:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6619:16:1",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "6630:5:1"
},
"variableNames": [
{
"name": "aligned",
"nodeType": "YulIdentifier",
"src": "6619:7:1"
}
]
}
]
},
"name": "leftAlign_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "6591:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "aligned",
"nodeType": "YulTypedName",
"src": "6601:7:1",
"type": ""
}
],
"src": "6562:79:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6675:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6692:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6695:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6685:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6685:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "6685:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6789:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6792:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6782:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6782:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6782:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6813:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6816:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6806:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6806:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6806:15:1"
}
]
},
"name": "panic_error_0x22",
"nodeType": "YulFunctionDefinition",
"src": "6647:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6861:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6878:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6881:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6871:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6871:88:1"
},
"nodeType": "YulExpressionStatement",
"src": "6871:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6975:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6978:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6968:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6968:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6968:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6999:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7002:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6992:6:1"
},
"nodeType": "YulFunctionCall",
"src": "6992:15:1"
},
"nodeType": "YulExpressionStatement",
"src": "6992:15:1"
}
]
},
"name": "panic_error_0x41",
"nodeType": "YulFunctionDefinition",
"src": "6833:180:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7067:54:1",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7077:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7095:5:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7102:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7091:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7091:14:1"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7111:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "7107:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7107:7:1"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "7087:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7087:28:1"
},
"variableNames": [
{
"name": "result",
"nodeType": "YulIdentifier",
"src": "7077:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7050:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nodeType": "YulTypedName",
"src": "7060:6:1",
"type": ""
}
],
"src": "7019:102:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7233:76:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7255:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7263:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7251:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7251:14:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "7267:34:1",
"type": "",
"value": "Debes poner el nombre al pokemon"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7244:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7244:58:1"
},
"nodeType": "YulExpressionStatement",
"src": "7244:58:1"
}
]
},
"name": "store_literal_in_memory_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "7225:6:1",
"type": ""
}
],
"src": "7127:182:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7421:145:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7443:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7451:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7439:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7439:14:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "7455:34:1",
"type": "",
"value": "No tienes permisos para capturar"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7432:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7432:58:1"
},
"nodeType": "YulExpressionStatement",
"src": "7432:58:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7511:6:1"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7519:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7507:3:1"
},
"nodeType": "YulFunctionCall",
"src": "7507:15:1"
},
{
"kind": "string",
"nodeType": "YulLiteral",
"src": "7524:34:1",
"type": "",
"value": " estos pokemon para esta Pokedex"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7500:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7500:59:1"
},
"nodeType": "YulExpressionStatement",
"src": "7500:59:1"
}
]
},
"name": "store_literal_in_memory_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "7413:6:1",
"type": ""
}
],
"src": "7315:251:1"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7615:79:1",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "7672:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7681:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7684:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "7674:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7674:12:1"
},
"nodeType": "YulExpressionStatement",
"src": "7674:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7638:5:1"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "7663:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "7645:17:1"
},
"nodeType": "YulFunctionCall",
"src": "7645:24:1"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "7635:2:1"
},
"nodeType": "YulFunctionCall",
"src": "7635:35:1"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "7628:6:1"
},
"nodeType": "YulFunctionCall",
"src": "7628:43:1"
},
"nodeType": "YulIf",
"src": "7625:2:1"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "7608:5:1",
"type": ""
}
],
"src": "7572:122:1"
}
]
},
"contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert(0, 0) }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value1 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value2 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_t_stringliteral_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 64)\n store_literal_in_memory_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value, pos) {\n mstore(pos, leftAlign_t_uint256(cleanup_t_uint256(value)))\n }\n\n function abi_encode_tuple_packed_t_uint256__to_t_uint256__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n abi_encode_t_uint256_to_t_uint256_nonPadded_inplace_fromStack(value0, pos)\n pos := add(pos, 32)\n\n end := pos\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_stringliteral_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function leftAlign_t_uint256(value) -> aligned {\n aligned := value\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_5331388343a2514bef7d9c0cd91b3a30ad2fac988aaef47225f19af4ea6fa292(memPtr) {\n\n mstore(add(memPtr, 0), \"Debes poner el nombre al pokemon\")\n\n }\n\n function store_literal_in_memory_fca442303c9afb9c1d41b7f1cc6f1dc7f4d303357d160519af9eec7ff47cef67(memPtr) {\n\n mstore(add(memPtr, 0), \"No tienes permisos para capturar\")\n\n mstore(add(memPtr, 32), \" estos pokemon para esta Pokedex\")\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561001057600080fd5b50600436106100415760003560e01c806357fb6b9c146100465780638da5cb5b14610062578063bda0284214610080575b600080fd5b610060600480360381019061005b91906103f0565b6100b0565b005b61006a610146565b6040516100779190610546565b60405180910390f35b61009a60048036038101906100959190610487565b61016c565b6040516100a79190610561565b60405180910390f35b6040518060400160405280600181526020017f20000000000000000000000000000000000000000000000000000000000000008152508051906020012083805190602001201415610136576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161012d9061057c565b60405180910390fd5b61014183838361022c565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146101fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f59061059c565b60405180910390fd5b8160405160200161020f919061052b565b604051602081830303815290604052805190602001209050919050565b60006040518060600160405280858152602001848152602001838152509080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001908051906020019061028e9291906102d0565b5060208201518160010190805190602001906102ab9291906102d0565b5060408201518160020190805190602001906102c89291906102d0565b505050505050565b8280546102dc90610678565b90600052602060002090601f0160209004810192826102fe5760008555610345565b82601f1061031757805160ff1916838001178555610345565b82800160010185558215610345579182015b82811115610344578251825591602001919060010190610329565b5b5090506103529190610356565b5090565b5b8082111561036f576000816000905550600101610357565b5090565b6000610386610381846105e1565b6105bc565b90508281526020810184848401111561039e57600080fd5b6103a9848285610669565b509392505050565b600082601f8301126103c257600080fd5b81356103d2848260208601610373565b91505092915050565b6000813590506103ea816107cc565b92915050565b60008060006060848603121561040557600080fd5b600084013567ffffffffffffffff81111561041f57600080fd5b61042b868287016103b1565b935050602084013567ffffffffffffffff81111561044857600080fd5b610454868287016103b1565b925050604084013567ffffffffffffffff81111561047157600080fd5b61047d868287016103b1565b9150509250925092565b60006020828403121561049957600080fd5b60006104a7848285016103db565b91505092915050565b6104b981610623565b82525050565b6104c881610635565b82525050565b60006104db602083610612565b91506104e682610754565b602082019050919050565b60006104fe604083610612565b91506105098261077d565b604082019050919050565b6105256105208261065f565b6106db565b82525050565b60006105378284610514565b60208201915081905092915050565b600060208201905061055b60008301846104b0565b92915050565b600060208201905061057660008301846104bf565b92915050565b60006020820190508181036000830152610595816104ce565b9050919050565b600060208201905081810360008301526105b5816104f1565b9050919050565b60006105c66105d7565b90506105d282826106aa565b919050565b6000604051905090565b600067ffffffffffffffff8211156105fc576105fb610714565b5b61060582610743565b9050602081019050919050565b600082825260208201905092915050565b600061062e8261063f565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b6000600282049050600182168061069057607f821691505b602082108114156106a4576106a36106e5565b5b50919050565b6106b382610743565b810181811067ffffffffffffffff821117156106d2576106d1610714565b5b80604052505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f446562657320706f6e657220656c206e6f6d62726520616c20706f6b656d6f6e600082015250565b7f4e6f207469656e6573207065726d69736f73207061726120636170747572617260008201527f206573746f7320706f6b656d6f6e2070617261206573746120506f6b65646578602082015250565b6107d58161065f565b81146107e057600080fd5b5056fea2646970667358221220d975eb85e4365f4bfeda6a7949dc3db70dffdec7de81b0a670971a534a472d7f64736f6c63430008040033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x41 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x57FB6B9C EQ PUSH2 0x46 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x62 JUMPI DUP1 PUSH4 0xBDA02842 EQ PUSH2 0x80 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5B SWAP2 SWAP1 PUSH2 0x3F0 JUMP JUMPDEST PUSH2 0xB0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6A PUSH2 0x146 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x77 SWAP2 SWAP1 PUSH2 0x546 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x9A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x95 SWAP2 SWAP1 PUSH2 0x487 JUMP JUMPDEST PUSH2 0x16C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA7 SWAP2 SWAP1 PUSH2 0x561 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x2000000000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 DUP4 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ ISZERO PUSH2 0x136 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12D SWAP1 PUSH2 0x57C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x141 DUP4 DUP4 DUP4 PUSH2 0x22C JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1FE JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1F5 SWAP1 PUSH2 0x59C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x20F SWAP2 SWAP1 PUSH2 0x52B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x28E SWAP3 SWAP2 SWAP1 PUSH2 0x2D0 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x2AB SWAP3 SWAP2 SWAP1 PUSH2 0x2D0 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x2C8 SWAP3 SWAP2 SWAP1 PUSH2 0x2D0 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x2DC SWAP1 PUSH2 0x678 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x2FE JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x345 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x317 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x345 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x345 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x344 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x329 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x352 SWAP2 SWAP1 PUSH2 0x356 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x36F JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x357 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x386 PUSH2 0x381 DUP5 PUSH2 0x5E1 JUMP JUMPDEST PUSH2 0x5BC JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x39E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3A9 DUP5 DUP3 DUP6 PUSH2 0x669 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x3D2 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x373 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x3EA DUP2 PUSH2 0x7CC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x405 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x41F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x42B DUP7 DUP3 DUP8 ADD PUSH2 0x3B1 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x448 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x454 DUP7 DUP3 DUP8 ADD PUSH2 0x3B1 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x471 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x47D DUP7 DUP3 DUP8 ADD PUSH2 0x3B1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x499 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x4A7 DUP5 DUP3 DUP6 ADD PUSH2 0x3DB JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x4B9 DUP2 PUSH2 0x623 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x4C8 DUP2 PUSH2 0x635 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4DB PUSH1 0x20 DUP4 PUSH2 0x612 JUMP JUMPDEST SWAP2 POP PUSH2 0x4E6 DUP3 PUSH2 0x754 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4FE PUSH1 0x40 DUP4 PUSH2 0x612 JUMP JUMPDEST SWAP2 POP PUSH2 0x509 DUP3 PUSH2 0x77D JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x525 PUSH2 0x520 DUP3 PUSH2 0x65F JUMP JUMPDEST PUSH2 0x6DB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x537 DUP3 DUP5 PUSH2 0x514 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x55B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x4B0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x576 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x4BF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x595 DUP2 PUSH2 0x4CE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x5B5 DUP2 PUSH2 0x4F1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5C6 PUSH2 0x5D7 JUMP JUMPDEST SWAP1 POP PUSH2 0x5D2 DUP3 DUP3 PUSH2 0x6AA JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x5FC JUMPI PUSH2 0x5FB PUSH2 0x714 JUMP JUMPDEST JUMPDEST PUSH2 0x605 DUP3 PUSH2 0x743 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD 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 PUSH2 0x62E DUP3 PUSH2 0x63F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x690 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x6A4 JUMPI PUSH2 0x6A3 PUSH2 0x6E5 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6B3 DUP3 PUSH2 0x743 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x6D2 JUMPI PUSH2 0x6D1 PUSH2 0x714 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x446562657320706F6E657220656C206E6F6D62726520616C20706F6B656D6F6E PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4E6F207469656E6573207065726D69736F732070617261206361707475726172 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x206573746F7320706F6B656D6F6E2070617261206573746120506F6B65646578 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x7D5 DUP2 PUSH2 0x65F JUMP JUMPDEST DUP2 EQ PUSH2 0x7E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD9 PUSH22 0xEB85E4365F4BFEDA6A7949DC3DB70DFFDEC7DE81B0A6 PUSH17 0x971A534A472D7F64736F6C634300080400 CALLER ",
"sourceMap": "545:1005:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;844:311;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;654:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1404:143;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;844:311;1026:10;;;;;;;;;;;;;;;;;1016:21;;;;;;996:14;980:32;;;;;;:57;;971:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;1085:62;1108:14;1124:13;1139:7;1085:22;:62::i;:::-;844:311;;;:::o;654:20::-;;;;;;;;;;;;;:::o;1404:143::-;1476:7;1297:10;1288:19;;:5;;;;;;;;;;;:19;;;1280:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;1530:7:::1;1513:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;1503:36;;;;;;1496:43;;1404:143:::0;;;:::o;350:188::-;475:7;488:41;;;;;;;;499:5;488:41;;;;506:13;488:41;;;;521:7;488:41;;;475:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;350:188;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:345:1:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:2;;;292:1;289;282:12;251:2;305:41;339:6;334:3;329;305:41;:::i;:::-;91:261;;;;;;:::o;372:273::-;428:5;477:3;470:4;462:6;458:17;454:27;444:2;;495:1;492;485:12;444:2;535:6;522:20;560:79;635:3;627:6;620:4;612:6;608:17;560:79;:::i;:::-;551:88;;434:211;;;;;:::o;651:139::-;697:5;735:6;722:20;713:29;;751:33;778:5;751:33;:::i;:::-;703:87;;;;:::o;796:891::-;903:6;911;919;968:2;956:9;947:7;943:23;939:32;936:2;;;984:1;981;974:12;936:2;1055:1;1044:9;1040:17;1027:31;1085:18;1077:6;1074:30;1071:2;;;1117:1;1114;1107:12;1071:2;1145:63;1200:7;1191:6;1180:9;1176:22;1145:63;:::i;:::-;1135:73;;998:220;1285:2;1274:9;1270:18;1257:32;1316:18;1308:6;1305:30;1302:2;;;1348:1;1345;1338:12;1302:2;1376:63;1431:7;1422:6;1411:9;1407:22;1376:63;:::i;:::-;1366:73;;1228:221;1516:2;1505:9;1501:18;1488:32;1547:18;1539:6;1536:30;1533:2;;;1579:1;1576;1569:12;1533:2;1607:63;1662:7;1653:6;1642:9;1638:22;1607:63;:::i;:::-;1597:73;;1459:221;926:761;;;;;:::o;1693:262::-;1752:6;1801:2;1789:9;1780:7;1776:23;1772:32;1769:2;;;1817:1;1814;1807:12;1769:2;1860:1;1885:53;1930:7;1921:6;1910:9;1906:22;1885:53;:::i;:::-;1875:63;;1831:117;1759:196;;;;:::o;1961:118::-;2048:24;2066:5;2048:24;:::i;:::-;2043:3;2036:37;2026:53;;:::o;2085:118::-;2172:24;2190:5;2172:24;:::i;:::-;2167:3;2160:37;2150:53;;:::o;2209:366::-;2351:3;2372:67;2436:2;2431:3;2372:67;:::i;:::-;2365:74;;2448:93;2537:3;2448:93;:::i;:::-;2566:2;2561:3;2557:12;2550:19;;2355:220;;;:::o;2581:366::-;2723:3;2744:67;2808:2;2803:3;2744:67;:::i;:::-;2737:74;;2820:93;2909:3;2820:93;:::i;:::-;2938:2;2933:3;2929:12;2922:19;;2727:220;;;:::o;2953:157::-;3058:45;3078:24;3096:5;3078:24;:::i;:::-;3058:45;:::i;:::-;3053:3;3046:58;3036:74;;:::o;3116:256::-;3228:3;3243:75;3314:3;3305:6;3243:75;:::i;:::-;3343:2;3338:3;3334:12;3327:19;;3363:3;3356:10;;3232:140;;;;:::o;3378:222::-;3471:4;3509:2;3498:9;3494:18;3486:26;;3522:71;3590:1;3579:9;3575:17;3566:6;3522:71;:::i;:::-;3476:124;;;;:::o;3606:222::-;3699:4;3737:2;3726:9;3722:18;3714:26;;3750:71;3818:1;3807:9;3803:17;3794:6;3750:71;:::i;:::-;3704:124;;;;:::o;3834:419::-;4000:4;4038:2;4027:9;4023:18;4015:26;;4087:9;4081:4;4077:20;4073:1;4062:9;4058:17;4051:47;4115:131;4241:4;4115:131;:::i;:::-;4107:139;;4005:248;;;:::o;4259:419::-;4425:4;4463:2;4452:9;4448:18;4440:26;;4512:9;4506:4;4502:20;4498:1;4487:9;4483:17;4476:47;4540:131;4666:4;4540:131;:::i;:::-;4532:139;;4430:248;;;:::o;4684:129::-;4718:6;4745:20;;:::i;:::-;4735:30;;4774:33;4802:4;4794:6;4774:33;:::i;:::-;4725:88;;;:::o;4819:75::-;4852:6;4885:2;4879:9;4869:19;;4859:35;:::o;4900:308::-;4962:4;5052:18;5044:6;5041:30;5038:2;;;5074:18;;:::i;:::-;5038:2;5112:29;5134:6;5112:29;:::i;:::-;5104:37;;5196:4;5190;5186:15;5178:23;;4967:241;;;:::o;5214:169::-;5298:11;5332:6;5327:3;5320:19;5372:4;5367:3;5363:14;5348:29;;5310:73;;;;:::o;5389:96::-;5426:7;5455:24;5473:5;5455:24;:::i;:::-;5444:35;;5434:51;;;:::o;5491:77::-;5528:7;5557:5;5546:16;;5536:32;;;:::o;5574:126::-;5611:7;5651:42;5644:5;5640:54;5629:65;;5619:81;;;:::o;5706:77::-;5743:7;5772:5;5761:16;;5751:32;;;:::o;5789:154::-;5873:6;5868:3;5863;5850:30;5935:1;5926:6;5921:3;5917:16;5910:27;5840:103;;;:::o;5949:320::-;5993:6;6030:1;6024:4;6020:12;6010:22;;6077:1;6071:4;6067:12;6098:18;6088:2;;6154:4;6146:6;6142:17;6132:27;;6088:2;6216;6208:6;6205:14;6185:18;6182:38;6179:2;;;6235:18;;:::i;:::-;6179:2;6000:269;;;;:::o;6275:281::-;6358:27;6380:4;6358:27;:::i;:::-;6350:6;6346:40;6488:6;6476:10;6473:22;6452:18;6440:10;6437:34;6434:62;6431:2;;;6499:18;;:::i;:::-;6431:2;6539:10;6535:2;6528:22;6318:238;;;:::o;6562:79::-;6601:7;6630:5;6619:16;;6609:32;;;:::o;6647:180::-;6695:77;6692:1;6685:88;6792:4;6789:1;6782:15;6816:4;6813:1;6806:15;6833:180;6881:77;6878:1;6871:88;6978:4;6975:1;6968:15;7002:4;6999:1;6992:15;7019:102;7060:6;7111:2;7107:7;7102:2;7095:5;7091:14;7087:28;7077:38;;7067:54;;;:::o;7127:182::-;7267:34;7263:1;7255:6;7251:14;7244:58;7233:76;:::o;7315:251::-;7455:34;7451:1;7443:6;7439:14;7432:58;7524:34;7519:2;7511:6;7507:15;7500:59;7421:145;:::o;7572:122::-;7645:24;7663:5;7645:24;:::i;:::-;7638:5;7635:35;7625:2;;7684:1;7681;7674:12;7625:2;7615:79;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "414600",
"executionCost": "21315",
"totalCost": "435915"
},
"external": {
"hashPrivateNumber(uint256)": "infinite",
"lanzar_pokeball(string,string,string)": "infinite",
"owner()": "1214"
}
},
"legacyAssembly": {
".code": [
{
"begin": 545,
"end": 1550,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 545,
"end": 1550,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 545,
"end": 1550,
"name": "MSTORE",
"source": 0
},
{
"begin": 732,
"end": 784,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 732,
"end": 784,
"name": "DUP1",
"source": 0
},
{
"begin": 732,
"end": 784,
"name": "ISZERO",
"source": 0
},
{
"begin": 732,
"end": 784,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 732,
"end": 784,
"name": "JUMPI",
"source": 0
},
{
"begin": 732,
"end": 784,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 732,
"end": 784,
"name": "DUP1",
"source": 0
},
{
"begin": 732,
"end": 784,
"name": "REVERT",
"source": 0
},
{
"begin": 732,
"end": 784,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 732,
"end": 784,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 732,
"end": 784,
"name": "POP",
"source": 0
},
{
"begin": 766,
"end": 776,
"name": "CALLER",
"source": 0
},
{
"begin": 758,
"end": 763,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 758,
"end": 763,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 758,
"end": 776,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 758,
"end": 776,
"name": "EXP",
"source": 0
},
{
"begin": 758,
"end": 776,
"name": "DUP2",
"source": 0
},
{
"begin": 758,
"end": 776,
"name": "SLOAD",
"source": 0
},
{
"begin": 758,
"end": 776,
"name": "DUP2",
"source": 0
},
{
"begin": 758,
"end": 776,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 758,
"end": 776,
"name": "MUL",
"source": 0
},
{
"begin": 758,
"end": 776,
"name": "NOT",
"source": 0
},
{
"begin": 758,
"end": 776,
"name": "AND",
"source": 0
},
{
"begin": 758,
"end": 776,
"name": "SWAP1",
"source": 0
},
{
"begin": 758,
"end": 776,
"name": "DUP4",
"source": 0
},
{
"begin": 758,
"end": 776,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 758,
"end": 776,
"name": "AND",
"source": 0
},
{
"begin": 758,
"end": 776,
"name": "MUL",
"source": 0
},
{
"begin": 758,
"end": 776,
"name": "OR",
"source": 0
},
{
"begin": 758,
"end": 776,
"name": "SWAP1",
"source": 0
},
{
"begin": 758,
"end": 776,
"name": "SSTORE",
"source": 0
},
{
"begin": 758,
"end": 776,
"name": "POP",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 545,
"end": 1550,
"name": "DUP1",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 545,
"end": 1550,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 545,
"end": 1550,
"name": "CODECOPY",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 545,
"end": 1550,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a2646970667358221220d975eb85e4365f4bfeda6a7949dc3db70dffdec7de81b0a670971a534a472d7f64736f6c63430008040033",
".code": [
{
"begin": 545,
"end": 1550,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 545,
"end": 1550,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 545,
"end": 1550,
"name": "MSTORE",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "DUP1",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "ISZERO",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 545,
"end": 1550,
"name": "JUMPI",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 545,
"end": 1550,
"name": "DUP1",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "REVERT",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 545,
"end": 1550,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "POP",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 545,
"end": 1550,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "LT",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 545,
"end": 1550,
"name": "JUMPI",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 545,
"end": 1550,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 545,
"end": 1550,
"name": "SHR",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "DUP1",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "PUSH",
"source": 0,
"value": "57FB6B9C"
},
{
"begin": 545,
"end": 1550,
"name": "EQ",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 545,
"end": 1550,
"name": "JUMPI",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "DUP1",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "PUSH",
"source": 0,
"value": "8DA5CB5B"
},
{
"begin": 545,
"end": 1550,
"name": "EQ",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 545,
"end": 1550,
"name": "JUMPI",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "DUP1",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "PUSH",
"source": 0,
"value": "BDA02842"
},
{
"begin": 545,
"end": 1550,
"name": "EQ",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 545,
"end": 1550,
"name": "JUMPI",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 545,
"end": 1550,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 545,
"end": 1550,
"name": "DUP1",
"source": 0
},
{
"begin": 545,
"end": 1550,
"name": "REVERT",
"source": 0
},
{
"begin": 844,
"end": 1155,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 844,
"end": 1155,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 844,
"end": 1155,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 844,
"end": 1155,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 844,
"end": 1155,
"name": "DUP1",
"source": 0
},
{
"begin": 844,
"end": 1155,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 844,
"end": 1155,
"name": "SUB",
"source": 0
},
{
"begin": 844,
"end": 1155,
"name": "DUP2",
"source": 0
},
{
"begin": 844,
"end": 1155,
"name": "ADD",
"source": 0
},
{
"begin": 844,
"end": 1155,
"name": "SWAP1",
"source": 0
},
{
"begin": 844,
"end": 1155,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 844,
"end": 1155,
"name": "SWAP2",
"source": 0
},
{
"begin": 844,
"end": 1155,
"name": "SWAP1",
"source": 0
},
{
"begin": 844,
"end": 1155,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 844,
"end": 1155,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 844,
"end": 1155,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 844,
"end": 1155,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 844,
"end": 1155,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 844,
"end": 1155,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 844,
"end": 1155,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 844,
"end": 1155,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 844,
"end": 1155,
"name": "STOP",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 654,
"end": 674,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 654,
"end": 674,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 654,
"end": 674,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 654,
"end": 674,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 654,
"end": 674,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 654,
"end": 674,
"name": "MLOAD",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 654,
"end": 674,
"name": "SWAP2",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "SWAP1",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 654,
"end": 674,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 654,
"end": 674,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 654,
"end": 674,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 654,
"end": 674,
"name": "MLOAD",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "DUP1",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "SWAP2",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "SUB",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "SWAP1",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "RETURN",
"source": 0
},
{
"begin": 1404,
"end": 1547,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 1404,
"end": 1547,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 1404,
"end": 1547,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 1404,
"end": 1547,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 1404,
"end": 1547,
"name": "DUP1",
"source": 0
},
{
"begin": 1404,
"end": 1547,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 1404,
"end": 1547,
"name": "SUB",
"source": 0
},
{
"begin": 1404,
"end": 1547,
"name": "DUP2",
"source": 0
},
{
"begin": 1404,
"end": 1547,
"name": "ADD",
"source": 0
},
{
"begin": 1404,
"end": 1547,
"name": "SWAP1",
"source": 0
},
{
"begin": 1404,
"end": 1547,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 1404,
"end": 1547,
"name": "SWAP2",
"source": 0
},
{
"begin": 1404,
"end": 1547,
"name": "SWAP1",
"source": 0
},
{
"begin": 1404,
"end": 1547,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 1404,
"end": 1547,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 1404,
"end": 1547,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 1404,
"end": 1547,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 1404,
"end": 1547,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 1404,
"end": 1547,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 1404,
"end": 1547,
"name": "tag",
"source": 0,
"value": "14"
},
{
"begin": 1404,
"end": 1547,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 1404,
"end": 1547,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 1404,
"end": 1547,
"name": "MLOAD",
"source": 0
},
{
"begin": 1404,
"end": 1547,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 1404,
"end": 1547,
"name": "SWAP2",
"source": 0
},
{
"begin": 1404,
"end": 1547,
"name": "SWAP1",
"source": 0
},
{
"begin": 1404,
"end": 1547,
"name": "PUSH [tag]",
"source": 0,
"value": "19"
},
{
"begin": 1404,
"end": 1547,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 1404,
"end": 1547,
"name": "tag",
"source": 0,
"value": "18"
},
{
"begin": 1404,
"end": 1547,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 1404,
"end": 1547,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 1404,
"end": 1547,
"name": "MLOAD",
"source": 0
},
{
"begin": 1404,
"end": 1547,
"name": "DUP1",
"source": 0
},
{
"begin": 1404,
"end": 1547,
"name": "SWAP2",
"source": 0
},
{
"begin": 1404,
"end": 1547,
"name": "SUB",
"source": 0
},
{
"begin": 1404,
"end": 1547,
"name": "SWAP1",
"source": 0
},
{
"begin": 1404,
"end": 1547,
"name": "RETURN",
"source": 0
},
{
"begin": 844,
"end": 1155,
"name": "tag",
"source": 0,
"value": "9"
},
{
"begin": 844,
"end": 1155,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 1026,
"end": 1036,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 1026,
"end": 1036,
"name": "MLOAD",
"source": 0
},
{
"begin": 1026,
"end": 1036,
"name": "DUP1",
"source": 0
},
{
"begin": 1026,
"end": 1036,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 1026,
"end": 1036,
"name": "ADD",
"source": 0
},
{
"begin": 1026,
"end": 1036,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 1026,
"end": 1036,
"name": "MSTORE",
"source": 0
},
{
"begin": 1026,
"end": 1036,
"name": "DUP1",
"source": 0
},
{
"begin": 1026,
"end": 1036,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 1026,
"end": 1036,
"name": "DUP2",
"source": 0
},
{
"begin": 1026,
"end": 1036,
"name": "MSTORE",
"source": 0
},
{
"begin": 1026,
"end": 1036,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 1026,
"end": 1036,
"name": "ADD",
"source": 0
},
{
"begin": 1026,
"end": 1036,
"name": "PUSH",
"source": 0,
"value": "2000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 1026,
"end": 1036,
"name": "DUP2",
"source": 0
},
{
"begin": 1026,
"end": 1036,
"name": "MSTORE",
"source": 0
},
{
"begin": 1026,
"end": 1036,
"name": "POP",
"source": 0
},
{
"begin": 1016,
"end": 1037,
"name": "DUP1",
"source": 0
},
{
"begin": 1016,
"end": 1037,
"name": "MLOAD",
"source": 0
},
{
"begin": 1016,
"end": 1037,
"name": "SWAP1",
"source": 0
},
{
"begin": 1016,
"end": 1037,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 1016,
"end": 1037,
"name": "ADD",
"source": 0
},
{
"begin": 1016,
"end": 1037,
"name": "KECCAK256",
"source": 0
},
{
"begin": 996,
"end": 1010,
"name": "DUP4",
"source": 0
},
{
"begin": 980,
"end": 1012,
"name": "DUP1",
"source": 0
},
{
"begin": 980,
"end": 1012,
"name": "MLOAD",
"source": 0
},
{
"begin": 980,
"end": 1012,
"name": "SWAP1",
"source": 0
},
{
"begin": 980,
"end": 1012,
"name": "PUSH",
"source": 0,
"value": "20"
},
{
"begin": 980,
"end": 1012,
"name": "ADD",
"source": 0
},
{
"begin": 980,
"end": 1012,
"name": "KECCAK256",
"source": 0
},
{
"begin": 980,
"end": 1037,
"name": "EQ",
"source": 0
},
{
"begin": 980,
"end": 1037,
"name": "ISZERO",
"source": 0
},
{
"begin": 971,
"end": 1074,
"name": "PUSH [tag]",
"source": 0,
"value": "21"
},
{
"begin": 971,
"end": 1074,
"name": "JUMPI",
"source": 0
},
{
"begin": 971,
"end": 1074,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 971,
"end": 1074,
"name": "MLOAD",
"source": 0
},
{
"begin": 971,
"end": 1074,
"name": "PUSH",
"source": 0,
"value": "8C379A000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 971,
"end": 1074,
"name": "DUP2",
"source": 0
},
{
"begin": 971,
"end": 1074,
"name": "MSTORE",
"source": 0
},
{
"begin": 971,
"end": 1074,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 971,
"end": 1074,
"name": "ADD",
"source": 0
},
{
"begin": 971,
"end": 1074,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 971,
"end": 1074,
"name": "SWAP1",
"source": 0
},
{
"begin": 971,
"end": 1074,
"name": "PUSH [tag]",
"source": 0,
"value": "23"
},
{
"begin": 971,
"end": 1074,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 971,
"end": 1074,
"name": "tag",
"source": 0,
"value": "22"
},
{
"begin": 971,
"end": 1074,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 971,
"end": 1074,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 971,
"end": 1074,
"name": "MLOAD",
"source": 0
},
{
"begin": 971,
"end": 1074,
"name": "DUP1",
"source": 0
},
{
"begin": 971,
"end": 1074,
"name": "SWAP2",
"source": 0
},
{
"begin": 971,
"end": 1074,
"name": "SUB",
"source": 0
},
{
"begin": 971,
"end": 1074,
"name": "SWAP1",
"source": 0
},
{
"begin": 971,
"end": 1074,
"name": "REVERT",
"source": 0
},
{
"begin": 971,
"end": 1074,
"name": "tag",
"source": 0,
"value": "21"
},
{
"begin": 971,
"end": 1074,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 1085,
"end": 1147,
"name": "PUSH [tag]",
"source": 0,
"value": "24"
},
{
"begin": 1108,
"end": 1122,
"name": "DUP4",
"source": 0
},
{
"begin": 1124,
"end": 1137,
"name": "DUP4",
"source": 0
},
{
"begin": 1139,
"end": 1146,
"name": "DUP4",
"source": 0
},
{
"begin": 1085,
"end": 1107,
"name": "PUSH [tag]",
"source": 0,
"value": "25"
},
{
"begin": 1085,
"end": 1147,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 1085,
"end": 1147,
"name": "tag",
"source": 0,
"value": "24"
},
{
"begin": 1085,
"end": 1147,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 844,
"end": 1155,
"name": "POP",
"source": 0
},
{
"begin": 844,
"end": 1155,
"name": "POP",
"source": 0
},
{
"begin": 844,
"end": 1155,
"name": "POP",
"source": 0
},
{
"begin": 844,
"end": 1155,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 654,
"end": 674,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 654,
"end": 674,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 654,
"end": 674,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 654,
"end": 674,
"name": "SWAP1",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "SLOAD",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "SWAP1",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 654,
"end": 674,
"name": "EXP",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "SWAP1",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "DIV",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 654,
"end": 674,
"name": "AND",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "DUP2",
"source": 0
},
{
"begin": 654,
"end": 674,
"name": "JUMP",
"source": 0,
"value": "[out]"
},
{
"begin": 1404,
"end": 1547,
"name": "tag",
"source": 0,
"value": "17"
},
{
"begin": 1404,
"end": 1547,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 1476,
"end": 1483,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 1297,
"end": 1307,
"name": "CALLER",
"source": 0
},
{
"begin": 1288,
"end": 1307,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1288,
"end": 1307,
"name": "AND",
"source": 0
},
{
"begin": 1288,
"end": 1293,
"name": "PUSH",
"source": 0,
"value": "1"
},
{
"begin": 1288,
"end": 1293,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 1288,
"end": 1293,
"name": "SWAP1",
"source": 0
},
{
"begin": 1288,
"end": 1293,
"name": "SLOAD",
"source": 0
},
{
"begin": 1288,
"end": 1293,
"name": "SWAP1",
"source": 0
},
{
"begin": 1288,
"end": 1293,
"name": "PUSH",
"source": 0,
"value": "100"
},
{
"begin": 1288,
"end": 1293,
"name": "EXP",
"source": 0
},
{
"begin": 1288,
"end": 1293,
"name": "SWAP1",
"source": 0
},
{
"begin": 1288,
"end": 1293,
"name": "DIV",
"source": 0
},
{
"begin": 1288,
"end": 1293,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1288,
"end": 1293,
"name": "AND",
"source": 0
},
{
"begin": 1288,
"end": 1307,
"name": "PUSH",
"source": 0,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 1288,
"end": 1307,
"name": "AND",
"source": 0
},
{
"begin": 1288,
"end": 1307,
"name": "EQ",
"source": 0
},
{
"begin": 1280,
"end": 1376,
"name": "PUSH [tag]",
"source": 0,
"value": "27"
},
{
"begin": 1280,
"end": 1376,
"name": "JUMPI",
"source": 0
},
{
"begin": 1280,
"end": 1376,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 1280,
"end": 1376,
"name": "MLOAD",
"source": 0
},
{
"begin": 1280,
"end": 1376,
"name": "PUSH",
"source": 0,
"value": "8C379A000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 1280,
"end": 1376,
"name": "DUP2",
"source": 0
},
{
"begin": 1280,
"end": 1376,
"name": "MSTORE",
"source": 0
},
{
"begin": 1280,
"end": 1376,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 1280,
"end": 1376,
"name": "ADD",
"source": 0
},
{
"begin": 1280,
"end": 1376,
"name": "PUSH [tag]",
"source": 0,
"value": "28"
},
{
"begin": 1280,
"end": 1376,
"name": "SWAP1",
"source": 0
},
{
"begin": 1280,
"end": 1376,
"name": "PUSH [tag]",
"source": 0,
"value": "29"
},
{
"begin": 1280,
"end": 1376,
"name": "JUMP",
"source": 0,
"value": "[in]"
},
{
"begin": 1280,
"end": 1376,
"name": "tag",
"source": 0,
"value": "28"
},
{
"begin": 1280,
"end": 1376,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 1280,
"end": 1376,
"name": "PUSH",
"source": 0,
"value": "40"
View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

View raw

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

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