7c92ca4a-44d0-434d-a800-067a6aa359de
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 31483 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 77524 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 77525 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 77526 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 77527 | capability.graph | complete | 1 / 3 | 1 week ago |
| 77528 | detector.run | complete | 1 / 3 | 1 week ago |
| 77529 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1041749] OpenAI Codex v0.77.0 (research preview)
[codex:1041749] --------
[codex:1041749] workdir: /tmp/codex-multi-p2mbowgc
[codex:1041749] model: gpt-5.2-codex
[codex:1041749] provider: openai
[codex:1041749] approval: never
[codex:1041749] sandbox: read-only
[codex:1041749] reasoning effort: xhigh
[codex:1041749] reasoning summaries: auto
[codex:1041749] session id: 019b863d-251c-7553-b2b0-fb618c2e46c0
[codex:1041749] --------
[codex:1041749] user
[codex:1041749] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1041749]
[codex:1041749] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1041749]
[codex:1041749] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1041749] - Gas inefficiency, code quality, naming, or best practices
[codex:1041749] - Theoretical vulnerabilities without a clear extraction path
[codex:1041749] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1041749] - Front-running unless it enables theft beyond MEV
[codex:1041749] - DoS, griefing, or issues that don't result in attacker profit
[codex:1041749] - Missing events, view function issues, or informational findings
[codex:1041749]
[codex:1041749] HIGH-VALUE PATTERNS TO HUNT:
[codex:1041749] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1041749] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1041749] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1041749] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1041749] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1041749] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1041749] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1041749] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1041749] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1041749]
[codex:1041749] For each finding, you MUST provide:
[codex:1041749] 1. Exact file and line numbers of vulnerable code
[codex:1041749] 2. Step-by-step exploit transaction sequence
[codex:1041749] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1041749]
[codex:1041749] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1041749]
[codex:1041749] Output MUST be valid JSON matching the provided schema.
[codex:1041749] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1041749] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1041749] mcp startup: no servers
[codex:1041749]
[codex:1041749] thinking
[codex:1041749] **Preparing to read instructions**
[codex:1041749] exec
[codex:1041749] /bin/bash -lc ls in /tmp/codex-multi-p2mbowgc succeeded in 5ms:
[codex:1041749] AUDIT_BUNDLE.txt
[codex:1041749] codex-output-schema.json
[codex:1041749] contracts
[codex:1041749] exec
[codex:1041749] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-p2mbowgc succeeded in 5ms:
[codex:1041749] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1041749]
[codex:1041749] ================================================================================
[codex:1041749] FILE: contracts/src/TinfunReserve.sol
[codex:1041749] ================================================================================
[codex:1041749] // SPDX-License-Identifier: MIT
[codex:1041749] pragma solidity 0.8.20;
[codex:1041749]
[codex:1041749] import {Initializable} from "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol";
[codex:1041749] import {ReentrancyGuardUpgradeable} from "lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol";
[codex:1041749] import {OwnableUpgradeable} from "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol";
[codex:1041749] import {ECDSAUpgradeable} from "lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/ECDSAUpgradeable.sol";
[codex:1041749]
[codex:1041749] /// @title Reserve Contract for Tinfun
[codex:1041749] /// @author Ji Le
[codex:1041749] /// @notice Receive and refund ETH for Tinfun Public Sale
[codex:1041749] /// @dev This contract is used for Tinfun Reserve
[codex:1041749] contract TinfunReserve is
[codex:1041749] Initializable,
[codex:1041749] OwnableUpgradeable,
[codex:1041749]
[codex:1041749] thinking
[codex:1041749] **Analyzing potential exploit paths**
[codex:1041749]
[codex:1041749] I'm carefully checking for any exploit opportunities like reentrancy, signature misuse, or owner withdrawal flaws, but I’m finding none that lead to attacker profit or misuse. Nonce usage and nonReentrant guards seem solid, and signature checks tie strictly to guests and amounts without allowing unauthorized gains. I'll prepare a JSON output indicating no findings and summarize that no concrete exploit paths were found.
[codex:1041749] codex
[codex:1041749] {"no_findings":true,"summary":"No concrete, exploitable profit paths found in the provided source.","findings":[]}
[codex:1041749] tokens used
[codex:1041749] 8,391
[codex:1041749] {"no_findings":true,"summary":"No concrete, exploitable profit paths found in the provided source.","findings":[]}
{
"codex": {
"ran_at": "2026-01-03T23:42:18.076301+00:00",
"returncode": 0
},
"summary": "No concrete, exploitable profit paths found in the provided source.",
"raw_final": {
"summary": "No concrete, exploitable profit paths found in the provided source.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x01b7 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x8a0dac4a 00000019: GT 0000001a: PUSH2 0x00ec 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xc4511c6a 00000024: GT 00000025: PUSH2 0x008a 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xdb2e1eed 0000002f: GT 00000030: PUSH2 0x0064 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xdb2e1eed 0000003a: EQ 0000003b: PUSH2 0x04f7 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xf2fde38b 00000045: EQ 00000046: PUSH2 0x050d 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xfbb26f47 00000050: EQ 00000051: PUSH2 0x052d 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xfbfa77cf 0000005b: EQ 0000005c: PUSH2 0x055a 0000005f: JUMPI 00000060: PUSH2 0x01b7 00000063: JUMP 00000064: JUMPDEST 00000065: DUP1 00000066: PUSH4 0xc4511c6a 0000006b: EQ 0000006c: PUSH2 0x0497 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0xce9c7c0d 00000076: EQ 00000077: PUSH2 0x04b7 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xd7bc87a3 00000081: EQ 00000082: PUSH2 0x04d7 00000085: JUMPI 00000086: PUSH2 0x01b7 00000089: JUMP 0000008a: JUMPDEST 0000008b: DUP1 0000008c: PUSH4 0x8f1e3767 00000091: GT 00000092: PUSH2 0x00c6 00000095: JUMPI 00000096: DUP1 00000097: PUSH4 0x8f1e3767 0000009c: EQ 0000009d: PUSH2 0x0427 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0xa076eedd 000000a7: EQ 000000a8: PUSH2 0x043a 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0xac369bb5 000000b2: EQ 000000b3: PUSH2 0x0461 000000b6: JUMPI 000000b7: DUP1 000000b8: PUSH4 0xc0c53b8b 000000bd: EQ 000000be: PUSH2 0x0477 000000c1: JUMPI 000000c2: PUSH2 0x01b7 000000c5: JUMP 000000c6: JUMPDEST 000000c7: DUP1 000000c8: PUSH4 0x8a0dac4a 000000cd: EQ 000000ce: PUSH2 0x03d3 000000d1: JUMPI 000000d2: DUP1 000000d3: PUSH4 0x8da5cb5b 000000d8: EQ 000000d9: PUSH2 0x03f3 000000dc: JUMPI 000000dd: DUP1 000000de: PUSH4 0x8ed83271 000000e3: EQ 000000e4: PUSH2 0x0411 000000e7: JUMPI 000000e8: PUSH2 0x01b7 000000eb: JUMP 000000ec: JUMPDEST 000000ed: DUP1 000000ee: PUSH4 0x57fe352d 000000f3: GT 000000f4: PUSH2 0x0159 000000f7: JUMPI 000000f8: DUP1 000000f9: PUSH4 0x6817031b 000000fe: GT 000000ff: PUSH2 0x0133 00000102: JUMPI 00000103: DUP1 00000104: PUSH4 0x6817031b 00000109: EQ 0000010a: PUSH2 0x035e 0000010d: JUMPI 0000010e: DUP1 0000010f: PUSH4 0x6c19e783 00000114: EQ 00000115: PUSH2 0x037e 00000118: JUMPI 00000119: DUP1 0000011a: PUSH4 0x715018a6 0000011f: EQ 00000120: PUSH2 0x039e 00000123: JUMPI 00000124: DUP1 00000125: PUSH4 0x81b5d3a7 0000012a: EQ 0000012b: PUSH2 0x03b3 0000012e: JUMPI 0000012f: PUSH2 0x01b7 00000132: JUMP 00000133: JUMPDEST 00000134: DUP1 00000135: PUSH4 0x57fe352d 0000013a: EQ 0000013b: PUSH2 0x02cf 0000013e: JUMPI 0000013f: DUP1 00000140: PUSH4 0x61a4422b 00000145: EQ 00000146: PUSH2 0x030f 00000149: JUMPI 0000014a: DUP1 0000014b: PUSH4 0x61ffe858 00000150: EQ 00000151: PUSH2 0x033f 00000154: JUMPI 00000155: PUSH2 0x01b7 00000158: JUMP 00000159: JUMPDEST 0000015a: DUP1 0000015b: PUSH4 0x3ccfd60b 00000160: GT 00000161: PUSH2 0x0195 00000164: JUMPI 00000165: DUP1 00000166: PUSH4 0x3ccfd60b 0000016b: EQ 0000016c: PUSH2 0x026a 0000016f: JUMPI 00000170: DUP1 00000171: PUSH4 0x44ae5541 00000176: EQ 00000177: PUSH2 0x027f 0000017a: JUMPI 0000017b: DUP1 0000017c: PUSH4 0x452a9320 00000181: EQ 00000182: PUSH2 0x029c 00000185: JUMPI 00000186: DUP1 00000187: PUSH4 0x4d2dddf1 0000018c: EQ 0000018d: PUSH2 0x02bc 00000190: JUMPI 00000191: PUSH2 0x01b7 00000194: JUMP 00000195: JUMPDEST 00000196: DUP1 00000197: PUSH4 0x1eb903cf 0000019c: EQ 0000019d: PUSH2 0x01d0 000001a0: JUMPI 000001a1: DUP1 000001a2: PUSH4 0x238ac933 000001a7: EQ 000001a8: PUSH2 0x0210 000001ab: JUMPI 000001ac: DUP1 000001ad: PUSH4 0x25d3752b 000001b2: EQ 000001b3: PUSH2 0x0248 000001b6: JUMPI 000001b7: JUMPDEST 000001b8: PUSH1 0x40 000001ba: MLOAD 000001bb: PUSH4 0xe6c4247b 000001c0: PUSH1 0xe0 000001c2: SHL 000001c3: DUP2 000001c4: MSTORE 000001c5: PUSH1 0x04 000001c7: ADD 000001c8: PUSH1 0x40 000001ca: MLOAD 000001cb: DUP1 000001cc: SWAP2 000001cd: SUB 000001ce: SWAP1 000001cf: REVERT 000001d0: JUMPDEST 000001d1: CALLVALUE 000001d2: DUP1 000001d3: ISZERO 000001d4: PUSH2 0x01dc 000001d7: JUMPI 000001d8: PUSH1 0x00 000001da: DUP1 000001db: REVERT 000001dc: JUMPDEST 000001dd: POP 000001de: PUSH2 0x01fd 000001e1: PUSH2 0x01eb 000001e4: CALLDATASIZE 000001e5: PUSH1 0x04 000001e7: PUSH2 0x14b3 000001ea: JUMP 000001eb: JUMPDEST 000001ec: PUSH1 0xa0 000001ee: PUSH1 0x20 000001f0: MSTORE 000001f1: PUSH1 0x00 000001f3: SWAP1 000001f4: DUP2 000001f5: MSTORE 000001f6: PUSH1 0x40 000001f8: SWAP1 000001f9: KECCAK256 000001fa: SLOAD 000001fb: DUP2 000001fc: JUMP 000001fd: JUMPDEST 000001fe: PUSH1 0x40 00000200: MLOAD 00000201: SWAP1 00000202: DUP2 00000203: MSTORE 00000204: PUSH1 0x20 00000206: ADD 00000207: JUMPDEST 00000208: PUSH1 0x40 0000020a: MLOAD 0000020b: DUP1 0000020c: SWAP2 0000020d: SUB 0000020e: SWAP1 0000020f: RETURN 00000210: JUMPDEST 00000211: CALLVALUE 00000212: DUP1 00000213: ISZERO 00000214: PUSH2 0x021c 00000217: JUMPI 00000218: PUSH1 0x00 0000021a: DUP1 0000021b: REVERT 0000021c: JUMPDEST 0000021d: POP 0000021e: PUSH1 0x97 00000220: SLOAD 00000221: PUSH2 0x0230 00000224: SWAP1 00000225: PUSH1 0x01 00000227: PUSH1 0x01 00000229: PUSH1 0xa0 0000022b: SHL 0000022c: SUB 0000022d: AND 0000022e: DUP2 0000022f: JUMP 00000230: JUMPDEST 00000231: PUSH1 0x40 00000233: MLOAD 00000234: PUSH1 0x01 00000236: PUSH1 0x01 00000238: PUSH1 0xa0 0000023a: SHL 0000023b: SUB 0000023c: SWAP1 0000023d: SWAP2 0000023e: AND 0000023f: DUP2 00000240: MSTORE 00000241: PUSH1 0x20 00000243: ADD 00000244: PUSH2 0x0207 00000247: JUMP 00000248: JUMPDEST 00000249: CALLVALUE 0000024a: DUP1 0000024b: ISZERO 0000024c: PUSH2 0x0254 0000024f: JUMPI 00000250: PUSH1 0x00 00000252: DUP1 00000253: REVERT 00000254: JUMPDEST 00000255: POP 00000256: PUSH2 0x0268 00000259: PUSH2 0x0263 0000025c: CALLDATASIZE 0000025d: PUSH1 0x04 0000025f: PUSH2 0x14d5 00000262: JUMP 00000263: JUMPDEST 00000264: PUSH2 0x057a 00000267: JUMP 00000268: JUMPDEST 00000269: STOP 0000026a: JUMPDEST 0000026b: CALLVALUE 0000026c: DUP1 0000026d: ISZERO 0000026e: PUSH2 0x0276 00000271: JUMPI 00000272: PUSH1 0x00 00000274: DUP1 00000275: REVERT 00000276: JUMPDEST 00000277: POP 00000278: PUSH2 0x0268 0000027b: PUSH2 0x0681 0000027e: JUMP 0000027f: JUMPDEST 00000280: CALLVALUE 00000281: DUP1 00000282: ISZERO 00000283: PUSH2 0x028b 00000286: JUMPI 00000287: PUSH1 0x00 00000289: DUP1 0000028a: REVERT 0000028b: JUMPDEST 0000028c: POP 0000028d: PUSH2 0x01fd 00000290: PUSH9 0x3635c9adc5dea00000 0000029a: DUP2 0000029b: JUMP 0000029c: JUMPDEST 0000029d: CALLVALUE 0000029e: DUP1 0000029f: ISZERO 000002a0: PUSH2 0x02a8 000002a3: JUMPI 000002a4: PUSH1 0x00 000002a6: DUP1 000002a7: REVERT 000002a8: JUMPDEST 000002a9: POP 000002aa: PUSH1 0x98 000002ac: SLOAD 000002ad: PUSH2 0x0230 000002b0: SWAP1 000002b1: PUSH1 0x01 000002b3: PUSH1 0x01 000002b5: PUSH1 0xa0 000002b7: SHL 000002b8: SUB 000002b9: AND 000002ba: DUP2 000002bb: JUMP 000002bc: JUMPDEST 000002bd: PUSH2 0x0268 000002c0: PUSH2 0x02ca 000002c3: CALLDATASIZE 000002c4: PUSH1 0x04 000002c6: PUSH2 0x14d5 000002c9: JUMP 000002ca: JUMPDEST 000002cb: PUSH2 0x0736 000002ce: JUMP 000002cf: JUMPDEST 000002d0: CALLVALUE 000002d1: DUP1 000002d2: ISZERO 000002d3: PUSH2 0x02db 000002d6: JUMPI 000002d7: PUSH1 0x00 000002d9: DUP1 000002da: REVERT 000002db: JUMPDEST 000002dc: POP 000002dd: PUSH2 0x02ff 000002e0: PUSH2 0x02ea 000002e3: CALLDATASIZE 000002e4: PUSH1 0x04 000002e6: PUSH2 0x14b3 000002e9: JUMP 000002ea: JUMPDEST 000002eb: PUSH1 0x9e 000002ed: PUSH1 0x20 000002ef: MSTORE 000002f0: PUSH1 0x00 000002f2: SWAP1 000002f3: DUP2 000002f4: MSTORE 000002f5: PUSH1 0x40 000002f7: SWAP1 000002f8: KECCAK256 000002f9: SLOAD 000002fa: PUSH1 0xff 000002fc: AND 000002fd: DUP2 000002fe: JUMP 000002ff: JUMPDEST 00000300: PUSH1 0x40 00000302: MLOAD 00000303: SWAP1 00000304: ISZERO 00000305: ISZERO 00000306: DUP2 00000307: MSTORE 00000308: PUSH1 0x20 0000030a: ADD 0000030b: PUSH2 0x0207 0000030e: JUMP 0000030f: JUMPDEST 00000310: CALLVALUE 00000311: DUP1 00000312: ISZERO 00000313: PUSH2 0x031b 00000316: JUMPI 00000317: PUSH1 0x00 00000319: DUP1 0000031a: REVERT 0000031b: JUMPDEST 0000031c: POP 0000031d: PUSH2 0x02ff 00000320: PUSH2 0x032a 00000323: CALLDATASIZE 00000324: PUSH1 0x04 00000326: PUSH2 0x1569 00000329: JUMP 0000032a: JUMPDEST 0000032b: PUSH1 0xa1 0000032d: PUSH1 0x20 0000032f: MSTORE 00000330: PUSH1 0x00 00000332: SWAP1 00000333: DUP2 00000334: MSTORE 00000335: PUSH1 0x40 00000337: SWAP1 00000338: KECCAK256 00000339: SLOAD 0000033a: PUSH1 0xff 0000033c: AND 0000033d: DUP2 0000033e: JUMP 0000033f: JUMPDEST 00000340: CALLVALUE 00000341: DUP1 00000342: ISZERO 00000343: PUSH2 0x034b 00000346: JUMPI 00000347: PUSH1 0x00 00000349: DUP1 0000034a: REVERT 0000034b: JUMPDEST 0000034c: POP 0000034d: PUSH1 0x9d 0000034f: SLOAD 00000350: PUSH2 0x02ff 00000353: SWAP1 00000354: PUSH2 0x0100 00000357: SWAP1 00000358: DIV 00000359: PUSH1 0xff 0000035b: AND 0000035c: DUP2 0000035d: JUMP 0000035e: JUMPDEST 0000035f: CALLVALUE 00000360: DUP1 00000361: ISZERO 00000362: PUSH2 0x036a 00000365: JUMPI 00000366: PUSH1 0x00 00000368: DUP1 00000369: REVERT 0000036a: JUMPDEST 0000036b: POP 0000036c: PUSH2 0x0268 0000036f: PUSH2 0x0379 00000372: CALLDATASIZE 00000373: PUSH1 0x04 00000375: PUSH2 0x14b3 00000378: JUMP 00000379: JUMPDEST 0000037a: PUSH2 0x081f 0000037d: JUMP 0000037e: JUMPDEST 0000037f: CALLVALUE 00000380: DUP1 00000381: ISZERO 00000382: PUSH2 0x038a 00000385: JUMPI 00000386: PUSH1 0x00 00000388: DUP1 00000389: REVERT 0000038a: JUMPDEST 0000038b: POP 0000038c: PUSH2 0x0268 0000038f: PUSH2 0x0399 00000392: CALLDATASIZE 00000393: PUSH1 0x04 00000395: PUSH2 0x14b3 00000398: JUMP 00000399: JUMPDEST 0000039a: PUSH2 0x0870 0000039d: JUMP 0000039e: JUMPDEST 0000039f: CALLVALUE 000003a0: DUP1 000003a1: ISZERO 000003a2: PUSH2 0x03aa 000003a5: JUMPI 000003a6: PUSH1 0x00 000003a8: DUP1 000003a9: REVERT 000003aa: JUMPDEST 000003ab: POP 000003ac: PUSH2 0x0268 000003af: PUSH2 0x08c1 000003b2: JUMP 000003b3: JUMPDEST 000003b4: CALLVALUE 000003b5: DUP1 000003b6: ISZERO 000003b7: PUSH2 0x03bf 000003ba: JUMPI 000003bb: PUSH1 0x00 000003bd: DUP1 000003be: REVERT 000003bf: JUMPDEST 000003c0: POP 000003c1: PUSH2 0x0268 000003c4: PUSH2 0x03ce 000003c7: CALLDATASIZE 000003c8: PUSH1 0x04 000003ca: PUSH2 0x1569 000003cd: JUMP 000003ce: JUMPDEST 000003cf: PUSH2 0x08d3 000003d2: JUMP 000003d3: JUMPDEST 000003d4: CALLVALUE 000003d5: DUP1 000003d6: ISZERO 000003d7: PUSH2 0x03df 000003da: JUMPI 000003db: PUSH1 0x00 000003dd: DUP1 000003de: REVERT 000003df: JUMPDEST 000003e0: POP 000003e1: PUSH2 0x0268 000003e4: PUSH2 0x03ee 000003e7: CALLDATASIZE 000003e8: PUSH1 0x04 000003ea: PUSH2 0x14b3 000003ed: JUMP 000003ee: JUMPDEST 000003ef: PUSH2 0x090a 000003f2: JUMP 000003f3: JUMPDEST 000003f4: CALLVALUE 000003f5: DUP1 000003f6: ISZERO 000003f7: PUSH2 0x03ff 000003fa: JUMPI 000003fb: PUSH1 0x00 000003fd: DUP1 000003fe: REVERT 000003ff: JUMPDEST 00000400: POP 00000401: PUSH1 0x33 00000403: SLOAD 00000404: PUSH1 0x01 00000406: PUSH1 0x01 00000408: PUSH1 0xa0 0000040a: SHL 0000040b: SUB 0000040c: AND 0000040d: PUSH2 0x0230 00000410: JUMP 00000411: JUMPDEST 00000412: CALLVALUE 00000413: DUP1 00000414: ISZERO 00000415: PUSH2 0x041d 00000418: JUMPI 00000419: PUSH1 0x00 0000041b: DUP1 0000041c: REVERT 0000041d: JUMPDEST 0000041e: POP 0000041f: PUSH2 0x01fd 00000422: PUSH1 0x9c 00000424: SLOAD 00000425: DUP2 00000426: JUMP 00000427: JUMPDEST 00000428: PUSH2 0x0268 0000042b: PUSH2 0x0435 0000042e: CALLDATASIZE 0000042f: PUSH1 0x04 00000431: PUSH2 0x14d5 00000434: JUMP 00000435: JUMPDEST 00000436: PUSH2 0x095b 00000439: JUMP 0000043a: JUMPDEST 0000043b: CALLVALUE 0000043c: DUP1 0000043d: ISZERO 0000043e: PUSH2 0x0446 00000441: JUMPI 00000442: PUSH1 0x00 00000444: DUP1 00000445: REVERT 00000446: JUMPDEST 00000447: POP 00000448: PUSH1 0x9d 0000044a: SLOAD 0000044b: PUSH2 0x0454 0000044e: SWAP1 0000044f: PUSH1 0xff 00000451: AND 00000452: DUP2 00000453: JUMP 00000454: JUMPDEST 00000455: PUSH1 0x40 00000457: MLOAD 00000458: PUSH2 0x0207 0000045b: SWAP2 0000045c: SWAP1 0000045d: PUSH2 0x1598 00000460: JUMP 00000461: JUMPDEST 00000462: CALLVALUE 00000463: DUP1 00000464: ISZERO 00000465: PUSH2 0x046d 00000468: JUMPI 00000469: PUSH1 0x00 0000046b: DUP1 0000046c: REVERT 0000046d: JUMPDEST 0000046e: POP 0000046f: PUSH2 0x01fd 00000472: PUSH1 0x9b 00000474: SLOAD 00000475: DUP2 00000476: JUMP 00000477: JUMPDEST 00000478: CALLVALUE 00000479: DUP1 0000047a: ISZERO 0000047b: PUSH2 0x0483 0000047e: JUMPI 0000047f: PUSH1 0x00 00000481: DUP1 00000482: REVERT 00000483: JUMPDEST 00000484: POP 00000485: PUSH2 0x0268 00000488: PUSH2 0x0492 0000048b: CALLDATASIZE 0000048c: PUSH1 0x04 0000048e: PUSH2 0x15c0 00000491: JUMP 00000492: JUMPDEST 00000493: PUSH2 0x0a67 00000496: JUMP 00000497: JUMPDEST 00000498: CALLVALUE 00000499: DUP1 0000049a: ISZERO 0000049b: PUSH2 0x04a3 0000049e: JUMPI 0000049f: PUSH1 0x00 000004a1: DUP1 000004a2: REVERT 000004a3: JUMPDEST 000004a4: POP 000004a5: PUSH2 0x0268 000004a8: PUSH2 0x04b2 000004ab: CALLDATASIZE 000004ac: PUSH1 0x04 000004ae: PUSH2 0x1569 000004b1: JUMP 000004b2: JUMPDEST 000004b3: PUSH2 0x0c1c 000004b6: JUMP 000004b7: JUMPDEST 000004b8: CALLVALUE 000004b9: DUP1 000004ba: ISZERO 000004bb: PUSH2 0x04c3 000004be: JUMPI 000004bf: PUSH1 0x00 000004c1: DUP1 000004c2: REVERT 000004c3: JUMPDEST 000004c4: POP 000004c5: PUSH2 0x0268 000004c8: PUSH2 0x04d2 000004cb: CALLDATASIZE 000004cc: PUSH1 0x04 000004ce: PUSH2 0x1569 000004d1: JUMP 000004d2: JUMPDEST 000004d3: PUSH2 0x0c4a 000004d6: JUMP 000004d7: JUMPDEST 000004d8: CALLVALUE 000004d9: DUP1 000004da: ISZERO 000004db: PUSH2 0x04e3 000004de: JUMPI 000004df: PUSH1 0x00 000004e1: DUP1 000004e2: REVERT 000004e3: JUMPDEST 000004e4: POP 000004e5: PUSH2 0x0268 000004e8: PUSH2 0x04f2 000004eb: CALLDATASIZE 000004ec: PUSH1 0x04 000004ee: PUSH2 0x1603 000004f1: JUMP 000004f2: JUMPDEST 000004f3: PUSH2 0x0c78 000004f6: JUMP 000004f7: JUMPDEST 000004f8: CALLVALUE 000004f9: DUP1 000004fa: ISZERO 000004fb: PUSH2 0x0503 000004fe: JUMPI 000004ff: PUSH1 0x00 00000501: DUP1 00000502: REVERT 00000503: JUMPDEST 00000504: POP 00000505: PUSH2 0x01fd 00000508: PUSH1 0x9a 0000050a: SLOAD 0000050b: DUP2 0000050c: JUMP 0000050d: JUMPDEST 0000050e: CALLVALUE 0000050f: DUP1 00000510: ISZERO 00000511: PUSH2 0x0519 00000514: JUMPI 00000515: PUSH1 0x00 00000517: DUP1 00000518: REVERT 00000519: JUMPDEST 0000051a: POP 0000051b: PUSH2 0x0268 0000051e: PUSH2 0x0528 00000521: CALLDATASIZE 00000522: PUSH1 0x04 00000524: PUSH2 0x14b3 00000527: JUMP 00000528: JUMPDEST 00000529: PUSH2 0x0cde 0000052c: JUMP 0000052d: JUMPDEST 0000052e: CALLVALUE 0000052f: DUP1 00000530: ISZERO 00000531: PUSH2 0x0539 00000534: JUMPI 00000535: PUSH1 0x00 00000537: DUP1 00000538: REVERT 00000539: JUMPDEST 0000053a: POP 0000053b: PUSH2 0x01fd 0000053e: PUSH2 0x0548 00000541: CALLDATASIZE 00000542: PUSH1 0x04 00000544: PUSH2 0x14b3 00000547: JUMP 00000548: JUMPDEST 00000549: PUSH1 0x9f 0000054b: PUSH1 0x20 0000054d: MSTORE 0000054e: PUSH1 0x00 00000550: SWAP1 00000551: DUP2 00000552: MSTORE 00000553: PUSH1 0x40 00000555: SWAP1 00000556: KECCAK256 00000557: SLOAD 00000558: DUP2 00000559: JUMP 0000055a: JUMPDEST 0000055b: CALLVALUE 0000055c: DUP1 0000055d: ISZERO 0000055e: PUSH2 0x0566 00000561: JUMPI 00000562: PUSH1 0x00 00000564: DUP1 00000565: REVERT 00000566: JUMPDEST 00000567: POP 00000568: PUSH1 0x99 0000056a: SLOAD 0000056b: PUSH2 0x0230 0000056e: SWAP1 0000056f: PUSH1 0x01 00000571: PUSH1 0x01 00000573: PUSH1 0xa0 00000575: SHL 00000576: SUB 00000577: AND 00000578: DUP2 00000579: JUMP 0000057a: JUMPDEST 0000057b: PUSH2 0x0582 0000057e: PUSH2 0x0d57 00000581: JUMP 00000582: JUMPDEST 00000583: CALLER 00000584: ORIGIN 00000585: EQ 00000586: PUSH2 0x05a2 00000589: JUMPI 0000058a: PUSH1 0x40 0000058c: MLOAD 0000058d: PUSH4 0x9f8129d1 00000592: PUSH1 0xe0 00000594: SHL 00000595: DUP2 00000596: MSTORE 00000597: PUSH1 0x04 00000599: ADD 0000059a: PUSH1 0x40 0000059c: MLOAD 0000059d: DUP1 0000059e: SWAP2 0000059f: SUB 000005a0: SWAP1 000005a1: REVERT 000005a2: JUMPDEST 000005a3: PUSH1 0x02 000005a5: PUSH1 0x9d 000005a7: SLOAD 000005a8: PUSH1 0xff 000005aa: AND 000005ab: PUSH1 0x02 000005ad: DUP2 000005ae: GT 000005af: ISZERO 000005b0: PUSH2 0x05bb 000005b3: JUMPI 000005b4: PUSH2 0x05bb 000005b7: PUSH2 0x1582 000005ba: JUMP 000005bb: JUMPDEST 000005bc: EQ 000005bd: PUSH2 0x05d9 000005c0: JUMPI 000005c1: PUSH1 0x40 000005c3: MLOAD 000005c4: PUSH4 0x1ba168fb 000005c9: PUSH1 0xe1 000005cb: SHL 000005cc: DUP2 000005cd: MSTORE 000005ce: PUSH1 0x04 000005d0: ADD 000005d1: PUSH1 0x40 000005d3: MLOAD 000005d4: DUP1 000005d5: SWAP2 000005d6: SUB 000005d7: SWAP1 000005d8: REVERT 000005d9: JUMPDEST 000005da: PUSH1 0x01 000005dc: PUSH1 0x01 000005de: PUSH1 0xa0 000005e0: SHL 000005e1: SUB 000005e2: DUP6 000005e3: AND 000005e4: PUSH1 0x00 000005e6: SWAP1 000005e7: DUP2 000005e8: MSTORE 000005e9: PUSH1 0x9e 000005eb: PUSH1 0x20 000005ed: MSTORE 000005ee: PUSH1 0x40 000005f0: SWAP1 000005f1: KECCAK256 000005f2: SLOAD 000005f3: PUSH1 0xff 000005f5: AND 000005f6: ISZERO 000005f7: PUSH2 0x0613 000005fa: JUMPI 000005fb: PUSH1 0x40 000005fd: MLOAD 000005fe: PUSH4 0x542f378d 00000603: PUSH1 0xe1 00000605: SHL 00000606: DUP2 00000607: MSTORE 00000608: PUSH1 0x04 0000060a: ADD 0000060b: PUSH1 0x40 0000060d: MLOAD 0000060e: DUP1 0000060f: SWAP2 00000610: SUB 00000611: SWAP1 00000612: REVERT 00000613: JUMPDEST 00000614: PUSH1 0x01 00000616: PUSH1 0x01 00000618: PUSH1 0xa0 0000061a: SHL 0000061b: SUB 0000061c: DUP6 0000061d: AND 0000061e: PUSH1 0x00 00000620: SWAP1 00000621: DUP2 00000622: MSTORE 00000623: PUSH1 0xa0 00000625: PUSH1 0x20 00000627: MSTORE 00000628: PUSH1 0x40 0000062a: SWAP1 0000062b: KECCAK256 0000062c: SLOAD 0000062d: DUP5 0000062e: GT 0000062f: ISZERO 00000630: PUSH2 0x064c 00000633: JUMPI 00000634: PUSH1 0x40 00000636: MLOAD 00000637: PUSH4 0x044044a5 0000063c: PUSH1 0xe2 0000063e: SHL 0000063f: DUP2 00000640: MSTORE 00000641: PUSH1 0x04 00000643: ADD 00000644: PUSH1 0x40 00000646: MLOAD 00000647: DUP1 00000648: SWAP2 00000649: SUB 0000064a: SWAP1 0000064b: REVERT 0000064c: JUMPDEST 0000064d: PUSH1 0x97 0000064f: SLOAD 00000650: PUSH2 0x0666 00000653: SWAP1 00000654: PUSH1 0x01 00000656: PUSH1 0x01 00000658: PUSH1 0xa0 0000065a: SHL 0000065b: SUB 0000065c: AND 0000065d: DUP7 0000065e: DUP7 0000065f: DUP7 00000660: DUP7 00000661: DUP7 00000662: PUSH2 0x0db0 00000665: JUMP 00000666: JUMPDEST 00000667: PUSH2 0x0670 0000066a: DUP6 0000066b: DUP6 0000066c: PUSH2 0x0eea 0000066f: JUMP 00000670: JUMPDEST 00000671: PUSH2 0x067a 00000674: PUSH1 0x01 00000676: PUSH1 0x65 00000678: SSTORE 00000679: JUMP 0000067a: JUMPDEST 0000067b: POP 0000067c: POP 0000067d: POP 0000067e: POP 0000067f: POP 00000680: JUMP 00000681: JUMPDEST 00000682: PUSH2 0x0689 00000685: PUSH2 0x0f65 00000688: JUMP 00000689: JUMPDEST 0000068a: PUSH1 0x02 0000068c: PUSH1 0x9d 0000068e: SLOAD 0000068f: PUSH1 0xff 00000691: AND 00000692: PUSH1 0x02 00000694: DUP2 00000695: GT 00000696: ISZERO 00000697: PUSH2 0x06a2 0000069a: JUMPI 0000069b: PUSH2 0x06a2 0000069e: PUSH2 0x1582 000006a1: JUMP 000006a2: JUMPDEST 000006a3: EQ 000006a4: PUSH2 0x06c0 000006a7: JUMPI 000006a8: PUSH1 0x40 000006aa: MLOAD 000006ab: PUSH4 0xe82a5329 000006b0: PUSH1 0xe0 000006b2: SHL 000006b3: DUP2 000006b4: MSTORE 000006b5: PUSH1 0x04 000006b7: ADD 000006b8: PUSH1 0x40 000006ba: MLOAD 000006bb: DUP1 000006bc: SWAP2 000006bd: SUB 000006be: SWAP1 000006bf: REVERT 000006c0: JUMPDEST 000006c1: SELFBALANCE 000006c2: PUSH1 0x9b 000006c4: SLOAD 000006c5: GT 000006c6: ISZERO 000006c7: PUSH2 0x06e3 000006ca: JUMPI 000006cb: PUSH1 0x40 000006cd: MLOAD 000006ce: PUSH4 0x044044a5 000006d3: PUSH1 0xe2 000006d5: SHL 000006d6: DUP2 000006d7: MSTORE 000006d8: PUSH1 0x04 000006da: ADD 000006db: PUSH1 0x40 000006dd: MLOAD 000006de: DUP1 000006df: SWAP2 000006e0: SUB 000006e1: SWAP1 000006e2: REVERT 000006e3: JUMPDEST 000006e4: PUSH1 0x9d 000006e6: SLOAD 000006e7: PUSH2 0x0100 000006ea: SWAP1 000006eb: DIV 000006ec: PUSH1 0xff 000006ee: AND 000006ef: ISZERO 000006f0: PUSH2 0x070c 000006f3: JUMPI 000006f4: PUSH1 0x40 000006f6: MLOAD 000006f7: PUSH4 0x6507689f 000006fc: PUSH1 0xe0 000006fe: SHL 000006ff: DUP2 00000700: MSTORE 00000701: PUSH1 0x04 00000703: ADD 00000704: PUSH1 0x40 00000706: MLOAD 00000707: DUP1 00000708: SWAP2 00000709: SUB 0000070a: SWAP1 0000070b: REVERT 0000070c: JUMPDEST 0000070d: PUSH1 0x9d 0000070f: DUP1 00000710: SLOAD 00000711: PUSH2 0xff00 00000714: NOT 00000715: AND 00000716: PUSH2 0x0100 00000719: OR 0000071a: SWAP1 0000071b: SSTORE 0000071c: PUSH1 0x99 0000071e: SLOAD 0000071f: PUSH1 0x9b 00000721: SLOAD 00000722: PUSH2 0x0734 00000725: SWAP2 00000726: PUSH1 0x01 00000728: PUSH1 0x01 0000072a: PUSH1 0xa0 0000072c: SHL 0000072d: SUB 0000072e: AND 0000072f: SWAP1 00000730: PUSH2 0x0fbf 00000733: JUMP 00000734: JUMPDEST 00000735: JUMP 00000736: JUMPDEST 00000737: PUSH2 0x073e 0000073a: PUSH2 0x0d57 0000073d: JUMP 0000073e: JUMPDEST 0000073f: CALLER 00000740: ORIGIN 00000741: EQ 00000742: PUSH2 0x075e 00000745: JUMPI 00000746: PUSH1 0x40 00000748: MLOAD 00000749: PUSH4 0x9f8129d1 0000074e: PUSH1 0xe0 00000750: SHL 00000751: DUP2 00000752: MSTORE 00000753: PUSH1 0x04 00000755: ADD 00000756: PUSH1 0x40 00000758: MLOAD 00000759: DUP1 0000075a: SWAP2 0000075b: SUB 0000075c: SWAP1 0000075d: REVERT 0000075e: JUMPDEST 0000075f: PUSH1 0x01 00000761: PUSH1 0x9d 00000763: SLOAD 00000764: PUSH1 0xff 00000766: AND 00000767: PUSH1 0x02 00000769: DUP2 0000076a: GT 0000076b: ISZERO 0000076c: PUSH2 0x0777 0000076f: JUMPI 00000770: PUSH2 0x0777 00000773: PUSH2 0x1582 00000776: JUMP 00000777: JUMPDEST 00000778: EQ 00000779: PUSH2 0x0795 0000077c: JUMPI 0000077d: PUSH1 0x40 0000077f: MLOAD 00000780: PUSH4 0xe82a5329 00000785: PUSH1 0xe0 00000787: SHL 00000788: DUP2 00000789: MSTORE 0000078a: PUSH1 0x04 0000078c: ADD 0000078d: PUSH1 0x40 0000078f: MLOAD 00000790: DUP1 00000791: SWAP2 00000792: SUB 00000793: SWAP1 00000794: REVERT 00000795: JUMPDEST 00000796: DUP4 00000797: PUSH1 0x9a 00000799: SLOAD 0000079a: PUSH2 0x07a3 0000079d: SWAP2 0000079e: SWAP1 0000079f: PUSH2 0x163a 000007a2: JUMP 000007a3: JUMPDEST 000007a4: CALLVALUE 000007a5: EQ 000007a6: PUSH2 0x07c2 000007a9: JUMPI 000007aa: PUSH1 0x40 000007ac: MLOAD 000007ad: PUSH4 0x044044a5 000007b2: PUSH1 0xe2 000007b4: SHL 000007b5: DUP2 000007b6: MSTORE 000007b7: PUSH1 0x04 000007b9: ADD 000007ba: PUSH1 0x40 000007bc: MLOAD 000007bd: DUP1 000007be: SWAP2 000007bf: SUB 000007c0: SWAP1 000007c1: REVERT 000007c2: JUMPDEST 000007c3: PUSH1 0x01 000007c5: PUSH1 0x01 000007c7: PUSH1 0xa0 000007c9: SHL 000007ca: SUB 000007cb: DUP6 000007cc: AND 000007cd: PUSH1 0x00 000007cf: SWAP1 000007d0: DUP2 000007d1: MSTORE 000007d2: PUSH1 0x9f 000007d4: PUSH1 0x20 000007d6: MSTORE 000007d7: PUSH1 0x40 000007d9: SWAP1 000007da: KECCAK256 000007db: SLOAD 000007dc: ISZERO 000007dd: PUSH2 0x07f9 000007e0: JUMPI 000007e1: PUSH1 0x40 000007e3: MLOAD 000007e4: PUSH4 0x43d9a503 000007e9: PUSH1 0xe1 000007eb: SHL 000007ec: DUP2 000007ed: MSTORE 000007ee: PUSH1 0x04 000007f0: ADD 000007f1: PUSH1 0x40 000007f3: MLOAD 000007f4: DUP1 000007f5: SWAP2 000007f6: SUB 000007f7: SWAP1 000007f8: REVERT 000007f9: JUMPDEST 000007fa: PUSH1 0x97 000007fc: SLOAD 000007fd: PUSH2 0x0813 00000800: SWAP1 00000801: PUSH1 0x01 00000803: PUSH1 0x01 00000805: PUSH1 0xa0 00000807: SHL 00000808: SUB 00000809: AND 0000080a: DUP7 0000080b: DUP7 0000080c: DUP7 0000080d: DUP7 0000080e: DUP7 0000080f: PUSH2 0x0db0 00000812: JUMP 00000813: JUMPDEST 00000814: PUSH2 0x0670 00000817: PUSH1 0x01 00000819: DUP7 0000081a: CALLVALUE 0000081b: PUSH2 0x1038 0000081e: JUMP 0000081f: JUMPDEST 00000820: PUSH2 0x0827 00000823: PUSH2 0x0f65 00000826: JUMP 00000827: JUMPDEST 00000828: PUSH1 0x01 0000082a: PUSH1 0x01 0000082c: PUSH1 0xa0 0000082e: SHL 0000082f: SUB 00000830: DUP2 00000831: AND 00000832: PUSH2 0x084e 00000835: JUMPI 00000836: PUSH1 0x40 00000838: MLOAD 00000839: PUSH4 0xe6c4247b 0000083e: PUSH1 0xe0 00000840: SHL 00000841: DUP2 00000842: MSTORE 00000843: PUSH1 0x04 00000845: ADD 00000846: PUSH1 0x40 00000848: MLOAD 00000849: DUP1 0000084a: SWAP2 0000084b: SUB 0000084c: SWAP1 0000084d: REVERT 0000084e: JUMPDEST 0000084f: PUSH1 0x99 00000851: DUP1 00000852: SLOAD 00000853: PUSH1 0x01 00000855: PUSH1 0x01 00000857: PUSH1 0xa0 00000859: SHL 0000085a: SUB 0000085b: NOT 0000085c: AND 0000085d: PUSH1 0x01 0000085f: PUSH1 0x01 00000861: PUSH1 0xa0 00000863: SHL 00000864: SUB 00000865: SWAP3 00000866: SWAP1 00000867: SWAP3 00000868: AND 00000869: SWAP2 0000086a: SWAP1 0000086b: SWAP2 0000086c: OR 0000086d: SWAP1 0000086e: SSTORE 0000086f: JUMP 00000870: JUMPDEST 00000871: PUSH2 0x0878 00000874: PUSH2 0x0f65 00000877: JUMP 00000878: JUMPDEST 00000879: PUSH1 0x01 0000087b: PUSH1 0x01 0000087d: PUSH1 0xa0 0000087f: SHL 00000880: SUB 00000881: DUP2 00000882: AND 00000883: PUSH2 0x089f 00000886: JUMPI 00000887: PUSH1 0x40 00000889: MLOAD 0000088a: PUSH4 0xe6c4247b 0000088f: PUSH1 0xe0 00000891: SHL 00000892: DUP2 00000893: MSTORE 00000894: PUSH1 0x04 00000896: ADD 00000897: PUSH1 0x40 00000899: MLOAD 0000089a: DUP1 0000089b: SWAP2 0000089c: SUB 0000089d: SWAP1 0000089e: REVERT 0000089f: JUMPDEST 000008a0: PUSH1 0x97 000008a2: DUP1 000008a3: SLOAD 000008a4: PUSH1 0x01 000008a6: PUSH1 0x01 000008a8: PUSH1 0xa0 000008aa: SHL 000008ab: SUB 000008ac: NOT 000008ad: AND 000008ae: PUSH1 0x01 000008b0: PUSH1 0x01 000008b2: PUSH1 0xa0 000008b4: SHL 000008b5: SUB 000008b6: SWAP3 000008b7: SWAP1 000008b8: SWAP3 000008b9: AND 000008ba: SWAP2 000008bb: SWAP1 000008bc: SWAP2 000008bd: OR 000008be: SWAP1 000008bf: SSTORE 000008c0: JUMP 000008c1: JUMPDEST 000008c2: PUSH2 0x08c9 000008c5: PUSH2 0x0f65 000008c8: JUMP 000008c9: JUMPDEST 000008ca: PUSH2 0x0734 000008cd: PUSH1 0x00 000008cf: PUSH2 0x1117 000008d2: JUMP 000008d3: JUMPDEST 000008d4: PUSH2 0x08db 000008d7: PUSH2 0x0f65 000008da: JUMP 000008db: JUMPDEST 000008dc: PUSH9 0x3635c9adc5dea00000 000008e6: DUP2 000008e7: GT 000008e8: ISZERO 000008e9: PUSH2 0x0905 000008ec: JUMPI 000008ed: PUSH1 0x40 000008ef: MLOAD 000008f0: PUSH4 0xb379a6ad 000008f5: PUSH1 0xe0 000008f7: SHL 000008f8: DUP2 000008f9: MSTORE 000008fa: PUSH1 0x04 000008fc: ADD 000008fd: PUSH1 0x40 000008ff: MLOAD 00000900: DUP1 00000901: SWAP2 00000902: SUB 00000903: SWAP1 00000904: REVERT 00000905: JUMPDEST 00000906: PUSH1 0x9b 00000908: SSTORE 00000909: JUMP 0000090a: JUMPDEST 0000090b: PUSH2 0x0912 0000090e: PUSH2 0x0f65 00000911: JUMP 00000912: JUMPDEST 00000913: PUSH1 0x01 00000915: PUSH1 0x01 00000917: PUSH1 0xa0 00000919: SHL 0000091a: SUB 0000091b: DUP2 0000091c: AND 0000091d: PUSH2 0x0939 00000920: JUMPI 00000921: PUSH1 0x40 00000923: MLOAD 00000924: PUSH4 0xe6c4247b 00000929: PUSH1 0xe0 0000092b: SHL 0000092c: DUP2 0000092d: MSTORE 0000092e: PUSH1 0x04 00000930: ADD 00000931: PUSH1 0x40 00000933: MLOAD 00000934: DUP1 00000935: SWAP2 00000936: SUB 00000937: SWAP1 00000938: REVERT 00000939: JUMPDEST 0000093a: PUSH1 0x98 0000093c: DUP1 0000093d: SLOAD 0000093e: PUSH1 0x01 00000940: PUSH1 0x01 00000942: PUSH1 0xa0 00000944: SHL 00000945: SUB 00000946: NOT 00000947: AND 00000948: PUSH1 0x01 0000094a: PUSH1 0x01 0000094c: PUSH1 0xa0 0000094e: SHL 0000094f: SUB 00000950: SWAP3 00000951: SWAP1 00000952: SWAP3 00000953: AND 00000954: SWAP2 00000955: SWAP1 00000956: SWAP2 00000957: OR 00000958: SWAP1 00000959: SSTORE 0000095a: JUMP 0000095b: JUMPDEST 0000095c: PUSH2 0x0963 0000095f: PUSH2 0x0d57 00000962: JUMP 00000963: JUMPDEST 00000964: CALLER 00000965: ORIGIN 00000966: EQ 00000967: PUSH2 0x0983 0000096a: JUMPI 0000096b: PUSH1 0x40 0000096d: MLOAD 0000096e: PUSH4 0x9f8129d1 00000973: PUSH1 0xe0 00000975: SHL 00000976: DUP2 00000977: MSTORE 00000978: PUSH1 0x04 0000097a: ADD 0000097b: PUSH1 0x40 0000097d: MLOAD 0000097e: DUP1 0000097f: SWAP2 00000980: SUB 00000981: SWAP1 00000982: REVERT 00000983: JUMPDEST 00000984: PUSH1 0x01 00000986: PUSH1 0x9d 00000988: SLOAD 00000989: PUSH1 0xff 0000098b: AND 0000098c: PUSH1 0x02 0000098e: DUP2 0000098f: GT 00000990: ISZERO 00000991: PUSH2 0x099c 00000994: JUMPI 00000995: PUSH2 0x099c 00000998: PUSH2 0x1582 0000099b: JUMP 0000099c: JUMPDEST 0000099d: EQ 0000099e: PUSH2 0x09ba 000009a1: JUMPI 000009a2: PUSH1 0x40 000009a4: MLOAD 000009a5: PUSH4 0xe82a5329 000009aa: PUSH1 0xe0 000009ac: SHL 000009ad: DUP2 000009ae: MSTORE 000009af: PUSH1 0x04 000009b1: ADD 000009b2: PUSH1 0x40 000009b4: MLOAD 000009b5: DUP1 000009b6: SWAP2 000009b7: SUB 000009b8: SWAP1 000009b9: REVERT 000009ba: JUMPDEST 000009bb: PUSH1 0x9c 000009bd: SLOAD 000009be: CALLVALUE 000009bf: GT 000009c0: ISZERO 000009c1: PUSH2 0x09dd 000009c4: JUMPI 000009c5: PUSH1 0x40 000009c7: MLOAD 000009c8: PUSH4 0x75f4b911 000009cd: PUSH1 0xe0 000009cf: SHL 000009d0: DUP2 000009d1: MSTORE 000009d2: PUSH1 0x04 000009d4: ADD 000009d5: PUSH1 0x40 000009d7: MLOAD 000009d8: DUP1 000009d9: SWAP2 000009da: SUB 000009db: SWAP1 000009dc: REVERT 000009dd: JUMPDEST 000009de: DUP4 000009df: PUSH1 0x9a 000009e1: SLOAD 000009e2: PUSH2 0x09eb 000009e5: SWAP2 000009e6: SWAP1 000009e7: PUSH2 0x163a 000009ea: JUMP 000009eb: JUMPDEST 000009ec: CALLVALUE 000009ed: EQ 000009ee: PUSH2 0x0a0a 000009f1: JUMPI 000009f2: PUSH1 0x40 000009f4: MLOAD 000009f5: PUSH4 0x044044a5 000009fa: PUSH1 0xe2 000009fc: SHL 000009fd: DUP2 000009fe: MSTORE 000009ff: PUSH1 0x04 00000a01: ADD 00000a02: PUSH1 0x40 00000a04: MLOAD 00000a05: DUP1 00000a06: SWAP2 00000a07: SUB 00000a08: SWAP1 00000a09: REVERT 00000a0a: JUMPDEST 00000a0b: PUSH1 0x01 00000a0d: PUSH1 0x01 00000a0f: PUSH1 0xa0 00000a11: SHL 00000a12: SUB 00000a13: DUP6 00000a14: AND 00000a15: PUSH1 0x00 00000a17: SWAP1 00000a18: DUP2 00000a19: MSTORE 00000a1a: PUSH1 0xa0 00000a1c: PUSH1 0x20 00000a1e: MSTORE 00000a1f: PUSH1 0x40 00000a21: SWAP1 00000a22: KECCAK256 00000a23: SLOAD 00000a24: ISZERO 00000a25: PUSH2 0x0a41 00000a28: JUMPI 00000a29: PUSH1 0x40 00000a2b: MLOAD 00000a2c: PUSH4 0x43d9a503 00000a31: PUSH1 0xe1 00000a33: SHL 00000a34: DUP2 00000a35: MSTORE 00000a36: PUSH1 0x04 00000a38: ADD 00000a39: PUSH1 0x40 00000a3b: MLOAD 00000a3c: DUP1 00000a3d: SWAP2 00000a3e: SUB 00000a3f: SWAP1 00000a40: REVERT 00000a41: JUMPDEST 00000a42: PUSH1 0x98 00000a44: SLOAD 00000a45: PUSH2 0x0a5b 00000a48: SWAP1 00000a49: PUSH1 0x01 00000a4b: PUSH1 0x01 00000a4d: PUSH1 0xa0 00000a4f: SHL 00000a50: SUB 00000a51: AND 00000a52: DUP7 00000a53: DUP7 00000a54: DUP7 00000a55: DUP7 00000a56: DUP7 00000a57: PUSH2 0x0db0 00000a5a: JUMP 00000a5b: JUMPDEST 00000a5c: PUSH2 0x0670 00000a5f: PUSH1 0x00 00000a61: DUP7 00000a62: CALLVALUE 00000a63: PUSH2 0x1038 00000a66: JUMP 00000a67: JUMPDEST 00000a68: PUSH1 0x00 00000a6a: SLOAD 00000a6b: PUSH2 0x0100 00000a6e: SWAP1 00000a6f: DIV 00000a70: PUSH1 0xff 00000a72: AND 00000a73: ISZERO 00000a74: DUP1 00000a75: DUP1 00000a76: ISZERO 00000a77: PUSH2 0x0a87 00000a7a: JUMPI 00000a7b: POP 00000a7c: PUSH1 0x00 00000a7e: SLOAD 00000a7f: PUSH1 0x01 00000a81: PUSH1 0xff 00000a83: SWAP1 00000a84: SWAP2 00000a85: AND 00000a86: LT 00000a87: JUMPDEST 00000a88: DUP1 00000a89: PUSH2 0x0aa1 00000a8c: JUMPI 00000a8d: POP 00000a8e: ADDRESS 00000a8f: EXTCODESIZE 00000a90: ISZERO 00000a91: DUP1 00000a92: ISZERO 00000a93: PUSH2 0x0aa1 00000a96: JUMPI 00000a97: POP 00000a98: PUSH1 0x00 00000a9a: SLOAD 00000a9b: PUSH1 0xff 00000a9d: AND 00000a9e: PUSH1 0x01 00000aa0: EQ 00000aa1: JUMPDEST 00000aa2: PUSH2 0x0b09 00000aa5: JUMPI 00000aa6: PUSH1 0x40 00000aa8: MLOAD 00000aa9: PUSH3 0x461bcd 00000aad: PUSH1 0xe5 00000aaf: SHL 00000ab0: DUP2 00000ab1: MSTORE 00000ab2: PUSH1 0x20 00000ab4: PUSH1 0x04 00000ab6: DUP3 00000ab7: ADD 00000ab8: MSTORE 00000ab9: PUSH1 0x2e 00000abb: PUSH1 0x24 00000abd: DUP3 00000abe: ADD 00000abf: MSTORE 00000ac0: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561 00000ae1: PUSH1 0x44 00000ae3: DUP3 00000ae4: ADD 00000ae5: MSTORE 00000ae6: PUSH14 0x191e481a5b9a5d1a585b1a5e9959 00000af5: PUSH1 0x92 00000af7: SHL 00000af8: PUSH1 0x64 00000afa: DUP3 00000afb: ADD 00000afc: MSTORE 00000afd: PUSH1 0x84 00000aff: ADD 00000b00: JUMPDEST 00000b01: PUSH1 0x40 00000b03: MLOAD 00000b04: DUP1 00000b05: SWAP2 00000b06: SUB 00000b07: SWAP1 00000b08: REVERT 00000b09: JUMPDEST 00000b0a: PUSH1 0x00 00000b0c: DUP1 00000b0d: SLOAD 00000b0e: PUSH1 0xff 00000b10: NOT 00000b11: AND 00000b12: PUSH1 0x01 00000b14: OR 00000b15: SWAP1 00000b16: SSTORE 00000b17: DUP1 00000b18: ISZERO 00000b19: PUSH2 0x0b2c 00000b1c: JUMPI 00000b1d: PUSH1 0x00 00000b1f: DUP1 00000b20: SLOAD 00000b21: PUSH2 0xff00 00000b24: NOT 00000b25: AND 00000b26: PUSH2 0x0100 00000b29: OR 00000b2a: SWAP1 00000b2b: SSTORE 00000b2c: JUMPDEST 00000b2d: PUSH2 0x0b34 00000b30: PUSH2 0x1169 00000b33: JUMP 00000b34: JUMPDEST 00000b35: PUSH2 0x0b3c 00000b38: PUSH2 0x1198 00000b3b: JUMP 00000b3c: JUMPDEST 00000b3d: PUSH1 0x01 00000b3f: PUSH1 0x01 00000b41: PUSH1 0xa0 00000b43: SHL 00000b44: SUB 00000b45: DUP5 00000b46: AND 00000b47: ISZERO 00000b48: DUP1 00000b49: PUSH2 0x0b59 00000b4c: JUMPI 00000b4d: POP 00000b4e: PUSH1 0x01 00000b50: PUSH1 0x01 00000b52: PUSH1 0xa0 00000b54: SHL 00000b55: SUB 00000b56: DUP4 00000b57: AND 00000b58: ISZERO 00000b59: JUMPDEST 00000b5a: DUP1 00000b5b: PUSH2 0x0b6b 00000b5e: JUMPI 00000b5f: POP 00000b60: PUSH1 0x01 00000b62: PUSH1 0x01 00000b64: PUSH1 0xa0 00000b66: SHL 00000b67: SUB 00000b68: DUP3 00000b69: AND 00000b6a: ISZERO 00000b6b: JUMPDEST 00000b6c: ISZERO 00000b6d: PUSH2 0x0b89 00000b70: JUMPI 00000b71: PUSH1 0x40 00000b73: MLOAD 00000b74: PUSH4 0xe6c4247b 00000b79: PUSH1 0xe0 00000b7b: SHL 00000b7c: DUP2 00000b7d: MSTORE 00000b7e: PUSH1 0x04 00000b80: ADD 00000b81: PUSH1 0x40 00000b83: MLOAD 00000b84: DUP1 00000b85: SWAP2 00000b86: SUB 00000b87: SWAP1 00000b88: REVERT 00000b89: JUMPDEST 00000b8a: PUSH1 0x97 00000b8c: DUP1 00000b8d: SLOAD 00000b8e: PUSH1 0x01 00000b90: PUSH1 0x01 00000b92: PUSH1 0xa0 00000b94: SHL 00000b95: SUB 00000b96: DUP7 00000b97: DUP2 00000b98: AND 00000b99: PUSH1 0x01 00000b9b: PUSH1 0x01 00000b9d: PUSH1 0xa0 00000b9f: SHL 00000ba0: SUB 00000ba1: NOT 00000ba2: SWAP3 00000ba3: DUP4 00000ba4: AND 00000ba5: OR 00000ba6: SWAP1 00000ba7: SWAP3 00000ba8: SSTORE 00000ba9: PUSH1 0x98 00000bab: DUP1 00000bac: SLOAD 00000bad: DUP7 00000bae: DUP5 00000baf: AND 00000bb0: SWAP1 00000bb1: DUP4 00000bb2: AND 00000bb3: OR 00000bb4: SWAP1 00000bb5: SSTORE 00000bb6: PUSH1 0x99 00000bb8: DUP1 00000bb9: SLOAD 00000bba: SWAP3 00000bbb: DUP6 00000bbc: AND 00000bbd: SWAP3 00000bbe: SWAP1 00000bbf: SWAP2 00000bc0: AND 00000bc1: SWAP2 00000bc2: SWAP1 00000bc3: SWAP2 00000bc4: OR 00000bc5: SWAP1 00000bc6: SSTORE 00000bc7: PUSH1 0x9d 00000bc9: DUP1 00000bca: SLOAD 00000bcb: PUSH1 0xff 00000bcd: NOT 00000bce: AND 00000bcf: SWAP1 00000bd0: SSTORE 00000bd1: DUP1 00000bd2: ISZERO 00000bd3: PUSH2 0x0c16 00000bd6: JUMPI 00000bd7: PUSH1 0x00 00000bd9: DUP1 00000bda: SLOAD 00000bdb: PUSH2 0xff00 00000bde: NOT 00000bdf: AND 00000be0: SWAP1 00000be1: SSTORE 00000be2: PUSH1 0x40 00000be4: MLOAD 00000be5: PUSH1 0x01 00000be7: DUP2 00000be8: MSTORE 00000be9: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498 00000c0a: SWAP1 00000c0b: PUSH1 0x20 00000c0d: ADD 00000c0e: PUSH1 0x40 00000c10: MLOAD 00000c11: DUP1 00000c12: SWAP2 00000c13: SUB 00000c14: SWAP1 00000c15: LOG1 00000c16: JUMPDEST 00000c17: POP 00000c18: POP 00000c19: POP 00000c1a: POP 00000c1b: JUMP 00000c1c: JUMPDEST 00000c1d: PUSH2 0x0c24 00000c20: PUSH2 0x0f65 00000c23: JUMP 00000c24: JUMPDEST 00000c25: DUP1 00000c26: PUSH1 0x00 00000c28: SUB 00000c29: PUSH2 0x0c45 00000c2c: JUMPI 00000c2d: PUSH1 0x40 00000c2f: MLOAD 00000c30: PUSH4 0x2a9ffab7 00000c35: PUSH1 0xe2 00000c37: SHL 00000c38: DUP2 00000c39: MSTORE 00000c3a: PUSH1 0x04 00000c3c: ADD 00000c3d: PUSH1 0x40 00000c3f: MLOAD 00000c40: DUP1 00000c41: SWAP2 00000c42: SUB 00000c43: SWAP1 00000c44: REVERT 00000c45: JUMPDEST 00000c46: PUSH1 0x9c 00000c48: SSTORE 00000c49: JUMP 00000c4a: JUMPDEST 00000c4b: PUSH2 0x0c52 00000c4e: PUSH2 0x0f65 00000c51: JUMP 00000c52: JUMPDEST 00000c53: DUP1 00000c54: PUSH1 0x00 00000c56: SUB 00000c57: PUSH2 0x0c73 00000c5a: JUMPI 00000c5b: PUSH1 0x40 00000c5d: MLOAD 00000c5e: PUSH4 0x2a9ffab7 00000c63: PUSH1 0xe2 00000c65: SHL 00000c66: DUP2 00000c67: MSTORE 00000c68: PUSH1 0x04 00000c6a: ADD 00000c6b: PUSH1 0x40 00000c6d: MLOAD 00000c6e: DUP1 00000c6f: SWAP2 00000c70: SUB 00000c71: SWAP1 00000c72: REVERT 00000c73: JUMPDEST 00000c74: PUSH1 0x9a 00000c76: SSTORE 00000c77: JUMP 00000c78: JUMPDEST 00000c79: PUSH2 0x0c80 00000c7c: PUSH2 0x0f65 00000c7f: JUMP 00000c80: JUMPDEST 00000c81: PUSH1 0x9d 00000c83: DUP1 00000c84: SLOAD 00000c85: DUP3 00000c86: SWAP2 00000c87: SWAP1 00000c88: PUSH1 0xff 00000c8a: NOT 00000c8b: AND 00000c8c: PUSH1 0x01 00000c8e: DUP4 00000c8f: PUSH1 0x02 00000c91: DUP2 00000c92: GT 00000c93: ISZERO 00000c94: PUSH2 0x0c9f 00000c97: JUMPI 00000c98: PUSH2 0x0c9f 00000c9b: PUSH2 0x1582 00000c9e: JUMP 00000c9f: JUMPDEST 00000ca0: MUL 00000ca1: OR 00000ca2: SWAP1 00000ca3: SSTORE 00000ca4: POP 00000ca5: PUSH32 0xac1adfdf0360257bff88589b4b5cf8549cd0e69a83f706b81740a2b821c664f4 00000cc6: DUP2 00000cc7: PUSH1 0x40 00000cc9: MLOAD 00000cca: PUSH2 0x0cd3 00000ccd: SWAP2 00000cce: SWAP1 00000ccf: PUSH2 0x1598 00000cd2: JUMP 00000cd3: JUMPDEST 00000cd4: PUSH1 0x40 00000cd6: MLOAD 00000cd7: DUP1 00000cd8: SWAP2 00000cd9: SUB 00000cda: SWAP1 00000cdb: LOG1 00000cdc: POP 00000cdd: JUMP 00000cde: JUMPDEST 00000cdf: PUSH2 0x0ce6 00000ce2: PUSH2 0x0f65 00000ce5: JUMP 00000ce6: JUMPDEST 00000ce7: PUSH1 0x01 00000ce9: PUSH1 0x01 00000ceb: PUSH1 0xa0 00000ced: SHL 00000cee: SUB 00000cef: DUP2 00000cf0: AND 00000cf1: PUSH2 0x0d4b 00000cf4: JUMPI 00000cf5: PUSH1 0x40 00000cf7: MLOAD 00000cf8: PUSH3 0x461bcd 00000cfc: PUSH1 0xe5 00000cfe: SHL 00000cff: DUP2 00000d00: MSTORE 00000d01: PUSH1 0x20 00000d03: PUSH1 0x04 00000d05: DUP3 00000d06: ADD 00000d07: MSTORE 00000d08: PUSH1 0x26 00000d0a: PUSH1 0x24 00000d0c: DUP3 00000d0d: ADD 00000d0e: MSTORE 00000d0f: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061 00000d30: PUSH1 0x44 00000d32: DUP3 00000d33: ADD 00000d34: MSTORE 00000d35: PUSH6 0x646472657373 00000d3c: PUSH1 0xd0 00000d3e: SHL 00000d3f: PUSH1 0x64 00000d41: DUP3 00000d42: ADD 00000d43: MSTORE 00000d44: PUSH1 0x84 00000d46: ADD 00000d47: PUSH2 0x0b00 00000d4a: JUMP 00000d4b: JUMPDEST 00000d4c: PUSH2 0x0d54 00000d4f: DUP2 00000d50: PUSH2 0x1117 00000d53: JUMP 00000d54: JUMPDEST 00000d55: POP 00000d56: JUMP 00000d57: JUMPDEST 00000d58: PUSH1 0x02 00000d5a: PUSH1 0x65 00000d5c: SLOAD 00000d5d: SUB 00000d5e: PUSH2 0x0da9 00000d61: JUMPI 00000d62: PUSH1 0x40 00000d64: MLOAD 00000d65: PUSH3 0x461bcd 00000d69: PUSH1 0xe5 00000d6b: SHL 00000d6c: DUP2 00000d6d: MSTORE 00000d6e: PUSH1 0x20 00000d70: PUSH1 0x04 00000d72: DUP3 00000d73: ADD 00000d74: MSTORE 00000d75: PUSH1 0x1f 00000d77: PUSH1 0x24 00000d79: DUP3 00000d7a: ADD 00000d7b: MSTORE 00000d7c: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00 00000d9d: PUSH1 0x44 00000d9f: DUP3 00000da0: ADD 00000da1: MSTORE 00000da2: PUSH1 0x64 00000da4: ADD 00000da5: PUSH2 0x0b00 00000da8: JUMP 00000da9: JUMPDEST 00000daa: PUSH1 0x02 00000dac: PUSH1 0x65 00000dae: SSTORE 00000daf: JUMP 00000db0: JUMPDEST 00000db1: PUSH1 0x00 00000db3: DUP4 00000db4: DUP2 00000db5: MSTORE 00000db6: PUSH1 0xa1 00000db8: PUSH1 0x20 00000dba: MSTORE 00000dbb: PUSH1 0x40 00000dbd: SWAP1 00000dbe: KECCAK256 00000dbf: SLOAD 00000dc0: PUSH1 0xff 00000dc2: AND 00000dc3: ISZERO 00000dc4: PUSH2 0x0de0 00000dc7: JUMPI 00000dc8: PUSH1 0x40 00000dca: MLOAD 00000dcb: PUSH4 0x3ab3447f 00000dd0: PUSH1 0xe1 00000dd2: SHL 00000dd3: DUP2 00000dd4: MSTORE 00000dd5: PUSH1 0x04 00000dd7: ADD 00000dd8: PUSH1 0x40 00000dda: MLOAD 00000ddb: DUP1 00000ddc: SWAP2 00000ddd: SUB 00000dde: SWAP1 00000ddf: REVERT 00000de0: JUMPDEST 00000de1: PUSH1 0x00 00000de3: DUP4 00000de4: DUP2 00000de5: MSTORE 00000de6: PUSH1 0xa1 00000de8: PUSH1 0x20 00000dea: SWAP1 00000deb: DUP2 00000dec: MSTORE 00000ded: PUSH1 0x40 00000def: DUP1 00000df0: DUP4 00000df1: KECCAK256 00000df2: DUP1 00000df3: SLOAD 00000df4: PUSH1 0xff 00000df6: NOT 00000df7: AND 00000df8: PUSH1 0x01 00000dfa: OR 00000dfb: SWAP1 00000dfc: SSTORE 00000dfd: DUP1 00000dfe: MLOAD 00000dff: PUSH1 0x60 00000e01: DUP10 00000e02: SWAP1 00000e03: SHL 00000e04: PUSH12 0xffffffffffffffffffffffff 00000e11: NOT 00000e12: AND 00000e13: DUP2 00000e14: DUP5 00000e15: ADD 00000e16: MSTORE 00000e17: PUSH1 0x34 00000e19: DUP2 00000e1a: ADD 00000e1b: DUP9 00000e1c: SWAP1 00000e1d: MSTORE 00000e1e: PUSH1 0x54 00000e20: DUP1 00000e21: DUP3 00000e22: ADD 00000e23: DUP9 00000e24: SWAP1 00000e25: MSTORE 00000e26: DUP3 00000e27: MLOAD 00000e28: DUP1 00000e29: DUP4 00000e2a: SUB 00000e2b: SWAP1 00000e2c: SWAP2 00000e2d: ADD 00000e2e: DUP2 00000e2f: MSTORE 00000e30: PUSH1 0x74 00000e32: SWAP1 00000e33: SWAP2 00000e34: ADD 00000e35: SWAP1 00000e36: SWAP2 00000e37: MSTORE 00000e38: DUP1 00000e39: MLOAD 00000e3a: SWAP2 00000e3b: ADD 00000e3c: KECCAK256 00000e3d: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000 00000e5e: DUP3 00000e5f: MSTORE 00000e60: PUSH1 0x1c 00000e62: MSTORE 00000e63: PUSH1 0x3c 00000e65: DUP2 00000e66: KECCAK256 00000e67: SWAP1 00000e68: POP 00000e69: PUSH1 0x00 00000e6b: PUSH2 0x0eac 00000e6e: DUP5 00000e6f: DUP5 00000e70: DUP1 00000e71: DUP1 00000e72: PUSH1 0x1f 00000e74: ADD 00000e75: PUSH1 0x20 00000e77: DUP1 00000e78: SWAP2 00000e79: DIV 00000e7a: MUL 00000e7b: PUSH1 0x20 00000e7d: ADD 00000e7e: PUSH1 0x40 00000e80: MLOAD 00000e81: SWAP1 00000e82: DUP2 00000e83: ADD 00000e84: PUSH1 0x40 00000e86: MSTORE 00000e87: DUP1 00000e88: SWAP4 00000e89: SWAP3 00000e8a: SWAP2 00000e8b: SWAP1 00000e8c: DUP2 00000e8d: DUP2 00000e8e: MSTORE 00000e8f: PUSH1 0x20 00000e91: ADD 00000e92: DUP4 00000e93: DUP4 00000e94: DUP1 00000e95: DUP3 00000e96: DUP5 00000e97: CALLDATACOPY 00000e98: PUSH1 0x00 00000e9a: SWAP3 00000e9b: ADD 00000e9c: SWAP2 00000e9d: SWAP1 00000e9e: SWAP2 00000e9f: MSTORE 00000ea0: POP 00000ea1: DUP7 00000ea2: SWAP4 00000ea3: SWAP3 00000ea4: POP 00000ea5: POP 00000ea6: PUSH2 0x11c7 00000ea9: SWAP1 00000eaa: POP 00000eab: JUMP 00000eac: JUMPDEST 00000ead: SWAP1 00000eae: POP 00000eaf: DUP8 00000eb0: PUSH1 0x01 00000eb2: PUSH1 0x01 00000eb4: PUSH1 0xa0 00000eb6: SHL 00000eb7: SUB 00000eb8: AND 00000eb9: DUP2 00000eba: PUSH1 0x01 00000ebc: PUSH1 0x01 00000ebe: PUSH1 0xa0 00000ec0: SHL 00000ec1: SUB 00000ec2: AND 00000ec3: EQ 00000ec4: PUSH2 0x0ee0 00000ec7: JUMPI 00000ec8: PUSH1 0x40 00000eca: MLOAD 00000ecb: PUSH4 0x8baa579f 00000ed0: PUSH1 0xe0 00000ed2: SHL 00000ed3: DUP2 00000ed4: MSTORE 00000ed5: PUSH1 0x04 00000ed7: ADD 00000ed8: PUSH1 0x40 00000eda: MLOAD 00000edb: DUP1 00000edc: SWAP2 00000edd: SUB 00000ede: SWAP1 00000edf: REVERT 00000ee0: JUMPDEST 00000ee1: POP 00000ee2: POP 00000ee3: POP 00000ee4: POP 00000ee5: POP 00000ee6: POP 00000ee7: POP 00000ee8: POP 00000ee9: JUMP 00000eea: JUMPDEST 00000eeb: PUSH1 0x01 00000eed: PUSH1 0x01 00000eef: PUSH1 0xa0 00000ef1: SHL 00000ef2: SUB 00000ef3: DUP3 00000ef4: AND 00000ef5: PUSH1 0x00 00000ef7: SWAP1 00000ef8: DUP2 00000ef9: MSTORE 00000efa: PUSH1 0x9e 00000efc: PUSH1 0x20 00000efe: MSTORE 00000eff: PUSH1 0x40 00000f01: SWAP1 00000f02: KECCAK256 00000f03: DUP1 00000f04: SLOAD 00000f05: PUSH1 0xff 00000f07: NOT 00000f08: AND 00000f09: PUSH1 0x01 00000f0b: OR 00000f0c: SWAP1 00000f0d: SSTORE 00000f0e: PUSH2 0x0f17 00000f11: DUP3 00000f12: DUP3 00000f13: PUSH2 0x0fbf 00000f16: JUMP 00000f17: JUMPDEST 00000f18: DUP2 00000f19: PUSH1 0x01 00000f1b: PUSH1 0x01 00000f1d: PUSH1 0xa0 00000f1f: SHL 00000f20: SUB 00000f21: AND 00000f22: PUSH32 0xd7dee2702d63ad89917b6a4da9981c90c4d24f8c2bdfd64c604ecae57d8d0651 00000f43: DUP3 00000f44: PUSH1 0x40 00000f46: MLOAD 00000f47: PUSH2 0x0f52 00000f4a: SWAP2 00000f4b: DUP2 00000f4c: MSTORE 00000f4d: PUSH1 0x20 00000f4f: ADD 00000f50: SWAP1 00000f51: JUMP 00000f52: JUMPDEST 00000f53: PUSH1 0x40 00000f55: MLOAD 00000f56: DUP1 00000f57: SWAP2 00000f58: SUB 00000f59: SWAP1 00000f5a: LOG2 00000f5b: POP 00000f5c: POP 00000f5d: JUMP 00000f5e: JUMPDEST 00000f5f: PUSH1 0x01 00000f61: PUSH1 0x65 00000f63: SSTORE 00000f64: JUMP 00000f65: JUMPDEST 00000f66: PUSH1 0x33 00000f68: SLOAD 00000f69: PUSH1 0x01 00000f6b: PUSH1 0x01 00000f6d: PUSH1 0xa0 00000f6f: SHL 00000f70: SUB 00000f71: AND 00000f72: CALLER 00000f73: EQ 00000f74: PUSH2 0x0734 00000f77: JUMPI 00000f78: PUSH1 0x40 00000f7a: MLOAD 00000f7b: PUSH3 0x461bcd 00000f7f: PUSH1 0xe5 00000f81: SHL 00000f82: DUP2 00000f83: MSTORE 00000f84: PUSH1 0x20 00000f86: PUSH1 0x04 00000f88: DUP3 00000f89: ADD 00000f8a: DUP2 00000f8b: SWAP1 00000f8c: MSTORE 00000f8d: PUSH1 0x24 00000f8f: DUP3 00000f90: ADD 00000f91: MSTORE 00000f92: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00000fb3: PUSH1 0x44 00000fb5: DUP3 00000fb6: ADD 00000fb7: MSTORE 00000fb8: PUSH1 0x64 00000fba: ADD 00000fbb: PUSH2 0x0b00 00000fbe: JUMP 00000fbf: JUMPDEST 00000fc0: PUSH1 0x00 00000fc2: DUP3 00000fc3: PUSH1 0x01 00000fc5: PUSH1 0x01 00000fc7: PUSH1 0xa0 00000fc9: SHL 00000fca: SUB 00000fcb: AND 00000fcc: DUP3 00000fcd: PUSH1 0x40 00000fcf: MLOAD 00000fd0: PUSH1 0x00 00000fd2: PUSH1 0x40 00000fd4: MLOAD 00000fd5: DUP1 00000fd6: DUP4 00000fd7: SUB 00000fd8: DUP2 00000fd9: DUP6 00000fda: DUP8 00000fdb: GAS 00000fdc: CALL 00000fdd: SWAP3 00000fde: POP 00000fdf: POP 00000fe0: POP 00000fe1: RETURNDATASIZE 00000fe2: DUP1 00000fe3: PUSH1 0x00 00000fe5: DUP2 00000fe6: EQ 00000fe7: PUSH2 0x100c 00000fea: JUMPI 00000feb: PUSH1 0x40 00000fed: MLOAD 00000fee: SWAP2 00000fef: POP 00000ff0: PUSH1 0x1f 00000ff2: NOT 00000ff3: PUSH1 0x3f 00000ff5: RETURNDATASIZE 00000ff6: ADD 00000ff7: AND 00000ff8: DUP3 00000ff9: ADD 00000ffa: PUSH1 0x40 00000ffc: MSTORE 00000ffd: RETURNDATASIZE 00000ffe: DUP3 00000fff: MSTORE 00001000: RETURNDATASIZE 00001001: PUSH1 0x00 00001003: PUSH1 0x20 00001005: DUP5 00001006: ADD 00001007: RETURNDATACOPY 00001008: PUSH2 0x1011 0000100b: JUMP 0000100c: JUMPDEST 0000100d: PUSH1 0x60 0000100f: SWAP2 00001010: POP 00001011: JUMPDEST 00001012: POP 00001013: POP 00001014: SWAP1 00001015: POP 00001016: DUP1 00001017: PUSH2 0x1033 0000101a: JUMPI 0000101b: PUSH1 0x40 0000101d: MLOAD 0000101e: PUSH4 0x12171d83 00001023: PUSH1 0xe3 00001025: SHL 00001026: DUP2 00001027: MSTORE 00001028: PUSH1 0x04 0000102a: ADD 0000102b: PUSH1 0x40 0000102d: MLOAD 0000102e: DUP1 0000102f: SWAP2 00001030: SUB 00001031: SWAP1 00001032: REVERT 00001033: JUMPDEST 00001034: POP 00001035: POP 00001036: POP 00001037: JUMP 00001038: JUMPDEST 00001039: DUP3 0000103a: ISZERO 0000103b: PUSH2 0x10af 0000103e: JUMPI 0000103f: PUSH1 0x01 00001041: PUSH1 0x01 00001043: PUSH1 0xa0 00001045: SHL 00001046: SUB 00001047: DUP3 00001048: AND 00001049: PUSH1 0x00 0000104b: SWAP1 0000104c: DUP2 0000104d: MSTORE 0000104e: PUSH1 0x9f 00001050: PUSH1 0x20 00001052: MSTORE 00001053: PUSH1 0x40 00001055: DUP2 00001056: KECCAK256 00001057: DUP1 00001058: SLOAD 00001059: DUP4 0000105a: SWAP3 0000105b: SWAP1 0000105c: PUSH2 0x1066 0000105f: SWAP1 00001060: DUP5 00001061: SWAP1 00001062: PUSH2 0x1651 00001065: JUMP 00001066: JUMPDEST 00001067: SWAP1 00001068: SWAP2 00001069: SSTORE 0000106a: POP 0000106b: POP 0000106c: PUSH1 0x40 0000106e: MLOAD 0000106f: DUP2 00001070: DUP2 00001071: MSTORE 00001072: PUSH1 0x01 00001074: PUSH1 0x01 00001076: PUSH1 0xa0 00001078: SHL 00001079: SUB 0000107a: DUP4 0000107b: AND 0000107c: SWAP1 0000107d: PUSH32 0xbf619b2b40d8238e6f1f781e38353f2f669691053f60b8b6c0e51a8cd4f467f5 0000109e: SWAP1 0000109f: PUSH1 0x20 000010a1: ADD 000010a2: JUMPDEST 000010a3: PUSH1 0x40 000010a5: MLOAD 000010a6: DUP1 000010a7: SWAP2 000010a8: SUB 000010a9: SWAP1 000010aa: LOG2 000010ab: POP 000010ac: POP 000010ad: POP 000010ae: JUMP 000010af: JUMPDEST 000010b0: PUSH1 0x01 000010b2: PUSH1 0x01 000010b4: PUSH1 0xa0 000010b6: SHL 000010b7: SUB 000010b8: DUP3 000010b9: AND 000010ba: PUSH1 0x00 000010bc: SWAP1 000010bd: DUP2 000010be: MSTORE 000010bf: PUSH1 0xa0 000010c1: PUSH1 0x20 000010c3: MSTORE 000010c4: PUSH1 0x40 000010c6: DUP2 000010c7: KECCAK256 000010c8: DUP1 000010c9: SLOAD 000010ca: DUP4 000010cb: SWAP3 000010cc: SWAP1 000010cd: PUSH2 0x10d7 000010d0: SWAP1 000010d1: DUP5 000010d2: SWAP1 000010d3: PUSH2 0x1651 000010d6: JUMP 000010d7: JUMPDEST 000010d8: SWAP1 000010d9: SWAP2 000010da: SSTORE 000010db: POP 000010dc: POP 000010dd: PUSH1 0x40 000010df: MLOAD 000010e0: DUP2 000010e1: DUP2 000010e2: MSTORE 000010e3: PUSH1 0x01 000010e5: PUSH1 0x01 000010e7: PUSH1 0xa0 000010e9: SHL 000010ea: SUB 000010eb: DUP4 000010ec: AND 000010ed: SWAP1 000010ee: PUSH32 0x692fa538b2bd81fa33eeab6a237e93b6a15b5a541f30f4b60a39d63d0654b5fa 0000110f: SWAP1 00001110: PUSH1 0x20 00001112: ADD 00001113: PUSH2 0x10a2 00001116: JUMP 00001117: JUMPDEST 00001118: PUSH1 0x33 0000111a: DUP1 0000111b: SLOAD 0000111c: PUSH1 0x01 0000111e: PUSH1 0x01 00001120: PUSH1 0xa0 00001122: SHL 00001123: SUB 00001124: DUP4 00001125: DUP2 00001126: AND 00001127: PUSH1 0x01 00001129: PUSH1 0x01 0000112b: PUSH1 0xa0 0000112d: SHL 0000112e: SUB 0000112f: NOT 00001130: DUP4 00001131: AND 00001132: DUP2 00001133: OR 00001134: SWAP1 00001135: SWAP4 00001136: SSTORE 00001137: PUSH1 0x40 00001139: MLOAD 0000113a: SWAP2 0000113b: AND 0000113c: SWAP2 0000113d: SWAP1 0000113e: DUP3 0000113f: SWAP1 00001140: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00001161: SWAP1 00001162: PUSH1 0x00 00001164: SWAP1 00001165: LOG3 00001166: POP 00001167: POP 00001168: JUMP 00001169: JUMPDEST 0000116a: PUSH1 0x00 0000116c: SLOAD 0000116d: PUSH2 0x0100 00001170: SWAP1 00001171: DIV 00001172: PUSH1 0xff 00001174: AND 00001175: PUSH2 0x1190 00001178: JUMPI 00001179: PUSH1 0x40 0000117b: MLOAD 0000117c: PUSH3 0x461bcd 00001180: PUSH1 0xe5 00001182: SHL 00001183: DUP2 00001184: MSTORE 00001185: PUSH1 0x04 00001187: ADD 00001188: PUSH2 0x0b00 0000118b: SWAP1 0000118c: PUSH2 0x1664 0000118f: JUMP 00001190: JUMPDEST 00001191: PUSH2 0x0734 00001194: PUSH2 0x11ed 00001197: JUMP 00001198: JUMPDEST 00001199: PUSH1 0x00 0000119b: SLOAD 0000119c: PUSH2 0x0100 0000119f: SWAP1 000011a0: DIV 000011a1: PUSH1 0xff 000011a3: AND 000011a4: PUSH2 0x11bf 000011a7: JUMPI 000011a8: PUSH1 0x40 000011aa: MLOAD 000011ab: PUSH3 0x461bcd 000011af: PUSH1 0xe5 000011b1: SHL 000011b2: DUP2 000011b3: MSTORE 000011b4: PUSH1 0x04 000011b6: ADD 000011b7: PUSH2 0x0b00 000011ba: SWAP1 000011bb: PUSH2 0x1664 000011be: JUMP 000011bf: JUMPDEST 000011c0: PUSH2 0x0734 000011c3: PUSH2 0x1214 000011c6: JUMP 000011c7: JUMPDEST 000011c8: PUSH1 0x00 000011ca: DUP1 000011cb: PUSH1 0x00 000011cd: PUSH2 0x11d6 000011d0: DUP6 000011d1: DUP6 000011d2: PUSH2 0x1244 000011d5: JUMP 000011d6: JUMPDEST 000011d7: SWAP2 000011d8: POP 000011d9: SWAP2 000011da: POP 000011db: PUSH2 0x11e3 000011de: DUP2 000011df: PUSH2 0x1289 000011e2: JUMP 000011e3: JUMPDEST 000011e4: POP 000011e5: SWAP1 000011e6: POP 000011e7: JUMPDEST 000011e8: SWAP3 000011e9: SWAP2 000011ea: POP 000011eb: POP 000011ec: JUMP 000011ed: JUMPDEST 000011ee: PUSH1 0x00 000011f0: SLOAD 000011f1: PUSH2 0x0100 000011f4: SWAP1 000011f5: DIV 000011f6: PUSH1 0xff 000011f8: AND 000011f9: PUSH2 0x0f5e 000011fc: JUMPI 000011fd: PUSH1 0x40 000011ff: MLOAD 00001200: PUSH3 0x461bcd 00001204: PUSH1 0xe5 00001206: SHL 00001207: DUP2 00001208: MSTORE 00001209: PUSH1 0x04 0000120b: ADD 0000120c: PUSH2 0x0b00 0000120f: SWAP1 00001210: PUSH2 0x1664 00001213: JUMP 00001214: JUMPDEST 00001215: PUSH1 0x00 00001217: SLOAD 00001218: PUSH2 0x0100 0000121b: SWAP1 0000121c: DIV 0000121d: PUSH1 0xff 0000121f: AND 00001220: PUSH2 0x123b 00001223: JUMPI 00001224: PUSH1 0x40 00001226: MLOAD 00001227: PUSH3 0x461bcd 0000122b: PUSH1 0xe5 0000122d: SHL 0000122e: DUP2 0000122f: MSTORE 00001230: PUSH1 0x04 00001232: ADD 00001233: PUSH2 0x0b00 00001236: SWAP1 00001237: PUSH2 0x1664 0000123a: JUMP 0000123b: JUMPDEST 0000123c: PUSH2 0x0734 0000123f: CALLER 00001240: PUSH2 0x1117 00001243: JUMP 00001244: JUMPDEST 00001245: PUSH1 0x00 00001247: DUP1 00001248: DUP3 00001249: MLOAD 0000124a: PUSH1 0x41 0000124c: SUB 0000124d: PUSH2 0x127a 00001250: JUMPI 00001251: PUSH1 0x20 00001253: DUP4 00001254: ADD 00001255: MLOAD 00001256: PUSH1 0x40 00001258: DUP5 00001259: ADD 0000125a: MLOAD 0000125b: PUSH1 0x60 0000125d: DUP6 0000125e: ADD 0000125f: MLOAD 00001260: PUSH1 0x00 00001262: BYTE 00001263: PUSH2 0x126e 00001266: DUP8 00001267: DUP3 00001268: DUP6 00001269: DUP6 0000126a: PUSH2 0x13d3 0000126d: JUMP 0000126e: JUMPDEST 0000126f: SWAP5 00001270: POP 00001271: SWAP5 00001272: POP 00001273: POP 00001274: POP 00001275: POP 00001276: PUSH2 0x1282 00001279: JUMP 0000127a: JUMPDEST 0000127b: POP 0000127c: PUSH1 0x00 0000127e: SWAP1 0000127f: POP 00001280: PUSH1 0x02 00001282: JUMPDEST 00001283: SWAP3 00001284: POP 00001285: SWAP3 00001286: SWAP1 00001287: POP 00001288: JUMP 00001289: JUMPDEST 0000128a: PUSH1 0x00 0000128c: DUP2 0000128d: PUSH1 0x04 0000128f: DUP2 00001290: GT 00001291: ISZERO 00001292: PUSH2 0x129d 00001295: JUMPI 00001296: PUSH2 0x129d 00001299: PUSH2 0x1582 0000129c: JUMP 0000129d: JUMPDEST 0000129e: SUB 0000129f: PUSH2 0x12a5 000012a2: JUMPI 000012a3: POP 000012a4: JUMP 000012a5: JUMPDEST 000012a6: PUSH1 0x01 000012a8: DUP2 000012a9: PUSH1 0x04 000012ab: DUP2 000012ac: GT 000012ad: ISZERO 000012ae: PUSH2 0x12b9 000012b1: JUMPI 000012b2: PUSH2 0x12b9 000012b5: PUSH2 0x1582 000012b8: JUMP 000012b9: JUMPDEST 000012ba: SUB 000012bb: PUSH2 0x1306 000012be: JUMPI 000012bf: PUSH1 0x40 000012c1: MLOAD 000012c2: PUSH3 0x461bcd 000012c6: PUSH1 0xe5 000012c8: SHL 000012c9: DUP2 000012ca: MSTORE 000012cb: PUSH1 0x20 000012cd: PUSH1 0x04 000012cf: DUP3 000012d0: ADD 000012d1: MSTORE 000012d2: PUSH1 0x18 000012d4: PUSH1 0x24 000012d6: DUP3 000012d7: ADD 000012d8: MSTORE 000012d9: PUSH32 0x45434453413a20696e76616c6964207369676e61747572650000000000000000 000012fa: PUSH1 0x44 000012fc: DUP3 000012fd: ADD 000012fe: MSTORE 000012ff: PUSH1 0x64 00001301: ADD 00001302: PUSH2 0x0b00 00001305: JUMP 00001306: JUMPDEST 00001307: PUSH1 0x02 00001309: DUP2 0000130a: PUSH1 0x04 0000130c: DUP2 0000130d: GT 0000130e: ISZERO 0000130f: PUSH2 0x131a 00001312: JUMPI 00001313: PUSH2 0x131a 00001316: PUSH2 0x1582 00001319: JUMP 0000131a: JUMPDEST 0000131b: SUB 0000131c: PUSH2 0x1367 0000131f: JUMPI 00001320: PUSH1 0x40 00001322: MLOAD 00001323: PUSH3 0x461bcd 00001327: PUSH1 0xe5 00001329: SHL 0000132a: DUP2 0000132b: MSTORE 0000132c: PUSH1 0x20 0000132e: PUSH1 0x04 00001330: DUP3 00001331: ADD 00001332: MSTORE 00001333: PUSH1 0x1f 00001335: PUSH1 0x24 00001337: DUP3 00001338: ADD 00001339: MSTORE 0000133a: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265206c656e67746800 0000135b: PUSH1 0x44 0000135d: DUP3 0000135e: ADD 0000135f: MSTORE 00001360: PUSH1 0x64 00001362: ADD 00001363: PUSH2 0x0b00 00001366: JUMP 00001367: JUMPDEST 00001368: PUSH1 0x03 0000136a: DUP2 0000136b: PUSH1 0x04 0000136d: DUP2 0000136e: GT 0000136f: ISZERO 00001370: PUSH2 0x137b 00001373: JUMPI 00001374: PUSH2 0x137b 00001377: PUSH2 0x1582 0000137a: JUMP 0000137b: JUMPDEST 0000137c: SUB 0000137d: PUSH2 0x0d54 00001380: JUMPI 00001381: PUSH1 0x40 00001383: MLOAD 00001384: PUSH3 0x461bcd 00001388: PUSH1 0xe5 0000138a: SHL 0000138b: DUP2 0000138c: MSTORE 0000138d: PUSH1 0x20 0000138f: PUSH1 0x04 00001391: DUP3 00001392: ADD 00001393: MSTORE 00001394: PUSH1 0x22 00001396: PUSH1 0x24 00001398: DUP3 00001399: ADD 0000139a: MSTORE 0000139b: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265202773272076616c 000013bc: PUSH1 0x44 000013be: DUP3 000013bf: ADD 000013c0: MSTORE 000013c1: PUSH2 0x7565 000013c4: PUSH1 0xf0 000013c6: SHL 000013c7: PUSH1 0x64 000013c9: DUP3 000013ca: ADD 000013cb: MSTORE 000013cc: PUSH1 0x84 000013ce: ADD 000013cf: PUSH2 0x0b00 000013d2: JUMP 000013d3: JUMPDEST 000013d4: PUSH1 0x00 000013d6: DUP1 000013d7: PUSH32 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 000013f8: DUP4 000013f9: GT 000013fa: ISZERO 000013fb: PUSH2 0x140a 000013fe: JUMPI 000013ff: POP 00001400: PUSH1 0x00 00001402: SWAP1 00001403: POP 00001404: PUSH1 0x03 00001406: PUSH2 0x148e 00001409: JUMP 0000140a: JUMPDEST 0000140b: PUSH1 0x40 0000140d: DUP1 0000140e: MLOAD 0000140f: PUSH1 0x00 00001411: DUP1 00001412: DUP3 00001413: MSTORE 00001414: PUSH1 0x20 00001416: DUP3 00001417: ADD 00001418: DUP1 00001419: DUP5 0000141a: MSTORE 0000141b: DUP10 0000141c: SWAP1 0000141d: MSTORE 0000141e: PUSH1 0xff 00001420: DUP9 00001421: AND 00001422: SWAP3 00001423: DUP3 00001424: ADD 00001425: SWAP3 00001426: SWAP1 00001427: SWAP3 00001428: MSTORE 00001429: PUSH1 0x60 0000142b: DUP2 0000142c: ADD 0000142d: DUP7 0000142e: SWAP1 0000142f: MSTORE 00001430: PUSH1 0x80 00001432: DUP2 00001433: ADD 00001434: DUP6 00001435: SWAP1 00001436: MSTORE 00001437: PUSH1 0x01 00001439: SWAP1 0000143a: PUSH1 0xa0 0000143c: ADD 0000143d: PUSH1 0x20 0000143f: PUSH1 0x40 00001441: MLOAD 00001442: PUSH1 0x20 00001444: DUP2 00001445: SUB 00001446: SWAP1 00001447: DUP1 00001448: DUP5 00001449: SUB 0000144a: SWAP1 0000144b: DUP6 0000144c: GAS 0000144d: STATICCALL 0000144e: ISZERO 0000144f: DUP1 00001450: ISZERO 00001451: PUSH2 0x145e 00001454: JUMPI 00001455: RETURNDATASIZE 00001456: PUSH1 0x00 00001458: DUP1 00001459: RETURNDATACOPY 0000145a: RETURNDATASIZE 0000145b: PUSH1 0x00 0000145d: REVERT 0000145e: JUMPDEST 0000145f: POP 00001460: POP 00001461: PUSH1 0x40 00001463: MLOAD 00001464: PUSH1 0x1f 00001466: NOT 00001467: ADD 00001468: MLOAD 00001469: SWAP2 0000146a: POP 0000146b: POP 0000146c: PUSH1 0x01 0000146e: PUSH1 0x01 00001470: PUSH1 0xa0 00001472: SHL 00001473: SUB 00001474: DUP2 00001475: AND 00001476: PUSH2 0x1487 00001479: JUMPI 0000147a: PUSH1 0x00 0000147c: PUSH1 0x01 0000147e: SWAP3 0000147f: POP 00001480: SWAP3 00001481: POP 00001482: POP 00001483: PUSH2 0x148e 00001486: JUMP 00001487: JUMPDEST 00001488: SWAP2 00001489: POP 0000148a: PUSH1 0x00 0000148c: SWAP1 0000148d: POP 0000148e: JUMPDEST 0000148f: SWAP5 00001490: POP 00001491: SWAP5 00001492: SWAP3 00001493: POP 00001494: POP 00001495: POP 00001496: JUMP 00001497: JUMPDEST 00001498: DUP1 00001499: CALLDATALOAD 0000149a: PUSH1 0x01 0000149c: PUSH1 0x01 0000149e: PUSH1 0xa0 000014a0: SHL 000014a1: SUB 000014a2: DUP2 000014a3: AND 000014a4: DUP2 000014a5: EQ 000014a6: PUSH2 0x14ae 000014a9: JUMPI 000014aa: PUSH1 0x00 000014ac: DUP1 000014ad: REVERT 000014ae: JUMPDEST 000014af: SWAP2 000014b0: SWAP1 000014b1: POP 000014b2: JUMP 000014b3: JUMPDEST 000014b4: PUSH1 0x00 000014b6: PUSH1 0x20 000014b8: DUP3 000014b9: DUP5 000014ba: SUB 000014bb: SLT 000014bc: ISZERO 000014bd: PUSH2 0x14c5 000014c0: JUMPI 000014c1: PUSH1 0x00 000014c3: DUP1 000014c4: REVERT 000014c5: JUMPDEST 000014c6: PUSH2 0x14ce 000014c9: DUP3 000014ca: PUSH2 0x1497 000014cd: JUMP 000014ce: JUMPDEST 000014cf: SWAP4 000014d0: SWAP3 000014d1: POP 000014d2: POP 000014d3: POP 000014d4: JUMP 000014d5: JUMPDEST 000014d6: PUSH1 0x00 000014d8: DUP1 000014d9: PUSH1 0x00 000014db: DUP1 000014dc: PUSH1 0x00 000014de: PUSH1 0x80 000014e0: DUP7 000014e1: DUP9 000014e2: SUB 000014e3: SLT 000014e4: ISZERO 000014e5: PUSH2 0x14ed 000014e8: JUMPI 000014e9: PUSH1 0x00 000014eb: DUP1 000014ec: REVERT 000014ed: JUMPDEST 000014ee: PUSH2 0x14f6 000014f1: DUP7 000014f2: PUSH2 0x1497 000014f5: JUMP 000014f6: JUMPDEST 000014f7: SWAP5 000014f8: POP 000014f9: PUSH1 0x20 000014fb: DUP7 000014fc: ADD 000014fd: CALLDATALOAD 000014fe: SWAP4 000014ff: POP 00001500: PUSH1 0x40 00001502: DUP7 00001503: ADD 00001504: CALLDATALOAD 00001505: SWAP3 00001506: POP 00001507: PUSH1 0x60 00001509: DUP7 0000150a: ADD 0000150b: CALLDATALOAD 0000150c: PUSH8 0xffffffffffffffff 00001515: DUP1 00001516: DUP3 00001517: GT 00001518: ISZERO 00001519: PUSH2 0x1521 0000151c: JUMPI 0000151d: PUSH1 0x00 0000151f: DUP1 00001520: REVERT 00001521: JUMPDEST 00001522: DUP2 00001523: DUP9 00001524: ADD 00001525: SWAP2 00001526: POP 00001527: DUP9 00001528: PUSH1 0x1f 0000152a: DUP4 0000152b: ADD 0000152c: SLT 0000152d: PUSH2 0x1535 00001530: JUMPI 00001531: PUSH1 0x00 00001533: DUP1 00001534: REVERT 00001535: JUMPDEST 00001536: DUP2 00001537: CALLDATALOAD 00001538: DUP2 00001539: DUP2 0000153a: GT 0000153b: ISZERO 0000153c: PUSH2 0x1544 0000153f: JUMPI 00001540: PUSH1 0x00 00001542: DUP1 00001543: REVERT 00001544: JUMPDEST 00001545: DUP10 00001546: PUSH1 0x20 00001548: DUP3 00001549: DUP6 0000154a: ADD 0000154b: ADD 0000154c: GT 0000154d: ISZERO 0000154e: PUSH2 0x1556 00001551: JUMPI 00001552: PUSH1 0x00 00001554: DUP1 00001555: REVERT 00001556: JUMPDEST 00001557: SWAP7 00001558: SWAP10 00001559: SWAP6 0000155a: SWAP9 0000155b: POP 0000155c: SWAP4 0000155d: SWAP7 0000155e: POP 0000155f: PUSH1 0x20 00001561: ADD 00001562: SWAP5 00001563: SWAP4 00001564: SWAP3 00001565: POP 00001566: POP 00001567: POP 00001568: JUMP 00001569: JUMPDEST 0000156a: PUSH1 0x00 0000156c: PUSH1 0x20 0000156e: DUP3 0000156f: DUP5 00001570: SUB 00001571: SLT 00001572: ISZERO 00001573: PUSH2 0x157b 00001576: JUMPI 00001577: PUSH1 0x00 00001579: DUP1 0000157a: REVERT 0000157b: JUMPDEST 0000157c: POP 0000157d: CALLDATALOAD 0000157e: SWAP2 0000157f: SWAP1 00001580: POP 00001581: JUMP 00001582: JUMPDEST 00001583: PUSH4 0x4e487b71 00001588: PUSH1 0xe0 0000158a: SHL 0000158b: PUSH1 0x00 0000158d: MSTORE 0000158e: PUSH1 0x21 00001590: PUSH1 0x04 00001592: MSTORE 00001593: PUSH1 0x24 00001595: PUSH1 0x00 00001597: REVERT 00001598: JUMPDEST 00001599: PUSH1 0x20 0000159b: DUP2 0000159c: ADD 0000159d: PUSH1 0x03 0000159f: DUP4 000015a0: LT 000015a1: PUSH2 0x15ba 000015a4: JUMPI 000015a5: PUSH4 0x4e487b71 000015aa: PUSH1 0xe0 000015ac: SHL 000015ad: PUSH1 0x00 000015af: MSTORE 000015b0: PUSH1 0x21 000015b2: PUSH1 0x04 000015b4: MSTORE 000015b5: PUSH1 0x24 000015b7: PUSH1 0x00 000015b9: REVERT 000015ba: JUMPDEST 000015bb: SWAP2 000015bc: SWAP1 000015bd: MSTORE 000015be: SWAP1 000015bf: JUMP 000015c0: JUMPDEST 000015c1: PUSH1 0x00 000015c3: DUP1 000015c4: PUSH1 0x00 000015c6: PUSH1 0x60 000015c8: DUP5 000015c9: DUP7 000015ca: SUB 000015cb: SLT 000015cc: ISZERO 000015cd: PUSH2 0x15d5 000015d0: JUMPI 000015d1: PUSH1 0x00 000015d3: DUP1 000015d4: REVERT 000015d5: JUMPDEST 000015d6: PUSH2 0x15de 000015d9: DUP5 000015da: PUSH2 0x1497 000015dd: JUMP 000015de: JUMPDEST 000015df: SWAP3 000015e0: POP 000015e1: PUSH2 0x15ec 000015e4: PUSH1 0x20 000015e6: DUP6 000015e7: ADD 000015e8: PUSH2 0x1497 000015eb: JUMP 000015ec: JUMPDEST 000015ed: SWAP2 000015ee: POP 000015ef: PUSH2 0x15fa 000015f2: PUSH1 0x40 000015f4: DUP6 000015f5: ADD 000015f6: PUSH2 0x1497 000015f9: JUMP 000015fa: JUMPDEST 000015fb: SWAP1 000015fc: POP 000015fd: SWAP3 000015fe: POP 000015ff: SWAP3 00001600: POP 00001601: SWAP3 00001602: JUMP 00001603: JUMPDEST 00001604: PUSH1 0x00 00001606: PUSH1 0x20 00001608: DUP3 00001609: DUP5 0000160a: SUB 0000160b: SLT 0000160c: ISZERO 0000160d: PUSH2 0x1615 00001610: JUMPI 00001611: PUSH1 0x00 00001613: DUP1 00001614: REVERT 00001615: JUMPDEST 00001616: DUP2 00001617: CALLDATALOAD 00001618: PUSH1 0x03 0000161a: DUP2 0000161b: LT 0000161c: PUSH2 0x14ce 0000161f: JUMPI 00001620: PUSH1 0x00 00001622: DUP1 00001623: REVERT 00001624: JUMPDEST 00001625: PUSH4 0x4e487b71 0000162a: PUSH1 0xe0 0000162c: SHL 0000162d: PUSH1 0x00 0000162f: MSTORE 00001630: PUSH1 0x11 00001632: PUSH1 0x04 00001634: MSTORE 00001635: PUSH1 0x24 00001637: PUSH1 0x00 00001639: REVERT 0000163a: JUMPDEST 0000163b: DUP1 0000163c: DUP3 0000163d: MUL 0000163e: DUP2 0000163f: ISZERO 00001640: DUP3 00001641: DUP3 00001642: DIV 00001643: DUP5 00001644: EQ 00001645: OR 00001646: PUSH2 0x11e7 00001649: JUMPI 0000164a: PUSH2 0x11e7 0000164d: PUSH2 0x1624 00001650: JUMP 00001651: JUMPDEST 00001652: DUP1 00001653: DUP3 00001654: ADD 00001655: DUP1 00001656: DUP3 00001657: GT 00001658: ISZERO 00001659: PUSH2 0x11e7 0000165c: JUMPI 0000165d: PUSH2 0x11e7 00001660: PUSH2 0x1624 00001663: JUMP 00001664: JUMPDEST 00001665: PUSH1 0x20 00001667: DUP1 00001668: DUP3 00001669: MSTORE 0000166a: PUSH1 0x2b 0000166c: SWAP1 0000166d: DUP3 0000166e: ADD 0000166f: MSTORE 00001670: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069 00001691: PUSH1 0x40 00001693: DUP3 00001694: ADD 00001695: MSTORE 00001696: PUSH11 0x6e697469616c697a696e67 000016a2: PUSH1 0xa8 000016a4: SHL 000016a5: PUSH1 0x60 000016a7: DUP3 000016a8: ADD 000016a9: MSTORE 000016aa: PUSH1 0x80 000016ac: ADD 000016ad: SWAP1 000016ae: JUMP 000016af: INVALID 000016b0: LOG2 000016b1: PUSH5 0x6970667358 000016b7: UNKNOWN(0x22) 000016b8: SLT 000016b9: KECCAK256 000016ba: UNKNOWN(0xAD) 000016bb: UNKNOWN(0xAA) 000016bc: DIFFICULTY 000016bd: UNKNOWN(0x27) 000016be: LOG0 000016bf: LOG0 000016c0: UNKNOWN(0xE3) 000016c1: UNKNOWN(0xB0) 000016c2: UNKNOWN(0xA6) 000016c3: TSTORE 000016c4: EQ 000016c5: UNKNOWN(0xAA) 000016c6: UNKNOWN(0xED) 000016c7: UNKNOWN(0xE7) 000016c8: UNKNOWN(0xDF) 000016c9: DUP10 000016ca: UNKNOWN(0xDB) 000016cb: UNKNOWN(0xB1) 000016cc: AND 000016cd: UNKNOWN(0xBD) 000016ce: UNKNOWN(0xA8) 000016cf: UNKNOWN(0xEE) 000016d0: PUSH17 0xb922373e5c96e025a764736f6c63430008 000016e2: EQ 000016e3: STOP 000016e4: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xdb2e1eed",
"selector": "0xdb2e1eed",
"calldata_variants": [
"0xdb2e1eed",
"0xdb2e1eed0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfbb26f47",
"selector": "0xfbb26f47",
"calldata_variants": [
"0xfbb26f47",
"0xfbb26f470000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfbfa77cf",
"selector": "0xfbfa77cf",
"calldata_variants": [
"0xfbfa77cf",
"0xfbfa77cf0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc4511c6a",
"selector": "0xc4511c6a",
"calldata_variants": [
"0xc4511c6a",
"0xc4511c6a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xce9c7c0d",
"selector": "0xce9c7c0d",
"calldata_variants": [
"0xce9c7c0d",
"0xce9c7c0d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd7bc87a3",
"selector": "0xd7bc87a3",
"calldata_variants": [
"0xd7bc87a3",
"0xd7bc87a30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8f1e3767",
"selector": "0x8f1e3767",
"calldata_variants": [
"0x8f1e3767",
"0x8f1e37670000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 1413,
"type": "tx_origin_used"
},
{
"pc": 1857,
"type": "tx_origin_used"
},
{
"pc": 2406,
"type": "tx_origin_used"
},
{
"pc": 1412,
"type": "tx_origin_used"
},
{
"pc": 1856,
"type": "tx_origin_used"
},
{
"pc": 2405,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x798673d12d5bac9ebbc891e2911fa8444a883192985eacdd5f87afa4ab15d852
call_targets:
0x289656792b971ee0e81d467316f0849d8f74ba44
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x798673d12d5bac9ebbc891e2911fa8444a883192985eacdd5f87afa4ab15d852",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x289656792b971ee0e81d467316f0849d8f74ba44"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xdb2e1eed",
"selector": "0xdb2e1eed",
"calldata_variants": [
"0xdb2e1eed",
"0xdb2e1eed0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfbb26f47",
"selector": "0xfbb26f47",
"calldata_variants": [
"0xfbb26f47",
"0xfbb26f470000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfbfa77cf",
"selector": "0xfbfa77cf",
"calldata_variants": [
"0xfbfa77cf",
"0xfbfa77cf0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc4511c6a",
"selector": "0xc4511c6a",
"calldata_variants": [
"0xc4511c6a",
"0xc4511c6a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xce9c7c0d",
"selector": "0xce9c7c0d",
"calldata_variants": [
"0xce9c7c0d",
"0xce9c7c0d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd7bc87a3",
"selector": "0xd7bc87a3",
"calldata_variants": [
"0xd7bc87a3",
"0xd7bc87a30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8f1e3767",
"selector": "0x8f1e3767",
"calldata_variants": [
"0x8f1e3767",
"0x8f1e37670000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4060,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [
{
"pc": 1413,
"type": "tx_origin_used"
},
{
"pc": 1857,
"type": "tx_origin_used"
},
{
"pc": 2406,
"type": "tx_origin_used"
},
{
"pc": 1412,
"type": "tx_origin_used"
},
{
"pc": 1856,
"type": "tx_origin_used"
},
{
"pc": 2405,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 1
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x798673d12d5bac9ebbc891e2911fa8444a883192985eacdd5f87afa4ab15d852
call_targets:
0x289656792b971ee0e81d467316f0849d8f74ba44
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x798673d12d5bac9ebbc891e2911fa8444a883192985eacdd5f87afa4ab15d852",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x289656792b971ee0e81d467316f0849d8f74ba44"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xdb2e1eed",
"selector": "0xdb2e1eed",
"calldata_variants": [
"0xdb2e1eed",
"0xdb2e1eed0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfbb26f47",
"selector": "0xfbb26f47",
"calldata_variants": [
"0xfbb26f47",
"0xfbb26f470000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfbfa77cf",
"selector": "0xfbfa77cf",
"calldata_variants": [
"0xfbfa77cf",
"0xfbfa77cf0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc4511c6a",
"selector": "0xc4511c6a",
"calldata_variants": [
"0xc4511c6a",
"0xc4511c6a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xce9c7c0d",
"selector": "0xce9c7c0d",
"calldata_variants": [
"0xce9c7c0d",
"0xce9c7c0d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd7bc87a3",
"selector": "0xd7bc87a3",
"calldata_variants": [
"0xd7bc87a3",
"0xd7bc87a30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8f1e3767",
"selector": "0x8f1e3767",
"calldata_variants": [
"0x8f1e3767",
"0x8f1e37670000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4060,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": [
{
"pc": 1413,
"type": "tx_origin_used"
},
{
"pc": 1857,
"type": "tx_origin_used"
},
{
"pc": 2406,
"type": "tx_origin_used"
},
{
"pc": 1412,
"type": "tx_origin_used"
},
{
"pc": 1856,
"type": "tx_origin_used"
},
{
"pc": 2405,
"type": "tx_origin_used"
}
]
}
|