{"contracts":{"a.sol":{"A":{"evm":{"bytecode":{"generatedSources":[],"object":""},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1502:1","statements":[{"nodeType":"YulBlock","src":"6:3:1","statements":[]},{"body":{"nodeType":"YulBlock","src":"109:1077:1","statements":[{"nodeType":"YulVariableDeclaration","src":"119:12:1","value":{"kind":"number","nodeType":"YulLiteral","src":"129:2:1","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"123:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"176:26:1","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"185:6:1"},{"name":"value0","nodeType":"YulIdentifier","src":"193:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"178:6:1"},"nodeType":"YulFunctionCall","src":"178:22:1"},"nodeType":"YulExpressionStatement","src":"178:22:1"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"151:7:1"},{"name":"headStart","nodeType":"YulIdentifier","src":"160:9:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"147:3:1"},"nodeType":"YulFunctionCall","src":"147:23:1"},{"name":"_1","nodeType":"YulIdentifier","src":"172:2:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"143:3:1"},"nodeType":"YulFunctionCall","src":"143:32:1"},"nodeType":"YulIf","src":"140:2:1"},{"nodeType":"YulVariableDeclaration","src":"211:37:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"238:9:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"225:12:1"},"nodeType":"YulFunctionCall","src":"225:23:1"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"215:6:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"257:28:1","value":{"kind":"number","nodeType":"YulLiteral","src":"267:18:1","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"261:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"312:26:1","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"321:6:1"},{"name":"value0","nodeType":"YulIdentifier","src":"329:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"314:6:1"},"nodeType":"YulFunctionCall","src":"314:22:1"},"nodeType":"YulExpressionStatement","src":"314:22:1"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"300:6:1"},{"name":"_2","nodeType":"YulIdentifier","src":"308:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"297:2:1"},"nodeType":"YulFunctionCall","src":"297:14:1"},"nodeType":"YulIf","src":"294:2:1"},{"nodeType":"YulVariableDeclaration","src":"347:32:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"361:9:1"},{"name":"offset","nodeType":"YulIdentifier","src":"372:6:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"357:3:1"},"nodeType":"YulFunctionCall","src":"357:22:1"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"351:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"427:26:1","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"436:6:1"},{"name":"value0","nodeType":"YulIdentifier","src":"444:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"429:6:1"},"nodeType":"YulFunctionCall","src":"429:22:1"},"nodeType":"YulExpressionStatement","src":"429:22:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"406:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"410:4:1","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"402:3:1"},"nodeType":"YulFunctionCall","src":"402:13:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"417:7:1"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"398:3:1"},"nodeType":"YulFunctionCall","src":"398:27:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"391:6:1"},"nodeType":"YulFunctionCall","src":"391:35:1"},"nodeType":"YulIf","src":"388:2:1"},{"nodeType":"YulVariableDeclaration","src":"462:26:1","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"485:2:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"472:12:1"},"nodeType":"YulFunctionCall","src":"472:16:1"},"variables":[{"name":"_4","nodeType":"YulTypedName","src":"466:2:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"511:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"513:16:1"},"nodeType":"YulFunctionCall","src":"513:18:1"},"nodeType":"YulExpressionStatement","src":"513:18:1"}]},"condition":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"503:2:1"},{"name":"_2","nodeType":"YulIdentifier","src":"507:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"500:2:1"},"nodeType":"YulFunctionCall","src":"500:10:1"},"nodeType":"YulIf","src":"497:2:1"},{"nodeType":"YulVariableDeclaration","src":"542:21:1","value":{"arguments":[{"name":"_4","nodeType":"YulIdentifier","src":"556:2:1"},{"name":"_1","nodeType":"YulIdentifier","src":"560:2:1"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"552:3:1"},"nodeType":"YulFunctionCall","src":"552:11:1"},"variables":[{"name":"_5","nodeType":"YulTypedName","src":"546:2:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"572:23:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"592:2:1","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"586:5:1"},"nodeType":"YulFunctionCall","src":"586:9:1"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"576:6:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"604:56:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"626:6:1"},{"arguments":[{"arguments":[{"name":"_5","nodeType":"YulIdentifier","src":"642:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"646:2:1","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"638:3:1"},"nodeType":"YulFunctionCall","src":"638:11:1"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"655:2:1","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"651:3:1"},"nodeType":"YulFunctionCall","src":"651:7:1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"634:3:1"},"nodeType":"YulFunctionCall","src":"634:25:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"622:3:1"},"nodeType":"YulFunctionCall","src":"622:38:1"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"608:10:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"719:22:1","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"721:16:1"},"nodeType":"YulFunctionCall","src":"721:18:1"},"nodeType":"YulExpressionStatement","src":"721:18:1"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"678:10:1"},{"name":"_2","nodeType":"YulIdentifier","src":"690:2:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"675:2:1"},"nodeType":"YulFunctionCall","src":"675:18:1"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"698:10:1"},{"name":"memPtr","nodeType":"YulIdentifier","src":"710:6:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"695:2:1"},"nodeType":"YulFunctionCall","src":"695:22:1"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"672:2:1"},"nodeType":"YulFunctionCall","src":"672:46:1"},"nodeType":"YulIf","src":"669:2:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"757:2:1","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"761:10:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"750:6:1"},"nodeType":"YulFunctionCall","src":"750:22:1"},"nodeType":"YulExpressionStatement","src":"750:22:1"},{"nodeType":"YulVariableDeclaration","src":"781:17:1","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"792:6:1"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"785:3:1","type":""}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"814:6:1"},{"name":"_4","nodeType":"YulIdentifier","src":"822:2:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"807:6:1"},"nodeType":"YulFunctionCall","src":"807:18:1"},"nodeType":"YulExpressionStatement","src":"807:18:1"},{"nodeType":"YulAssignment","src":"834:22:1","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"845:6:1"},{"name":"_1","nodeType":"YulIdentifier","src":"853:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"841:3:1"},"nodeType":"YulFunctionCall","src":"841:15:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"834:3:1"}]},{"nodeType":"YulVariableDeclaration","src":"865:22:1","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"880:2:1"},{"name":"_1","nodeType":"YulIdentifier","src":"884:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"876:3:1"},"nodeType":"YulFunctionCall","src":"876:11:1"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"869:3:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"933:26:1","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"942:6:1"},{"name":"value0","nodeType":"YulIdentifier","src":"950:6:1"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"935:6:1"},"nodeType":"YulFunctionCall","src":"935:22:1"},"nodeType":"YulExpressionStatement","src":"935:22:1"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"910:2:1"},{"name":"_5","nodeType":"YulIdentifier","src":"914:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"906:3:1"},"nodeType":"YulFunctionCall","src":"906:11:1"},{"name":"_1","nodeType":"YulIdentifier","src":"919:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"902:3:1"},"nodeType":"YulFunctionCall","src":"902:20:1"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"924:7:1"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"899:2:1"},"nodeType":"YulFunctionCall","src":"899:33:1"},"nodeType":"YulIf","src":"896:2:1"},{"nodeType":"YulVariableDeclaration","src":"968:15:1","value":{"name":"value0","nodeType":"YulIdentifier","src":"977:6:1"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"972:1:1","type":""}]},{"body":{"nodeType":"YulBlock","src":"1037:118:1","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1058:3:1"},{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1076:3:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1063:12:1"},"nodeType":"YulFunctionCall","src":"1063:17:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1051:6:1"},"nodeType":"YulFunctionCall","src":"1051:30:1"},"nodeType":"YulExpressionStatement","src":"1051:30:1"},{"nodeType":"YulAssignment","src":"1094:19:1","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"1105:3:1"},{"name":"_1","nodeType":"YulIdentifier","src":"1110:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1101:3:1"},"nodeType":"YulFunctionCall","src":"1101:12:1"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"1094:3:1"}]},{"nodeType":"YulAssignment","src":"1126:19:1","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"1137:3:1"},{"name":"_1","nodeType":"YulIdentifier","src":"1142:2:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1133:3:1"},"nodeType":"YulFunctionCall","src":"1133:12:1"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"1126:3:1"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1003:1:1"},{"name":"_4","nodeType":"YulIdentifier","src":"1006:2:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"1000:2:1"},"nodeType":"YulFunctionCall","src":"1000:9:1"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"1010:18:1","statements":[{"nodeType":"YulAssignment","src":"1012:14:1","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"1021:1:1"},{"kind":"number","nodeType":"YulLiteral","src":"1024:1:1","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1017:3:1"},"nodeType":"YulFunctionCall","src":"1017:9:1"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"1012:1:1"}]}]},"pre":{"nodeType":"YulBlock","src":"996:3:1","statements":[]},"src":"992:163:1"},{"nodeType":"YulAssignment","src":"1164:16:1","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"1174:6:1"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1164:6:1"}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"75:9:1","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"86:7:1","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"98:6:1","type":""}],"src":"14:1172:1"},{"body":{"nodeType":"YulBlock","src":"1292:76:1","statements":[{"nodeType":"YulAssignment","src":"1302:26:1","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1314:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"1325:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1310:3:1"},"nodeType":"YulFunctionCall","src":"1310:18:1"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1302:4:1"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1344:9:1"},{"name":"value0","nodeType":"YulIdentifier","src":"1355:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1337:6:1"},"nodeType":"YulFunctionCall","src":"1337:25:1"},"nodeType":"YulExpressionStatement","src":"1337:25:1"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1261:9:1","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1272:6:1","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1283:4:1","type":""}],"src":"1191:177:1"},{"body":{"nodeType":"YulBlock","src":"1405:95:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1422:1:1","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1429:3:1","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"1434:10:1","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1425:3:1"},"nodeType":"YulFunctionCall","src":"1425:20:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1415:6:1"},"nodeType":"YulFunctionCall","src":"1415:31:1"},"nodeType":"YulExpressionStatement","src":"1415:31:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1462:1:1","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1465:4:1","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1455:6:1"},"nodeType":"YulFunctionCall","src":"1455:15:1"},"nodeType":"YulExpressionStatement","src":"1455:15:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1486:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1489:4:1","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1479:6:1"},"nodeType":"YulFunctionCall","src":"1479:15:1"},"nodeType":"YulExpressionStatement","src":"1479:15:1"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"1373:127:1"}]},"contents":"{ { } function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0 { let _1 := 32 if slt(sub(dataEnd, headStart), _1) { revert(value0, value0) } let offset := calldataload(headStart) let _2 := 0xffffffffffffffff if gt(offset, _2) { revert(value0, value0) } let _3 := add(headStart, offset) if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(value0, value0) } let _4 := calldataload(_3) if gt(_4, _2) { panic_error_0x41() } let _5 := mul(_4, _1) let memPtr := mload(64) let newFreePtr := add(memPtr, and(add(_5, 63), not(31))) if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() } mstore(64, newFreePtr) let dst := memPtr mstore(memPtr, _4) dst := add(memPtr, _1) let src := add(_3, _1) if gt(add(add(_3, _5), _1), dataEnd) { revert(value0, value0) } let i := value0 for { } lt(i, _4) { i := add(i, 1) } { mstore(dst, calldataload(src)) dst := add(dst, _1) src := add(src, _1) } value0 := memPtr } function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail { tail := add(headStart, 32) mstore(headStart, value0) } function panic_error_0x41() { mstore(0, shl(224, 0x4e487b71)) mstore(4, 0x41) revert(0, 0x24) } }","id":1,"language":"Yul","name":"#utility.yul"}]}}}}},"sources":{"a.sol":{"id":0}}}