40c2474e-d61a-4015-a5ee-80af9788768a
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 |
|---|---|---|---|---|
| 30840 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 94051 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 94052 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 94053 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 94054 | capability.graph | complete | 1 / 3 | 1 week ago |
| 94055 | detector.run | complete | 1 / 3 | 1 week ago |
| 94056 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:438152] OpenAI Codex v0.77.0 (research preview)
[codex:438152] --------
[codex:438152] workdir: /tmp/codex-multi-ws67v7pu
[codex:438152] model: gpt-5.2-codex
[codex:438152] provider: openai
[codex:438152] approval: never
[codex:438152] sandbox: read-only
[codex:438152] reasoning effort: xhigh
[codex:438152] reasoning summaries: auto
[codex:438152] session id: 019b74f9-5b66-7231-8580-26ebe1cbcaa0
[codex:438152] --------
[codex:438152] user
[codex:438152] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:438152]
[codex:438152] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:438152]
[codex:438152] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:438152] - Gas inefficiency, code quality, naming, or best practices
[codex:438152] - Theoretical vulnerabilities without a clear extraction path
[codex:438152] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:438152] - Front-running unless it enables theft beyond MEV
[codex:438152] - DoS, griefing, or issues that don't result in attacker profit
[codex:438152] - Missing events, view function issues, or informational findings
[codex:438152]
[codex:438152] HIGH-VALUE PATTERNS TO HUNT:
[codex:438152] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:438152] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:438152] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:438152] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:438152] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:438152] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:438152] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:438152] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:438152] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:438152]
[codex:438152] For each finding, you MUST provide:
[codex:438152] 1. Exact file and line numbers of vulnerable code
[codex:438152] 2. Step-by-step exploit transaction sequence
[codex:438152] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:438152]
[codex:438152] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:438152]
[codex:438152] Output MUST be valid JSON matching the provided schema.
[codex:438152] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:438152] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:438152] mcp startup: no servers
[codex:438152]
[codex:438152] thinking
[codex:438152] **Checking for AGENTS and AUDIT_BUNDLE files**
[codex:438152] exec
[codex:438152] /bin/bash -lc ls in /tmp/codex-multi-ws67v7pu succeeded in 5ms:
[codex:438152] AUDIT_BUNDLE.txt
[codex:438152] codex-output-schema.json
[codex:438152] contracts
[codex:438152] exec
[codex:438152] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ws67v7pu succeeded in 5ms:
[codex:438152] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:438152]
[codex:438152] ================================================================================
[codex:438152] FILE: contracts/Contract.sol
[codex:438152] ================================================================================
[codex:438152] // File: contracts/MerkleTreeWithHistory.sol
[codex:438152]
[codex:438152] // https://tornado.cash
[codex:438152] /*
[codex:438152] * d888888P dP a88888b. dP
[codex:438152] * 88 88 d8' `88 88
[codex:438152] * 88 .d8888b. 88d888b. 88d888b. .d8888b. .d888b88 .d8888b. 88 .d8888b. .d8888b. 88d888b.
[codex:438152] * 88 88' `88 88' `88 88' `88 88' `88 88' `88 88' `88 88 88' `88 Y8ooooo. 88' `88
[codex:438152] * 88 88. .88 88 88 88 88. .88 88. .88 88. .88 dP Y8. .88 88. .88 88 88 88
[codex:438152] * dP `88888P' dP dP dP `88888P8 `88888P8 `88888P' 88 Y88888P' `88888P8 `88888P' dP dP
[codex:438152] * ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
[codex:438152] */
[codex:438152]
[codex:438152] pragma solidity ^0.5.8;
[codex:438152]
[codex:438152] exec
[codex:438152] /bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ws67v7pu succeeded in 6ms:
[codex:438152] address public operator;
[codex:438152] modifier onlyOperator {
[codex:438152] require(msg.sender == operator, "Only operator can call this function.");
[codex:438152] _;
[codex:438152] }
[codex:438152]
[codex:438152] event Deposit(bytes32 indexed commitment, uint32 leafIndex, uint256 timestamp);
[codex:438152] event Withdrawal(address to, bytes32 nullifierHash, address indexed relayer, uint256 fee);
[codex:438152]
[codex:438152] /**
[codex:438152] @dev The constructor
[codex:438152] @param _verifier the address of SNARK verifier for this contract
[codex:438152] @param _denomination transfer amount for each deposit
[codex:438152] @param _merkleTreeHeight the height of deposits' Merkle Tree
[codex:438152] @param _operator operator address (see operator comment above)
[codex:438152] */
[codex:438152] constructor(
[codex:438152] IVerifier _verifier,
[codex:438152] uint256 _denomination,
[codex:438152] uint32 _merkleTreeHeight,
[codex:438152]
[codex:438152] thinking
[codex:438152] **Analyzing potential Tornado Cash exploits**
[codex:438152]
[codex:438152] I’m carefully reviewing the Tornado Cash code for any exploit paths, focusing on reentrancy protections, external calls, and Merkle tree integrity. After considering various angles—like nonReentrant guards, commitment uniqueness, proof verification, and possible library risks—I conclude no profitable exploit path exists without breaking zk proofs or operator security. I’ll output a JSON summary confirming no findings.
[codex:438152] codex
[codex:438152] {"no_findings":true,"summary":"Reviewed AUDIT_BUNDLE.txt (MerkleTreeWithHistory, Tornado, TornadoCash_eth). No concrete exploit path to extract value without a valid zk proof or operator compromise was identified.","findings":[]}
[codex:438152] tokens used
[codex:438152] 10,167
[codex:438152] {"no_findings":true,"summary":"Reviewed AUDIT_BUNDLE.txt (MerkleTreeWithHistory, Tornado, TornadoCash_eth). No concrete exploit path to extract value without a valid zk proof or operator compromise was identified.","findings":[]}
{
"codex": {
"ran_at": "2025-12-31T15:14:50.420231+00:00",
"returncode": 0
},
"summary": "Reviewed AUDIT_BUNDLE.txt (MerkleTreeWithHistory, Tornado, TornadoCash_eth). No concrete exploit path to extract value without a valid zk proof or operator compromise was identified.",
"raw_final": {
"summary": "Reviewed AUDIT_BUNDLE.txt (MerkleTreeWithHistory, Tornado, TornadoCash_eth). No concrete exploit path to extract value without a valid zk proof or operator compromise was identified.",
"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 0x0140 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x90eeb02b 00000019: GT 0000001a: PUSH2 0x00b6 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xcd87a3b4 00000024: GT 00000025: PUSH2 0x006f 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xcd87a3b4 0000002f: EQ 00000030: PUSH2 0x04f4 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xe5285dcc 0000003a: EQ 0000003b: PUSH2 0x0509 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xe8295588 00000045: EQ 00000046: PUSH2 0x0533 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xec732959 00000050: EQ 00000051: PUSH2 0x055d 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xf178e47c 0000005b: EQ 0000005c: PUSH2 0x0572 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xfc7e9c6f 00000066: EQ 00000067: PUSH2 0x059c 0000006a: JUMPI 0000006b: PUSH2 0x0140 0000006e: JUMP 0000006f: JUMPDEST 00000070: DUP1 00000071: PUSH4 0x90eeb02b 00000076: EQ 00000077: PUSH2 0x0385 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0x97fc007c 00000081: EQ 00000082: PUSH2 0x039a 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0x9fa12d0b 0000008c: EQ 0000008d: PUSH2 0x03cd 00000090: JUMPI 00000091: DUP1 00000092: PUSH4 0xb214faa5 00000097: EQ 00000098: PUSH2 0x0498 0000009b: JUMPI 0000009c: DUP1 0000009d: PUSH4 0xba70f757 000000a2: EQ 000000a3: PUSH2 0x04b5 000000a6: JUMPI 000000a7: DUP1 000000a8: PUSH4 0xc2b40ae4 000000ad: EQ 000000ae: PUSH2 0x04ca 000000b1: JUMPI 000000b2: PUSH2 0x0140 000000b5: JUMP 000000b6: JUMPDEST 000000b7: DUP1 000000b8: PUSH4 0x414a37ba 000000bd: GT 000000be: PUSH2 0x0108 000000c1: JUMPI 000000c2: DUP1 000000c3: PUSH4 0x414a37ba 000000c8: EQ 000000c9: PUSH2 0x02c4 000000cc: JUMPI 000000cd: DUP1 000000ce: PUSH4 0x4ecf518b 000000d3: EQ 000000d4: PUSH2 0x02d9 000000d7: JUMPI 000000d8: DUP1 000000d9: PUSH4 0x570ca735 000000de: EQ 000000df: PUSH2 0x0307 000000e2: JUMPI 000000e3: DUP1 000000e4: PUSH4 0x6d9833e3 000000e9: EQ 000000ea: PUSH2 0x031c 000000ed: JUMPI 000000ee: DUP1 000000ef: PUSH4 0x839df945 000000f4: EQ 000000f5: PUSH2 0x0346 000000f8: JUMPI 000000f9: DUP1 000000fa: PUSH4 0x8bca6d16 000000ff: EQ 00000100: PUSH2 0x0370 00000103: JUMPI 00000104: PUSH2 0x0140 00000107: JUMP 00000108: JUMPDEST 00000109: DUP1 0000010a: PUSH4 0x06394c9b 0000010f: EQ 00000110: PUSH2 0x0145 00000113: JUMPI 00000114: DUP1 00000115: PUSH4 0x17cc915c 0000011a: EQ 0000011b: PUSH2 0x017a 0000011e: JUMPI 0000011f: DUP1 00000120: PUSH4 0x21a0adb6 00000125: EQ 00000126: PUSH2 0x01b8 00000129: JUMPI 0000012a: DUP1 0000012b: PUSH4 0x2b7ac3f3 00000130: EQ 00000131: PUSH2 0x0251 00000134: JUMPI 00000135: DUP1 00000136: PUSH4 0x38bf282e 0000013b: EQ 0000013c: PUSH2 0x0282 0000013f: JUMPI 00000140: JUMPDEST 00000141: PUSH1 0x00 00000143: DUP1 00000144: REVERT 00000145: JUMPDEST 00000146: CALLVALUE 00000147: DUP1 00000148: ISZERO 00000149: PUSH2 0x0151 0000014c: JUMPI 0000014d: PUSH1 0x00 0000014f: DUP1 00000150: REVERT 00000151: JUMPDEST 00000152: POP 00000153: PUSH2 0x0178 00000156: PUSH1 0x04 00000158: DUP1 00000159: CALLDATASIZE 0000015a: SUB 0000015b: PUSH1 0x20 0000015d: DUP2 0000015e: LT 0000015f: ISZERO 00000160: PUSH2 0x0168 00000163: JUMPI 00000164: PUSH1 0x00 00000166: DUP1 00000167: REVERT 00000168: JUMPDEST 00000169: POP 0000016a: CALLDATALOAD 0000016b: PUSH1 0x01 0000016d: PUSH1 0x01 0000016f: PUSH1 0xa0 00000171: SHL 00000172: SUB 00000173: AND 00000174: PUSH2 0x05b1 00000177: JUMP 00000178: JUMPDEST 00000179: STOP 0000017a: JUMPDEST 0000017b: CALLVALUE 0000017c: DUP1 0000017d: ISZERO 0000017e: PUSH2 0x0186 00000181: JUMPI 00000182: PUSH1 0x00 00000184: DUP1 00000185: REVERT 00000186: JUMPDEST 00000187: POP 00000188: PUSH2 0x01a4 0000018b: PUSH1 0x04 0000018d: DUP1 0000018e: CALLDATASIZE 0000018f: SUB 00000190: PUSH1 0x20 00000192: DUP2 00000193: LT 00000194: ISZERO 00000195: PUSH2 0x019d 00000198: JUMPI 00000199: PUSH1 0x00 0000019b: DUP1 0000019c: REVERT 0000019d: JUMPDEST 0000019e: POP 0000019f: CALLDATALOAD 000001a0: PUSH2 0x061c 000001a3: JUMP 000001a4: JUMPDEST 000001a5: PUSH1 0x40 000001a7: DUP1 000001a8: MLOAD 000001a9: SWAP2 000001aa: ISZERO 000001ab: ISZERO 000001ac: DUP3 000001ad: MSTORE 000001ae: MLOAD 000001af: SWAP1 000001b0: DUP2 000001b1: SWAP1 000001b2: SUB 000001b3: PUSH1 0x20 000001b5: ADD 000001b6: SWAP1 000001b7: RETURN 000001b8: JUMPDEST 000001b9: PUSH2 0x0178 000001bc: PUSH1 0x04 000001be: DUP1 000001bf: CALLDATASIZE 000001c0: SUB 000001c1: PUSH1 0xe0 000001c3: DUP2 000001c4: LT 000001c5: ISZERO 000001c6: PUSH2 0x01ce 000001c9: JUMPI 000001ca: PUSH1 0x00 000001cc: DUP1 000001cd: REVERT 000001ce: JUMPDEST 000001cf: DUP2 000001d0: ADD 000001d1: SWAP1 000001d2: PUSH1 0x20 000001d4: DUP2 000001d5: ADD 000001d6: DUP2 000001d7: CALLDATALOAD 000001d8: PUSH1 0x01 000001da: PUSH1 0x20 000001dc: SHL 000001dd: DUP2 000001de: GT 000001df: ISZERO 000001e0: PUSH2 0x01e8 000001e3: JUMPI 000001e4: PUSH1 0x00 000001e6: DUP1 000001e7: REVERT 000001e8: JUMPDEST 000001e9: DUP3 000001ea: ADD 000001eb: DUP4 000001ec: PUSH1 0x20 000001ee: DUP3 000001ef: ADD 000001f0: GT 000001f1: ISZERO 000001f2: PUSH2 0x01fa 000001f5: JUMPI 000001f6: PUSH1 0x00 000001f8: DUP1 000001f9: REVERT 000001fa: JUMPDEST 000001fb: DUP1 000001fc: CALLDATALOAD 000001fd: SWAP1 000001fe: PUSH1 0x20 00000200: ADD 00000201: SWAP2 00000202: DUP5 00000203: PUSH1 0x01 00000205: DUP4 00000206: MUL 00000207: DUP5 00000208: ADD 00000209: GT 0000020a: PUSH1 0x01 0000020c: PUSH1 0x20 0000020e: SHL 0000020f: DUP4 00000210: GT 00000211: OR 00000212: ISZERO 00000213: PUSH2 0x021b 00000216: JUMPI 00000217: PUSH1 0x00 00000219: DUP1 0000021a: REVERT 0000021b: JUMPDEST 0000021c: SWAP2 0000021d: SWAP4 0000021e: POP 0000021f: SWAP2 00000220: POP 00000221: DUP1 00000222: CALLDATALOAD 00000223: SWAP1 00000224: PUSH1 0x20 00000226: DUP2 00000227: ADD 00000228: CALLDATALOAD 00000229: SWAP1 0000022a: PUSH1 0x01 0000022c: PUSH1 0x01 0000022e: PUSH1 0xa0 00000230: SHL 00000231: SUB 00000232: PUSH1 0x40 00000234: DUP3 00000235: ADD 00000236: CALLDATALOAD 00000237: DUP2 00000238: AND 00000239: SWAP2 0000023a: PUSH1 0x60 0000023c: DUP2 0000023d: ADD 0000023e: CALLDATALOAD 0000023f: SWAP1 00000240: SWAP2 00000241: AND 00000242: SWAP1 00000243: PUSH1 0x80 00000245: DUP2 00000246: ADD 00000247: CALLDATALOAD 00000248: SWAP1 00000249: PUSH1 0xa0 0000024b: ADD 0000024c: CALLDATALOAD 0000024d: PUSH2 0x0631 00000250: JUMP 00000251: JUMPDEST 00000252: CALLVALUE 00000253: DUP1 00000254: ISZERO 00000255: PUSH2 0x025d 00000258: JUMPI 00000259: PUSH1 0x00 0000025b: DUP1 0000025c: REVERT 0000025d: JUMPDEST 0000025e: POP 0000025f: PUSH2 0x0266 00000262: PUSH2 0x0972 00000265: JUMP 00000266: JUMPDEST 00000267: PUSH1 0x40 00000269: DUP1 0000026a: MLOAD 0000026b: PUSH1 0x01 0000026d: PUSH1 0x01 0000026f: PUSH1 0xa0 00000271: SHL 00000272: SUB 00000273: SWAP1 00000274: SWAP3 00000275: AND 00000276: DUP3 00000277: MSTORE 00000278: MLOAD 00000279: SWAP1 0000027a: DUP2 0000027b: SWAP1 0000027c: SUB 0000027d: PUSH1 0x20 0000027f: ADD 00000280: SWAP1 00000281: RETURN 00000282: JUMPDEST 00000283: CALLVALUE 00000284: DUP1 00000285: ISZERO 00000286: PUSH2 0x028e 00000289: JUMPI 0000028a: PUSH1 0x00 0000028c: DUP1 0000028d: REVERT 0000028e: JUMPDEST 0000028f: POP 00000290: PUSH2 0x02b2 00000293: PUSH1 0x04 00000295: DUP1 00000296: CALLDATASIZE 00000297: SUB 00000298: PUSH1 0x40 0000029a: DUP2 0000029b: LT 0000029c: ISZERO 0000029d: PUSH2 0x02a5 000002a0: JUMPI 000002a1: PUSH1 0x00 000002a3: DUP1 000002a4: REVERT 000002a5: JUMPDEST 000002a6: POP 000002a7: DUP1 000002a8: CALLDATALOAD 000002a9: SWAP1 000002aa: PUSH1 0x20 000002ac: ADD 000002ad: CALLDATALOAD 000002ae: PUSH2 0x0981 000002b1: JUMP 000002b2: JUMPDEST 000002b3: PUSH1 0x40 000002b5: DUP1 000002b6: MLOAD 000002b7: SWAP2 000002b8: DUP3 000002b9: MSTORE 000002ba: MLOAD 000002bb: SWAP1 000002bc: DUP2 000002bd: SWAP1 000002be: SUB 000002bf: PUSH1 0x20 000002c1: ADD 000002c2: SWAP1 000002c3: RETURN 000002c4: JUMPDEST 000002c5: CALLVALUE 000002c6: DUP1 000002c7: ISZERO 000002c8: PUSH2 0x02d0 000002cb: JUMPI 000002cc: PUSH1 0x00 000002ce: DUP1 000002cf: REVERT 000002d0: JUMPDEST 000002d1: POP 000002d2: PUSH2 0x02b2 000002d5: PUSH2 0x0b62 000002d8: JUMP 000002d9: JUMPDEST 000002da: CALLVALUE 000002db: DUP1 000002dc: ISZERO 000002dd: PUSH2 0x02e5 000002e0: JUMPI 000002e1: PUSH1 0x00 000002e3: DUP1 000002e4: REVERT 000002e5: JUMPDEST 000002e6: POP 000002e7: PUSH2 0x02ee 000002ea: PUSH2 0x0b74 000002ed: JUMP 000002ee: JUMPDEST 000002ef: PUSH1 0x40 000002f1: DUP1 000002f2: MLOAD 000002f3: PUSH4 0xffffffff 000002f8: SWAP1 000002f9: SWAP3 000002fa: AND 000002fb: DUP3 000002fc: MSTORE 000002fd: MLOAD 000002fe: SWAP1 000002ff: DUP2 00000300: SWAP1 00000301: SUB 00000302: PUSH1 0x20 00000304: ADD 00000305: SWAP1 00000306: RETURN 00000307: JUMPDEST 00000308: CALLVALUE 00000309: DUP1 0000030a: ISZERO 0000030b: PUSH2 0x0313 0000030e: JUMPI 0000030f: PUSH1 0x00 00000311: DUP1 00000312: REVERT 00000313: JUMPDEST 00000314: POP 00000315: PUSH2 0x0266 00000318: PUSH2 0x0b80 0000031b: JUMP 0000031c: JUMPDEST 0000031d: CALLVALUE 0000031e: DUP1 0000031f: ISZERO 00000320: PUSH2 0x0328 00000323: JUMPI 00000324: PUSH1 0x00 00000326: DUP1 00000327: REVERT 00000328: JUMPDEST 00000329: POP 0000032a: PUSH2 0x01a4 0000032d: PUSH1 0x04 0000032f: DUP1 00000330: CALLDATASIZE 00000331: SUB 00000332: PUSH1 0x20 00000334: DUP2 00000335: LT 00000336: ISZERO 00000337: PUSH2 0x033f 0000033a: JUMPI 0000033b: PUSH1 0x00 0000033d: DUP1 0000033e: REVERT 0000033f: JUMPDEST 00000340: POP 00000341: CALLDATALOAD 00000342: PUSH2 0x0b8f 00000345: JUMP 00000346: JUMPDEST 00000347: CALLVALUE 00000348: DUP1 00000349: ISZERO 0000034a: PUSH2 0x0352 0000034d: JUMPI 0000034e: PUSH1 0x00 00000350: DUP1 00000351: REVERT 00000352: JUMPDEST 00000353: POP 00000354: PUSH2 0x01a4 00000357: PUSH1 0x04 00000359: DUP1 0000035a: CALLDATASIZE 0000035b: SUB 0000035c: PUSH1 0x20 0000035e: DUP2 0000035f: LT 00000360: ISZERO 00000361: PUSH2 0x0369 00000364: JUMPI 00000365: PUSH1 0x00 00000367: DUP1 00000368: REVERT 00000369: JUMPDEST 0000036a: POP 0000036b: CALLDATALOAD 0000036c: PUSH2 0x0c02 0000036f: JUMP 00000370: JUMPDEST 00000371: CALLVALUE 00000372: DUP1 00000373: ISZERO 00000374: PUSH2 0x037c 00000377: JUMPI 00000378: PUSH1 0x00 0000037a: DUP1 0000037b: REVERT 0000037c: JUMPDEST 0000037d: POP 0000037e: PUSH2 0x02b2 00000381: PUSH2 0x0c17 00000384: JUMP 00000385: JUMPDEST 00000386: CALLVALUE 00000387: DUP1 00000388: ISZERO 00000389: PUSH2 0x0391 0000038c: JUMPI 0000038d: PUSH1 0x00 0000038f: DUP1 00000390: REVERT 00000391: JUMPDEST 00000392: POP 00000393: PUSH2 0x02ee 00000396: PUSH2 0x0c1d 00000399: JUMP 0000039a: JUMPDEST 0000039b: CALLVALUE 0000039c: DUP1 0000039d: ISZERO 0000039e: PUSH2 0x03a6 000003a1: JUMPI 000003a2: PUSH1 0x00 000003a4: DUP1 000003a5: REVERT 000003a6: JUMPDEST 000003a7: POP 000003a8: PUSH2 0x0178 000003ab: PUSH1 0x04 000003ad: DUP1 000003ae: CALLDATASIZE 000003af: SUB 000003b0: PUSH1 0x20 000003b2: DUP2 000003b3: LT 000003b4: ISZERO 000003b5: PUSH2 0x03bd 000003b8: JUMPI 000003b9: PUSH1 0x00 000003bb: DUP1 000003bc: REVERT 000003bd: JUMPDEST 000003be: POP 000003bf: CALLDATALOAD 000003c0: PUSH1 0x01 000003c2: PUSH1 0x01 000003c4: PUSH1 0xa0 000003c6: SHL 000003c7: SUB 000003c8: AND 000003c9: PUSH2 0x0c29 000003cc: JUMP 000003cd: JUMPDEST 000003ce: CALLVALUE 000003cf: DUP1 000003d0: ISZERO 000003d1: PUSH2 0x03d9 000003d4: JUMPI 000003d5: PUSH1 0x00 000003d7: DUP1 000003d8: REVERT 000003d9: JUMPDEST 000003da: POP 000003db: PUSH2 0x0448 000003de: PUSH1 0x04 000003e0: DUP1 000003e1: CALLDATASIZE 000003e2: SUB 000003e3: PUSH1 0x20 000003e5: DUP2 000003e6: LT 000003e7: ISZERO 000003e8: PUSH2 0x03f0 000003eb: JUMPI 000003ec: PUSH1 0x00 000003ee: DUP1 000003ef: REVERT 000003f0: JUMPDEST 000003f1: DUP2 000003f2: ADD 000003f3: SWAP1 000003f4: PUSH1 0x20 000003f6: DUP2 000003f7: ADD 000003f8: DUP2 000003f9: CALLDATALOAD 000003fa: PUSH1 0x01 000003fc: PUSH1 0x20 000003fe: SHL 000003ff: DUP2 00000400: GT 00000401: ISZERO 00000402: PUSH2 0x040a 00000405: JUMPI 00000406: PUSH1 0x00 00000408: DUP1 00000409: REVERT 0000040a: JUMPDEST 0000040b: DUP3 0000040c: ADD 0000040d: DUP4 0000040e: PUSH1 0x20 00000410: DUP3 00000411: ADD 00000412: GT 00000413: ISZERO 00000414: PUSH2 0x041c 00000417: JUMPI 00000418: PUSH1 0x00 0000041a: DUP1 0000041b: REVERT 0000041c: JUMPDEST 0000041d: DUP1 0000041e: CALLDATALOAD 0000041f: SWAP1 00000420: PUSH1 0x20 00000422: ADD 00000423: SWAP2 00000424: DUP5 00000425: PUSH1 0x20 00000427: DUP4 00000428: MUL 00000429: DUP5 0000042a: ADD 0000042b: GT 0000042c: PUSH1 0x01 0000042e: PUSH1 0x20 00000430: SHL 00000431: DUP4 00000432: GT 00000433: OR 00000434: ISZERO 00000435: PUSH2 0x043d 00000438: JUMPI 00000439: PUSH1 0x00 0000043b: DUP1 0000043c: REVERT 0000043d: JUMPDEST 0000043e: POP 0000043f: SWAP1 00000440: SWAP3 00000441: POP 00000442: SWAP1 00000443: POP 00000444: PUSH2 0x0c94 00000447: JUMP 00000448: JUMPDEST 00000449: PUSH1 0x40 0000044b: DUP1 0000044c: MLOAD 0000044d: PUSH1 0x20 0000044f: DUP1 00000450: DUP3 00000451: MSTORE 00000452: DUP4 00000453: MLOAD 00000454: DUP2 00000455: DUP4 00000456: ADD 00000457: MSTORE 00000458: DUP4 00000459: MLOAD 0000045a: SWAP2 0000045b: SWAP3 0000045c: DUP4 0000045d: SWAP3 0000045e: SWAP1 0000045f: DUP4 00000460: ADD 00000461: SWAP2 00000462: DUP6 00000463: DUP2 00000464: ADD 00000465: SWAP2 00000466: MUL 00000467: DUP1 00000468: DUP4 00000469: DUP4 0000046a: PUSH1 0x00 0000046c: JUMPDEST 0000046d: DUP4 0000046e: DUP2 0000046f: LT 00000470: ISZERO 00000471: PUSH2 0x0484 00000474: JUMPI 00000475: DUP2 00000476: DUP2 00000477: ADD 00000478: MLOAD 00000479: DUP4 0000047a: DUP3 0000047b: ADD 0000047c: MSTORE 0000047d: PUSH1 0x20 0000047f: ADD 00000480: PUSH2 0x046c 00000483: JUMP 00000484: JUMPDEST 00000485: POP 00000486: POP 00000487: POP 00000488: POP 00000489: SWAP1 0000048a: POP 0000048b: ADD 0000048c: SWAP3 0000048d: POP 0000048e: POP 0000048f: POP 00000490: PUSH1 0x40 00000492: MLOAD 00000493: DUP1 00000494: SWAP2 00000495: SUB 00000496: SWAP1 00000497: RETURN 00000498: JUMPDEST 00000499: PUSH2 0x0178 0000049c: PUSH1 0x04 0000049e: DUP1 0000049f: CALLDATASIZE 000004a0: SUB 000004a1: PUSH1 0x20 000004a3: DUP2 000004a4: LT 000004a5: ISZERO 000004a6: PUSH2 0x04ae 000004a9: JUMPI 000004aa: PUSH1 0x00 000004ac: DUP1 000004ad: REVERT 000004ae: JUMPDEST 000004af: POP 000004b0: CALLDATALOAD 000004b1: PUSH2 0x0d1c 000004b4: JUMP 000004b5: JUMPDEST 000004b6: CALLVALUE 000004b7: DUP1 000004b8: ISZERO 000004b9: PUSH2 0x04c1 000004bc: JUMPI 000004bd: PUSH1 0x00 000004bf: DUP1 000004c0: REVERT 000004c1: JUMPDEST 000004c2: POP 000004c3: PUSH2 0x02b2 000004c6: PUSH2 0x0e3d 000004c9: JUMP 000004ca: JUMPDEST 000004cb: CALLVALUE 000004cc: DUP1 000004cd: ISZERO 000004ce: PUSH2 0x04d6 000004d1: JUMPI 000004d2: PUSH1 0x00 000004d4: DUP1 000004d5: REVERT 000004d6: JUMPDEST 000004d7: POP 000004d8: PUSH2 0x02b2 000004db: PUSH1 0x04 000004dd: DUP1 000004de: CALLDATASIZE 000004df: SUB 000004e0: PUSH1 0x20 000004e2: DUP2 000004e3: LT 000004e4: ISZERO 000004e5: PUSH2 0x04ed 000004e8: JUMPI 000004e9: PUSH1 0x00 000004eb: DUP1 000004ec: REVERT 000004ed: JUMPDEST 000004ee: POP 000004ef: CALLDATALOAD 000004f0: PUSH2 0x0e5d 000004f3: JUMP 000004f4: JUMPDEST 000004f5: CALLVALUE 000004f6: DUP1 000004f7: ISZERO 000004f8: PUSH2 0x0500 000004fb: JUMPI 000004fc: PUSH1 0x00 000004fe: DUP1 000004ff: REVERT 00000500: JUMPDEST 00000501: POP 00000502: PUSH2 0x02ee 00000505: PUSH2 0x0e71 00000508: JUMP 00000509: JUMPDEST 0000050a: CALLVALUE 0000050b: DUP1 0000050c: ISZERO 0000050d: PUSH2 0x0515 00000510: JUMPI 00000511: PUSH1 0x00 00000513: DUP1 00000514: REVERT 00000515: JUMPDEST 00000516: POP 00000517: PUSH2 0x01a4 0000051a: PUSH1 0x04 0000051c: DUP1 0000051d: CALLDATASIZE 0000051e: SUB 0000051f: PUSH1 0x20 00000521: DUP2 00000522: LT 00000523: ISZERO 00000524: PUSH2 0x052c 00000527: JUMPI 00000528: PUSH1 0x00 0000052a: DUP1 0000052b: REVERT 0000052c: JUMPDEST 0000052d: POP 0000052e: CALLDATALOAD 0000052f: PUSH2 0x0e76 00000532: JUMP 00000533: JUMPDEST 00000534: CALLVALUE 00000535: DUP1 00000536: ISZERO 00000537: PUSH2 0x053f 0000053a: JUMPI 0000053b: PUSH1 0x00 0000053d: DUP1 0000053e: REVERT 0000053f: JUMPDEST 00000540: POP 00000541: PUSH2 0x02b2 00000544: PUSH1 0x04 00000546: DUP1 00000547: CALLDATASIZE 00000548: SUB 00000549: PUSH1 0x20 0000054b: DUP2 0000054c: LT 0000054d: ISZERO 0000054e: PUSH2 0x0556 00000551: JUMPI 00000552: PUSH1 0x00 00000554: DUP1 00000555: REVERT 00000556: JUMPDEST 00000557: POP 00000558: CALLDATALOAD 00000559: PUSH2 0x0e8b 0000055c: JUMP 0000055d: JUMPDEST 0000055e: CALLVALUE 0000055f: DUP1 00000560: ISZERO 00000561: PUSH2 0x0569 00000564: JUMPI 00000565: PUSH1 0x00 00000567: DUP1 00000568: REVERT 00000569: JUMPDEST 0000056a: POP 0000056b: PUSH2 0x02b2 0000056e: PUSH2 0x0ea9 00000571: JUMP 00000572: JUMPDEST 00000573: CALLVALUE 00000574: DUP1 00000575: ISZERO 00000576: PUSH2 0x057e 00000579: JUMPI 0000057a: PUSH1 0x00 0000057c: DUP1 0000057d: REVERT 0000057e: JUMPDEST 0000057f: POP 00000580: PUSH2 0x02b2 00000583: PUSH1 0x04 00000585: DUP1 00000586: CALLDATASIZE 00000587: SUB 00000588: PUSH1 0x20 0000058a: DUP2 0000058b: LT 0000058c: ISZERO 0000058d: PUSH2 0x0595 00000590: JUMPI 00000591: PUSH1 0x00 00000593: DUP1 00000594: REVERT 00000595: JUMPDEST 00000596: POP 00000597: CALLDATALOAD 00000598: PUSH2 0x0ecd 0000059b: JUMP 0000059c: JUMPDEST 0000059d: CALLVALUE 0000059e: DUP1 0000059f: ISZERO 000005a0: PUSH2 0x05a8 000005a3: JUMPI 000005a4: PUSH1 0x00 000005a6: DUP1 000005a7: REVERT 000005a8: JUMPDEST 000005a9: POP 000005aa: PUSH2 0x02ee 000005ad: PUSH2 0x0eda 000005b0: JUMP 000005b1: JUMPDEST 000005b2: PUSH1 0x6d 000005b4: SLOAD 000005b5: PUSH1 0x01 000005b7: PUSH1 0x01 000005b9: PUSH1 0xa0 000005bb: SHL 000005bc: SUB 000005bd: AND 000005be: CALLER 000005bf: EQ 000005c0: PUSH2 0x05fa 000005c3: JUMPI 000005c4: PUSH1 0x40 000005c6: MLOAD 000005c7: PUSH3 0x461bcd 000005cb: PUSH1 0xe5 000005cd: SHL 000005ce: DUP2 000005cf: MSTORE 000005d0: PUSH1 0x04 000005d2: ADD 000005d3: DUP1 000005d4: DUP1 000005d5: PUSH1 0x20 000005d7: ADD 000005d8: DUP3 000005d9: DUP2 000005da: SUB 000005db: DUP3 000005dc: MSTORE 000005dd: PUSH1 0x25 000005df: DUP2 000005e0: MSTORE 000005e1: PUSH1 0x20 000005e3: ADD 000005e4: DUP1 000005e5: PUSH2 0x13b9 000005e8: PUSH1 0x25 000005ea: SWAP2 000005eb: CODECOPY 000005ec: PUSH1 0x40 000005ee: ADD 000005ef: SWAP2 000005f0: POP 000005f1: POP 000005f2: PUSH1 0x40 000005f4: MLOAD 000005f5: DUP1 000005f6: SWAP2 000005f7: SUB 000005f8: SWAP1 000005f9: REVERT 000005fa: JUMPDEST 000005fb: PUSH1 0x6d 000005fd: DUP1 000005fe: SLOAD 000005ff: PUSH1 0x01 00000601: PUSH1 0x01 00000603: PUSH1 0xa0 00000605: SHL 00000606: SUB 00000607: NOT 00000608: AND 00000609: PUSH1 0x01 0000060b: PUSH1 0x01 0000060d: PUSH1 0xa0 0000060f: SHL 00000610: SUB 00000611: SWAP3 00000612: SWAP1 00000613: SWAP3 00000614: AND 00000615: SWAP2 00000616: SWAP1 00000617: SWAP2 00000618: OR 00000619: SWAP1 0000061a: SSTORE 0000061b: JUMP 0000061c: JUMPDEST 0000061d: PUSH1 0x6a 0000061f: PUSH1 0x20 00000621: MSTORE 00000622: PUSH1 0x00 00000624: SWAP1 00000625: DUP2 00000626: MSTORE 00000627: PUSH1 0x40 00000629: SWAP1 0000062a: KECCAK256 0000062b: SLOAD 0000062c: PUSH1 0xff 0000062e: AND 0000062f: DUP2 00000630: JUMP 00000631: JUMPDEST 00000632: PUSH1 0x68 00000634: DUP1 00000635: SLOAD 00000636: PUSH1 0x01 00000638: ADD 00000639: SWAP1 0000063a: DUP2 0000063b: SWAP1 0000063c: SSTORE 0000063d: PUSH1 0x69 0000063f: SLOAD 00000640: DUP4 00000641: GT 00000642: ISZERO 00000643: PUSH2 0x0693 00000646: JUMPI 00000647: PUSH1 0x40 00000649: DUP1 0000064a: MLOAD 0000064b: PUSH3 0x461bcd 0000064f: PUSH1 0xe5 00000651: SHL 00000652: DUP2 00000653: MSTORE 00000654: PUSH1 0x20 00000656: PUSH1 0x04 00000658: DUP3 00000659: ADD 0000065a: MSTORE 0000065b: PUSH1 0x1a 0000065d: PUSH1 0x24 0000065f: DUP3 00000660: ADD 00000661: MSTORE 00000662: PUSH32 0x4665652065786365656473207472616e736665722076616c7565000000000000 00000683: PUSH1 0x44 00000685: DUP3 00000686: ADD 00000687: MSTORE 00000688: SWAP1 00000689: MLOAD 0000068a: SWAP1 0000068b: DUP2 0000068c: SWAP1 0000068d: SUB 0000068e: PUSH1 0x64 00000690: ADD 00000691: SWAP1 00000692: REVERT 00000693: JUMPDEST 00000694: PUSH1 0x00 00000696: DUP7 00000697: DUP2 00000698: MSTORE 00000699: PUSH1 0x6a 0000069b: PUSH1 0x20 0000069d: MSTORE 0000069e: PUSH1 0x40 000006a0: SWAP1 000006a1: KECCAK256 000006a2: SLOAD 000006a3: PUSH1 0xff 000006a5: AND 000006a6: ISZERO 000006a7: PUSH2 0x06f7 000006aa: JUMPI 000006ab: PUSH1 0x40 000006ad: DUP1 000006ae: MLOAD 000006af: PUSH3 0x461bcd 000006b3: PUSH1 0xe5 000006b5: SHL 000006b6: DUP2 000006b7: MSTORE 000006b8: PUSH1 0x20 000006ba: PUSH1 0x04 000006bc: DUP3 000006bd: ADD 000006be: MSTORE 000006bf: PUSH1 0x1f 000006c1: PUSH1 0x24 000006c3: DUP3 000006c4: ADD 000006c5: MSTORE 000006c6: PUSH32 0x546865206e6f746520686173206265656e20616c7265616479207370656e7400 000006e7: PUSH1 0x44 000006e9: DUP3 000006ea: ADD 000006eb: MSTORE 000006ec: SWAP1 000006ed: MLOAD 000006ee: SWAP1 000006ef: DUP2 000006f0: SWAP1 000006f1: SUB 000006f2: PUSH1 0x64 000006f4: ADD 000006f5: SWAP1 000006f6: REVERT 000006f7: JUMPDEST 000006f8: PUSH2 0x0700 000006fb: DUP8 000006fc: PUSH2 0x0b8f 000006ff: JUMP 00000700: JUMPDEST 00000701: PUSH2 0x0751 00000704: JUMPI 00000705: PUSH1 0x40 00000707: DUP1 00000708: MLOAD 00000709: PUSH3 0x461bcd 0000070d: PUSH1 0xe5 0000070f: SHL 00000710: DUP2 00000711: MSTORE 00000712: PUSH1 0x20 00000714: PUSH1 0x04 00000716: DUP3 00000717: ADD 00000718: MSTORE 00000719: PUSH1 0x1c 0000071b: PUSH1 0x24 0000071d: DUP3 0000071e: ADD 0000071f: MSTORE 00000720: PUSH32 0x43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000 00000741: PUSH1 0x44 00000743: DUP3 00000744: ADD 00000745: MSTORE 00000746: SWAP1 00000747: MLOAD 00000748: SWAP1 00000749: DUP2 0000074a: SWAP1 0000074b: SUB 0000074c: PUSH1 0x64 0000074e: ADD 0000074f: SWAP1 00000750: REVERT 00000751: JUMPDEST 00000752: PUSH1 0x6c 00000754: SLOAD 00000755: PUSH1 0x40 00000757: DUP1 00000758: MLOAD 00000759: PUSH1 0xc0 0000075b: DUP1 0000075c: DUP3 0000075d: ADD 0000075e: DUP4 0000075f: MSTORE 00000760: DUP11 00000761: DUP3 00000762: MSTORE 00000763: PUSH1 0x20 00000765: DUP3 00000766: ADD 00000767: DUP11 00000768: SWAP1 00000769: MSTORE 0000076a: PUSH1 0x01 0000076c: PUSH1 0x01 0000076e: PUSH1 0xa0 00000770: SHL 00000771: SUB 00000772: DUP10 00000773: DUP2 00000774: AND 00000775: DUP4 00000776: DUP6 00000777: ADD 00000778: MSTORE 00000779: DUP9 0000077a: DUP2 0000077b: AND 0000077c: PUSH1 0x60 0000077e: DUP5 0000077f: ADD 00000780: MSTORE 00000781: PUSH1 0x80 00000783: DUP4 00000784: ADD 00000785: DUP9 00000786: SWAP1 00000787: MSTORE 00000788: PUSH1 0xa0 0000078a: DUP4 0000078b: ADD 0000078c: DUP8 0000078d: SWAP1 0000078e: MSTORE 0000078f: SWAP3 00000790: MLOAD 00000791: PUSH4 0x695ef6f9 00000796: PUSH1 0xe0 00000798: SHL 00000799: DUP2 0000079a: MSTORE 0000079b: SWAP3 0000079c: SWAP1 0000079d: SWAP4 0000079e: AND 0000079f: SWAP3 000007a0: PUSH4 0x695ef6f9 000007a5: SWAP3 000007a6: DUP14 000007a7: SWAP3 000007a8: DUP14 000007a9: SWAP3 000007aa: SWAP1 000007ab: SWAP2 000007ac: PUSH1 0x04 000007ae: DUP2 000007af: ADD 000007b0: SWAP2 000007b1: DUP3 000007b2: SWAP2 000007b3: PUSH1 0x24 000007b5: ADD 000007b6: SWAP1 000007b7: DUP5 000007b8: SWAP1 000007b9: DUP1 000007ba: DUP4 000007bb: DUP4 000007bc: PUSH1 0x00 000007be: JUMPDEST 000007bf: DUP4 000007c0: DUP2 000007c1: LT 000007c2: ISZERO 000007c3: PUSH2 0x07d6 000007c6: JUMPI 000007c7: DUP2 000007c8: DUP2 000007c9: ADD 000007ca: MLOAD 000007cb: DUP4 000007cc: DUP3 000007cd: ADD 000007ce: MSTORE 000007cf: PUSH1 0x20 000007d1: ADD 000007d2: PUSH2 0x07be 000007d5: JUMP 000007d6: JUMPDEST 000007d7: POP 000007d8: POP 000007d9: POP 000007da: POP 000007db: SWAP1 000007dc: POP 000007dd: ADD 000007de: DUP3 000007df: DUP2 000007e0: SUB 000007e1: DUP3 000007e2: MSTORE 000007e3: DUP6 000007e4: DUP6 000007e5: DUP3 000007e6: DUP2 000007e7: DUP2 000007e8: MSTORE 000007e9: PUSH1 0x20 000007eb: ADD 000007ec: SWAP3 000007ed: POP 000007ee: DUP1 000007ef: DUP3 000007f0: DUP5 000007f1: CALLDATACOPY 000007f2: PUSH1 0x00 000007f4: DUP2 000007f5: DUP5 000007f6: ADD 000007f7: MSTORE 000007f8: PUSH1 0x1f 000007fa: NOT 000007fb: PUSH1 0x1f 000007fd: DUP3 000007fe: ADD 000007ff: AND 00000800: SWAP1 00000801: POP 00000802: DUP1 00000803: DUP4 00000804: ADD 00000805: SWAP3 00000806: POP 00000807: POP 00000808: POP 00000809: SWAP5 0000080a: POP 0000080b: POP 0000080c: POP 0000080d: POP 0000080e: POP 0000080f: PUSH1 0x20 00000811: PUSH1 0x40 00000813: MLOAD 00000814: DUP1 00000815: DUP4 00000816: SUB 00000817: DUP2 00000818: PUSH1 0x00 0000081a: DUP8 0000081b: DUP1 0000081c: EXTCODESIZE 0000081d: ISZERO 0000081e: DUP1 0000081f: ISZERO 00000820: PUSH2 0x0828 00000823: JUMPI 00000824: PUSH1 0x00 00000826: DUP1 00000827: REVERT 00000828: JUMPDEST 00000829: POP 0000082a: GAS 0000082b: CALL 0000082c: ISZERO 0000082d: DUP1 0000082e: ISZERO 0000082f: PUSH2 0x083c 00000832: JUMPI 00000833: RETURNDATASIZE 00000834: PUSH1 0x00 00000836: DUP1 00000837: RETURNDATACOPY 00000838: RETURNDATASIZE 00000839: PUSH1 0x00 0000083b: REVERT 0000083c: JUMPDEST 0000083d: POP 0000083e: POP 0000083f: POP 00000840: POP 00000841: PUSH1 0x40 00000843: MLOAD 00000844: RETURNDATASIZE 00000845: PUSH1 0x20 00000847: DUP2 00000848: LT 00000849: ISZERO 0000084a: PUSH2 0x0852 0000084d: JUMPI 0000084e: PUSH1 0x00 00000850: DUP1 00000851: REVERT 00000852: JUMPDEST 00000853: POP 00000854: MLOAD 00000855: PUSH2 0x089e 00000858: JUMPI 00000859: PUSH1 0x40 0000085b: DUP1 0000085c: MLOAD 0000085d: PUSH3 0x461bcd 00000861: PUSH1 0xe5 00000863: SHL 00000864: DUP2 00000865: MSTORE 00000866: PUSH1 0x20 00000868: PUSH1 0x04 0000086a: DUP3 0000086b: ADD 0000086c: MSTORE 0000086d: PUSH1 0x16 0000086f: PUSH1 0x24 00000871: DUP3 00000872: ADD 00000873: MSTORE 00000874: PUSH22 0x24b73b30b634b2103bb4ba34323930bb90383937b7b3 0000088b: PUSH1 0x51 0000088d: SHL 0000088e: PUSH1 0x44 00000890: DUP3 00000891: ADD 00000892: MSTORE 00000893: SWAP1 00000894: MLOAD 00000895: SWAP1 00000896: DUP2 00000897: SWAP1 00000898: SUB 00000899: PUSH1 0x64 0000089b: ADD 0000089c: SWAP1 0000089d: REVERT 0000089e: JUMPDEST 0000089f: PUSH1 0x00 000008a1: DUP7 000008a2: DUP2 000008a3: MSTORE 000008a4: PUSH1 0x6a 000008a6: PUSH1 0x20 000008a8: MSTORE 000008a9: PUSH1 0x40 000008ab: SWAP1 000008ac: KECCAK256 000008ad: DUP1 000008ae: SLOAD 000008af: PUSH1 0xff 000008b1: NOT 000008b2: AND 000008b3: PUSH1 0x01 000008b5: OR 000008b6: SWAP1 000008b7: SSTORE 000008b8: PUSH2 0x08c3 000008bb: DUP6 000008bc: DUP6 000008bd: DUP6 000008be: DUP6 000008bf: PUSH2 0x0eed 000008c2: JUMP 000008c3: JUMPDEST 000008c4: PUSH1 0x40 000008c6: DUP1 000008c7: MLOAD 000008c8: PUSH1 0x01 000008ca: PUSH1 0x01 000008cc: PUSH1 0xa0 000008ce: SHL 000008cf: SUB 000008d0: DUP8 000008d1: DUP2 000008d2: AND 000008d3: DUP3 000008d4: MSTORE 000008d5: PUSH1 0x20 000008d7: DUP3 000008d8: ADD 000008d9: DUP10 000008da: SWAP1 000008db: MSTORE 000008dc: DUP2 000008dd: DUP4 000008de: ADD 000008df: DUP7 000008e0: SWAP1 000008e1: MSTORE 000008e2: SWAP2 000008e3: MLOAD 000008e4: SWAP2 000008e5: DUP7 000008e6: AND 000008e7: SWAP2 000008e8: PUSH32 0xe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931 00000909: SWAP2 0000090a: DUP2 0000090b: SWAP1 0000090c: SUB 0000090d: PUSH1 0x60 0000090f: ADD 00000910: SWAP1 00000911: LOG2 00000912: PUSH1 0x68 00000914: SLOAD 00000915: DUP2 00000916: EQ 00000917: PUSH2 0x0967 0000091a: JUMPI 0000091b: PUSH1 0x40 0000091d: DUP1 0000091e: MLOAD 0000091f: PUSH3 0x461bcd 00000923: PUSH1 0xe5 00000925: SHL 00000926: DUP2 00000927: MSTORE 00000928: PUSH1 0x20 0000092a: PUSH1 0x04 0000092c: DUP3 0000092d: ADD 0000092e: MSTORE 0000092f: PUSH1 0x1f 00000931: PUSH1 0x24 00000933: DUP3 00000934: ADD 00000935: MSTORE 00000936: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00 00000957: PUSH1 0x44 00000959: DUP3 0000095a: ADD 0000095b: MSTORE 0000095c: SWAP1 0000095d: MLOAD 0000095e: SWAP1 0000095f: DUP2 00000960: SWAP1 00000961: SUB 00000962: PUSH1 0x64 00000964: ADD 00000965: SWAP1 00000966: REVERT 00000967: JUMPDEST 00000968: POP 00000969: POP 0000096a: POP 0000096b: POP 0000096c: POP 0000096d: POP 0000096e: POP 0000096f: POP 00000970: POP 00000971: JUMP 00000972: JUMPDEST 00000973: PUSH1 0x6c 00000975: SLOAD 00000976: PUSH1 0x01 00000978: PUSH1 0x01 0000097a: PUSH1 0xa0 0000097c: SHL 0000097d: SUB 0000097e: AND 0000097f: DUP2 00000980: JUMP 00000981: JUMPDEST 00000982: PUSH1 0x00 00000984: PUSH1 0x00 00000986: DUP1 00000987: MLOAD 00000988: PUSH1 0x20 0000098a: PUSH2 0x1330 0000098d: DUP4 0000098e: CODECOPY 0000098f: DUP2 00000990: MLOAD 00000991: SWAP2 00000992: MSTORE 00000993: DUP4 00000994: LT 00000995: PUSH2 0x09e5 00000998: JUMPI 00000999: PUSH1 0x40 0000099b: DUP1 0000099c: MLOAD 0000099d: PUSH3 0x461bcd 000009a1: PUSH1 0xe5 000009a3: SHL 000009a4: DUP2 000009a5: MSTORE 000009a6: PUSH1 0x20 000009a8: PUSH1 0x04 000009aa: DUP3 000009ab: ADD 000009ac: DUP2 000009ad: SWAP1 000009ae: MSTORE 000009af: PUSH1 0x24 000009b1: DUP3 000009b2: ADD 000009b3: MSTORE 000009b4: PUSH32 0x5f6c6566742073686f756c6420626520696e7369646520746865206669656c64 000009d5: PUSH1 0x44 000009d7: DUP3 000009d8: ADD 000009d9: MSTORE 000009da: SWAP1 000009db: MLOAD 000009dc: SWAP1 000009dd: DUP2 000009de: SWAP1 000009df: SUB 000009e0: PUSH1 0x64 000009e2: ADD 000009e3: SWAP1 000009e4: REVERT 000009e5: JUMPDEST 000009e6: PUSH1 0x00 000009e8: DUP1 000009e9: MLOAD 000009ea: PUSH1 0x20 000009ec: PUSH2 0x1330 000009ef: DUP4 000009f0: CODECOPY 000009f1: DUP2 000009f2: MLOAD 000009f3: SWAP2 000009f4: MSTORE 000009f5: DUP3 000009f6: LT 000009f7: PUSH2 0x0a31 000009fa: JUMPI 000009fb: PUSH1 0x40 000009fd: MLOAD 000009fe: PUSH3 0x461bcd 00000a02: PUSH1 0xe5 00000a04: SHL 00000a05: DUP2 00000a06: MSTORE 00000a07: PUSH1 0x04 00000a09: ADD 00000a0a: DUP1 00000a0b: DUP1 00000a0c: PUSH1 0x20 00000a0e: ADD 00000a0f: DUP3 00000a10: DUP2 00000a11: SUB 00000a12: DUP3 00000a13: MSTORE 00000a14: PUSH1 0x21 00000a16: DUP2 00000a17: MSTORE 00000a18: PUSH1 0x20 00000a1a: ADD 00000a1b: DUP1 00000a1c: PUSH2 0x12db 00000a1f: PUSH1 0x21 00000a21: SWAP2 00000a22: CODECOPY 00000a23: PUSH1 0x40 00000a25: ADD 00000a26: SWAP2 00000a27: POP 00000a28: POP 00000a29: PUSH1 0x40 00000a2b: MLOAD 00000a2c: DUP1 00000a2d: SWAP2 00000a2e: SUB 00000a2f: SWAP1 00000a30: REVERT 00000a31: JUMPDEST 00000a32: PUSH1 0x40 00000a34: DUP1 00000a35: MLOAD 00000a36: PUSH4 0xf47d33b5 00000a3b: PUSH1 0xe0 00000a3d: SHL 00000a3e: DUP2 00000a3f: MSTORE 00000a40: PUSH1 0x04 00000a42: DUP2 00000a43: ADD 00000a44: DUP6 00000a45: SWAP1 00000a46: MSTORE 00000a47: PUSH1 0x00 00000a49: PUSH1 0x24 00000a4b: DUP3 00000a4c: ADD 00000a4d: DUP2 00000a4e: SWAP1 00000a4f: MSTORE 00000a50: DUP3 00000a51: MLOAD 00000a52: DUP7 00000a53: SWAP4 00000a54: SWAP2 00000a55: SWAP3 00000a56: PUSH20 0x83584f83f26af4edda9cbe8c730bc87c364b28fe 00000a6b: SWAP3 00000a6c: PUSH4 0xf47d33b5 00000a71: SWAP3 00000a72: PUSH1 0x44 00000a74: DUP1 00000a75: DUP5 00000a76: ADD 00000a77: SWAP4 00000a78: DUP3 00000a79: SWAP1 00000a7a: SUB 00000a7b: ADD 00000a7c: DUP2 00000a7d: DUP7 00000a7e: DUP1 00000a7f: EXTCODESIZE 00000a80: ISZERO 00000a81: DUP1 00000a82: ISZERO 00000a83: PUSH2 0x0a8b 00000a86: JUMPI 00000a87: PUSH1 0x00 00000a89: DUP1 00000a8a: REVERT 00000a8b: JUMPDEST 00000a8c: POP 00000a8d: GAS 00000a8e: DELEGATECALL 00000a8f: ISZERO 00000a90: DUP1 00000a91: ISZERO 00000a92: PUSH2 0x0a9f 00000a95: JUMPI 00000a96: RETURNDATASIZE 00000a97: PUSH1 0x00 00000a99: DUP1 00000a9a: RETURNDATACOPY 00000a9b: RETURNDATASIZE 00000a9c: PUSH1 0x00 00000a9e: REVERT 00000a9f: JUMPDEST 00000aa0: POP 00000aa1: POP 00000aa2: POP 00000aa3: POP 00000aa4: PUSH1 0x40 00000aa6: MLOAD 00000aa7: RETURNDATASIZE 00000aa8: PUSH1 0x40 00000aaa: DUP2 00000aab: LT 00000aac: ISZERO 00000aad: PUSH2 0x0ab5 00000ab0: JUMPI 00000ab1: PUSH1 0x00 00000ab3: DUP1 00000ab4: REVERT 00000ab5: JUMPDEST 00000ab6: POP 00000ab7: DUP1 00000ab8: MLOAD 00000ab9: PUSH1 0x20 00000abb: SWAP1 00000abc: SWAP2 00000abd: ADD 00000abe: MLOAD 00000abf: SWAP1 00000ac0: SWAP3 00000ac1: POP 00000ac2: SWAP1 00000ac3: POP 00000ac4: PUSH1 0x00 00000ac6: DUP1 00000ac7: MLOAD 00000ac8: PUSH1 0x20 00000aca: PUSH2 0x1330 00000acd: DUP4 00000ace: CODECOPY 00000acf: DUP2 00000ad0: MLOAD 00000ad1: SWAP2 00000ad2: MSTORE 00000ad3: DUP5 00000ad4: DUP4 00000ad5: ADDMOD 00000ad6: SWAP2 00000ad7: POP 00000ad8: PUSH20 0x83584f83f26af4edda9cbe8c730bc87c364b28fe 00000aed: PUSH4 0xf47d33b5 00000af2: DUP4 00000af3: DUP4 00000af4: PUSH1 0x40 00000af6: MLOAD 00000af7: DUP4 00000af8: PUSH4 0xffffffff 00000afd: AND 00000afe: PUSH1 0xe0 00000b00: SHL 00000b01: DUP2 00000b02: MSTORE 00000b03: PUSH1 0x04 00000b05: ADD 00000b06: DUP1 00000b07: DUP4 00000b08: DUP2 00000b09: MSTORE 00000b0a: PUSH1 0x20 00000b0c: ADD 00000b0d: DUP3 00000b0e: DUP2 00000b0f: MSTORE 00000b10: PUSH1 0x20 00000b12: ADD 00000b13: SWAP3 00000b14: POP 00000b15: POP 00000b16: POP 00000b17: PUSH1 0x40 00000b19: DUP1 00000b1a: MLOAD 00000b1b: DUP1 00000b1c: DUP4 00000b1d: SUB 00000b1e: DUP2 00000b1f: DUP7 00000b20: DUP1 00000b21: EXTCODESIZE 00000b22: ISZERO 00000b23: DUP1 00000b24: ISZERO 00000b25: PUSH2 0x0b2d 00000b28: JUMPI 00000b29: PUSH1 0x00 00000b2b: DUP1 00000b2c: REVERT 00000b2d: JUMPDEST 00000b2e: POP 00000b2f: GAS 00000b30: DELEGATECALL 00000b31: ISZERO 00000b32: DUP1 00000b33: ISZERO 00000b34: PUSH2 0x0b41 00000b37: JUMPI 00000b38: RETURNDATASIZE 00000b39: PUSH1 0x00 00000b3b: DUP1 00000b3c: RETURNDATACOPY 00000b3d: RETURNDATASIZE 00000b3e: PUSH1 0x00 00000b40: REVERT 00000b41: JUMPDEST 00000b42: POP 00000b43: POP 00000b44: POP 00000b45: POP 00000b46: PUSH1 0x40 00000b48: MLOAD 00000b49: RETURNDATASIZE 00000b4a: PUSH1 0x40 00000b4c: DUP2 00000b4d: LT 00000b4e: ISZERO 00000b4f: PUSH2 0x0b57 00000b52: JUMPI 00000b53: PUSH1 0x00 00000b55: DUP1 00000b56: REVERT 00000b57: JUMPDEST 00000b58: POP 00000b59: MLOAD 00000b5a: SWAP6 00000b5b: SWAP5 00000b5c: POP 00000b5d: POP 00000b5e: POP 00000b5f: POP 00000b60: POP 00000b61: JUMP 00000b62: JUMPDEST 00000b63: PUSH1 0x00 00000b65: DUP1 00000b66: MLOAD 00000b67: PUSH1 0x20 00000b69: PUSH2 0x1330 00000b6c: DUP4 00000b6d: CODECOPY 00000b6e: DUP2 00000b6f: MLOAD 00000b70: SWAP2 00000b71: MSTORE 00000b72: DUP2 00000b73: JUMP 00000b74: JUMPDEST 00000b75: PUSH1 0x00 00000b77: SLOAD 00000b78: PUSH4 0xffffffff 00000b7d: AND 00000b7e: DUP2 00000b7f: JUMP 00000b80: JUMPDEST 00000b81: PUSH1 0x6d 00000b83: SLOAD 00000b84: PUSH1 0x01 00000b86: PUSH1 0x01 00000b88: PUSH1 0xa0 00000b8a: SHL 00000b8b: SUB 00000b8c: AND 00000b8d: DUP2 00000b8e: JUMP 00000b8f: JUMPDEST 00000b90: PUSH1 0x00 00000b92: DUP2 00000b93: PUSH2 0x0b9e 00000b96: JUMPI 00000b97: POP 00000b98: PUSH1 0x00 00000b9a: PUSH2 0x0bfd 00000b9d: JUMP 00000b9e: JUMPDEST 00000b9f: PUSH1 0x03 00000ba1: SLOAD 00000ba2: PUSH4 0xffffffff 00000ba7: AND 00000ba8: JUMPDEST 00000ba9: PUSH1 0x04 00000bab: DUP2 00000bac: PUSH4 0xffffffff 00000bb1: AND 00000bb2: PUSH1 0x64 00000bb4: DUP2 00000bb5: LT 00000bb6: PUSH2 0x0bbb 00000bb9: JUMPI 00000bba: INVALID 00000bbb: JUMPDEST 00000bbc: ADD 00000bbd: SLOAD 00000bbe: DUP4 00000bbf: EQ 00000bc0: ISZERO 00000bc1: PUSH2 0x0bce 00000bc4: JUMPI 00000bc5: PUSH1 0x01 00000bc7: SWAP2 00000bc8: POP 00000bc9: POP 00000bca: PUSH2 0x0bfd 00000bcd: JUMP 00000bce: JUMPDEST 00000bcf: PUSH4 0xffffffff 00000bd4: DUP2 00000bd5: AND 00000bd6: PUSH2 0x0bdd 00000bd9: JUMPI 00000bda: POP 00000bdb: PUSH1 0x64 00000bdd: JUMPDEST 00000bde: PUSH1 0x03 00000be0: SLOAD 00000be1: PUSH1 0x00 00000be3: NOT 00000be4: SWAP1 00000be5: SWAP2 00000be6: ADD 00000be7: SWAP1 00000be8: PUSH4 0xffffffff 00000bed: DUP1 00000bee: DUP4 00000bef: AND 00000bf0: SWAP2 00000bf1: AND 00000bf2: EQ 00000bf3: ISZERO 00000bf4: PUSH2 0x0ba8 00000bf7: JUMPI 00000bf8: PUSH1 0x00 00000bfa: SWAP2 00000bfb: POP 00000bfc: POP 00000bfd: JUMPDEST 00000bfe: SWAP2 00000bff: SWAP1 00000c00: POP 00000c01: JUMP 00000c02: JUMPDEST 00000c03: PUSH1 0x6b 00000c05: PUSH1 0x20 00000c07: MSTORE 00000c08: PUSH1 0x00 00000c0a: SWAP1 00000c0b: DUP2 00000c0c: MSTORE 00000c0d: PUSH1 0x40 00000c0f: SWAP1 00000c10: KECCAK256 00000c11: SLOAD 00000c12: PUSH1 0xff 00000c14: AND 00000c15: DUP2 00000c16: JUMP 00000c17: JUMPDEST 00000c18: PUSH1 0x69 00000c1a: SLOAD 00000c1b: DUP2 00000c1c: JUMP 00000c1d: JUMPDEST 00000c1e: PUSH1 0x03 00000c20: SLOAD 00000c21: PUSH4 0xffffffff 00000c26: AND 00000c27: DUP2 00000c28: JUMP 00000c29: JUMPDEST 00000c2a: PUSH1 0x6d 00000c2c: SLOAD 00000c2d: PUSH1 0x01 00000c2f: PUSH1 0x01 00000c31: PUSH1 0xa0 00000c33: SHL 00000c34: SUB 00000c35: AND 00000c36: CALLER 00000c37: EQ 00000c38: PUSH2 0x0c72 00000c3b: JUMPI 00000c3c: PUSH1 0x40 00000c3e: MLOAD 00000c3f: PUSH3 0x461bcd 00000c43: PUSH1 0xe5 00000c45: SHL 00000c46: DUP2 00000c47: MSTORE 00000c48: PUSH1 0x04 00000c4a: ADD 00000c4b: DUP1 00000c4c: DUP1 00000c4d: PUSH1 0x20 00000c4f: ADD 00000c50: DUP3 00000c51: DUP2 00000c52: SUB 00000c53: DUP3 00000c54: MSTORE 00000c55: PUSH1 0x25 00000c57: DUP2 00000c58: MSTORE 00000c59: PUSH1 0x20 00000c5b: ADD 00000c5c: DUP1 00000c5d: PUSH2 0x13b9 00000c60: PUSH1 0x25 00000c62: SWAP2 00000c63: CODECOPY 00000c64: PUSH1 0x40 00000c66: ADD 00000c67: SWAP2 00000c68: POP 00000c69: POP 00000c6a: PUSH1 0x40 00000c6c: MLOAD 00000c6d: DUP1 00000c6e: SWAP2 00000c6f: SUB 00000c70: SWAP1 00000c71: REVERT 00000c72: JUMPDEST 00000c73: PUSH1 0x6c 00000c75: DUP1 00000c76: SLOAD 00000c77: PUSH1 0x01 00000c79: PUSH1 0x01 00000c7b: PUSH1 0xa0 00000c7d: SHL 00000c7e: SUB 00000c7f: NOT 00000c80: AND 00000c81: PUSH1 0x01 00000c83: PUSH1 0x01 00000c85: PUSH1 0xa0 00000c87: SHL 00000c88: SUB 00000c89: SWAP3 00000c8a: SWAP1 00000c8b: SWAP3 00000c8c: AND 00000c8d: SWAP2 00000c8e: SWAP1 00000c8f: SWAP2 00000c90: OR 00000c91: SWAP1 00000c92: SSTORE 00000c93: JUMP 00000c94: JUMPDEST 00000c95: PUSH1 0x40 00000c97: DUP1 00000c98: MLOAD 00000c99: DUP3 00000c9a: DUP2 00000c9b: MSTORE 00000c9c: PUSH1 0x20 00000c9e: DUP1 00000c9f: DUP5 00000ca0: MUL 00000ca1: DUP3 00000ca2: ADD 00000ca3: ADD 00000ca4: SWAP1 00000ca5: SWAP2 00000ca6: MSTORE 00000ca7: PUSH1 0x60 00000ca9: SWAP1 00000caa: DUP3 00000cab: DUP1 00000cac: ISZERO 00000cad: PUSH2 0x0cc0 00000cb0: JUMPI 00000cb1: DUP2 00000cb2: PUSH1 0x20 00000cb4: ADD 00000cb5: PUSH1 0x20 00000cb7: DUP3 00000cb8: MUL 00000cb9: DUP1 00000cba: CODESIZE 00000cbb: DUP4 00000cbc: CODECOPY 00000cbd: ADD 00000cbe: SWAP1 00000cbf: POP 00000cc0: JUMPDEST 00000cc1: POP 00000cc2: SWAP1 00000cc3: POP 00000cc4: PUSH1 0x00 00000cc6: JUMPDEST 00000cc7: DUP3 00000cc8: DUP2 00000cc9: LT 00000cca: ISZERO 00000ccb: PUSH2 0x0d15 00000cce: JUMPI 00000ccf: PUSH2 0x0ce9 00000cd2: DUP5 00000cd3: DUP5 00000cd4: DUP4 00000cd5: DUP2 00000cd6: DUP2 00000cd7: LT 00000cd8: PUSH2 0x0cdd 00000cdb: JUMPI 00000cdc: INVALID 00000cdd: JUMPDEST 00000cde: SWAP1 00000cdf: POP 00000ce0: PUSH1 0x20 00000ce2: MUL 00000ce3: ADD 00000ce4: CALLDATALOAD 00000ce5: PUSH2 0x0e76 00000ce8: JUMP 00000ce9: JUMPDEST 00000cea: ISZERO 00000ceb: PUSH2 0x0d0d 00000cee: JUMPI 00000cef: PUSH1 0x01 00000cf1: DUP3 00000cf2: DUP3 00000cf3: DUP2 00000cf4: MLOAD 00000cf5: DUP2 00000cf6: LT 00000cf7: PUSH2 0x0cfc 00000cfa: JUMPI 00000cfb: INVALID 00000cfc: JUMPDEST 00000cfd: SWAP2 00000cfe: ISZERO 00000cff: ISZERO 00000d00: PUSH1 0x20 00000d02: SWAP3 00000d03: DUP4 00000d04: MUL 00000d05: SWAP2 00000d06: SWAP1 00000d07: SWAP2 00000d08: ADD 00000d09: SWAP1 00000d0a: SWAP2 00000d0b: ADD 00000d0c: MSTORE 00000d0d: JUMPDEST 00000d0e: PUSH1 0x01 00000d10: ADD 00000d11: PUSH2 0x0cc6 00000d14: JUMP 00000d15: JUMPDEST 00000d16: POP 00000d17: SWAP3 00000d18: SWAP2 00000d19: POP 00000d1a: POP 00000d1b: JUMP 00000d1c: JUMPDEST 00000d1d: PUSH1 0x68 00000d1f: DUP1 00000d20: SLOAD 00000d21: PUSH1 0x01 00000d23: ADD 00000d24: SWAP1 00000d25: DUP2 00000d26: SWAP1 00000d27: SSTORE 00000d28: PUSH1 0x00 00000d2a: DUP3 00000d2b: DUP2 00000d2c: MSTORE 00000d2d: PUSH1 0x6b 00000d2f: PUSH1 0x20 00000d31: MSTORE 00000d32: PUSH1 0x40 00000d34: SWAP1 00000d35: KECCAK256 00000d36: SLOAD 00000d37: PUSH1 0xff 00000d39: AND 00000d3a: ISZERO 00000d3b: PUSH2 0x0d75 00000d3e: JUMPI 00000d3f: PUSH1 0x40 00000d41: MLOAD 00000d42: PUSH3 0x461bcd 00000d46: PUSH1 0xe5 00000d48: SHL 00000d49: DUP2 00000d4a: MSTORE 00000d4b: PUSH1 0x04 00000d4d: ADD 00000d4e: DUP1 00000d4f: DUP1 00000d50: PUSH1 0x20 00000d52: ADD 00000d53: DUP3 00000d54: DUP2 00000d55: SUB 00000d56: DUP3 00000d57: MSTORE 00000d58: PUSH1 0x21 00000d5a: DUP2 00000d5b: MSTORE 00000d5c: PUSH1 0x20 00000d5e: ADD 00000d5f: DUP1 00000d60: PUSH2 0x1350 00000d63: PUSH1 0x21 00000d65: SWAP2 00000d66: CODECOPY 00000d67: PUSH1 0x40 00000d69: ADD 00000d6a: SWAP2 00000d6b: POP 00000d6c: POP 00000d6d: PUSH1 0x40 00000d6f: MLOAD 00000d70: DUP1 00000d71: SWAP2 00000d72: SUB 00000d73: SWAP1 00000d74: REVERT 00000d75: JUMPDEST 00000d76: PUSH1 0x00 00000d78: PUSH2 0x0d80 00000d7b: DUP4 00000d7c: PUSH2 0x109a 00000d7f: JUMP 00000d80: JUMPDEST 00000d81: PUSH1 0x00 00000d83: DUP5 00000d84: DUP2 00000d85: MSTORE 00000d86: PUSH1 0x6b 00000d88: PUSH1 0x20 00000d8a: MSTORE 00000d8b: PUSH1 0x40 00000d8d: SWAP1 00000d8e: KECCAK256 00000d8f: DUP1 00000d90: SLOAD 00000d91: PUSH1 0xff 00000d93: NOT 00000d94: AND 00000d95: PUSH1 0x01 00000d97: OR 00000d98: SWAP1 00000d99: SSTORE 00000d9a: SWAP1 00000d9b: POP 00000d9c: PUSH2 0x0da3 00000d9f: PUSH2 0x1231 00000da2: JUMP 00000da3: JUMPDEST 00000da4: PUSH1 0x40 00000da6: DUP1 00000da7: MLOAD 00000da8: PUSH4 0xffffffff 00000dad: DUP4 00000dae: AND 00000daf: DUP2 00000db0: MSTORE 00000db1: TIMESTAMP 00000db2: PUSH1 0x20 00000db4: DUP3 00000db5: ADD 00000db6: MSTORE 00000db7: DUP2 00000db8: MLOAD 00000db9: DUP6 00000dba: SWAP3 00000dbb: PUSH32 0xa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196 00000ddc: SWAP3 00000ddd: DUP3 00000dde: SWAP1 00000ddf: SUB 00000de0: ADD 00000de1: SWAP1 00000de2: LOG2 00000de3: POP 00000de4: PUSH1 0x68 00000de6: SLOAD 00000de7: DUP2 00000de8: EQ 00000de9: PUSH2 0x0e39 00000dec: JUMPI 00000ded: PUSH1 0x40 00000def: DUP1 00000df0: MLOAD 00000df1: PUSH3 0x461bcd 00000df5: PUSH1 0xe5 00000df7: SHL 00000df8: DUP2 00000df9: MSTORE 00000dfa: PUSH1 0x20 00000dfc: PUSH1 0x04 00000dfe: DUP3 00000dff: ADD 00000e00: MSTORE 00000e01: PUSH1 0x1f 00000e03: PUSH1 0x24 00000e05: DUP3 00000e06: ADD 00000e07: MSTORE 00000e08: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00 00000e29: PUSH1 0x44 00000e2b: DUP3 00000e2c: ADD 00000e2d: MSTORE 00000e2e: SWAP1 00000e2f: MLOAD 00000e30: SWAP1 00000e31: DUP2 00000e32: SWAP1 00000e33: SUB 00000e34: PUSH1 0x64 00000e36: ADD 00000e37: SWAP1 00000e38: REVERT 00000e39: JUMPDEST 00000e3a: POP 00000e3b: POP 00000e3c: JUMP 00000e3d: JUMPDEST 00000e3e: PUSH1 0x03 00000e40: SLOAD 00000e41: PUSH1 0x00 00000e43: SWAP1 00000e44: PUSH1 0x04 00000e46: SWAP1 00000e47: PUSH4 0xffffffff 00000e4c: AND 00000e4d: PUSH1 0x64 00000e4f: DUP2 00000e50: LT 00000e51: PUSH2 0x0e56 00000e54: JUMPI 00000e55: INVALID 00000e56: JUMPDEST 00000e57: ADD 00000e58: SLOAD 00000e59: SWAP1 00000e5a: POP 00000e5b: SWAP1 00000e5c: JUMP 00000e5d: JUMPDEST 00000e5e: PUSH1 0x04 00000e60: DUP2 00000e61: PUSH1 0x64 00000e63: DUP2 00000e64: LT 00000e65: PUSH2 0x0e6a 00000e68: JUMPI 00000e69: INVALID 00000e6a: JUMPDEST 00000e6b: ADD 00000e6c: SLOAD 00000e6d: SWAP1 00000e6e: POP 00000e6f: DUP2 00000e70: JUMP 00000e71: JUMPDEST 00000e72: PUSH1 0x64 00000e74: DUP2 00000e75: JUMP 00000e76: JUMPDEST 00000e77: PUSH1 0x00 00000e79: SWAP1 00000e7a: DUP2 00000e7b: MSTORE 00000e7c: PUSH1 0x6a 00000e7e: PUSH1 0x20 00000e80: MSTORE 00000e81: PUSH1 0x40 00000e83: SWAP1 00000e84: KECCAK256 00000e85: SLOAD 00000e86: PUSH1 0xff 00000e88: AND 00000e89: SWAP1 00000e8a: JUMP 00000e8b: JUMPDEST 00000e8c: PUSH1 0x02 00000e8e: DUP2 00000e8f: DUP2 00000e90: SLOAD 00000e91: DUP2 00000e92: LT 00000e93: PUSH2 0x0e98 00000e96: JUMPI 00000e97: INVALID 00000e98: JUMPDEST 00000e99: PUSH1 0x00 00000e9b: SWAP2 00000e9c: DUP3 00000e9d: MSTORE 00000e9e: PUSH1 0x20 00000ea0: SWAP1 00000ea1: SWAP2 00000ea2: KECCAK256 00000ea3: ADD 00000ea4: SLOAD 00000ea5: SWAP1 00000ea6: POP 00000ea7: DUP2 00000ea8: JUMP 00000ea9: JUMPDEST 00000eaa: PUSH32 0x2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c 00000ecb: DUP2 00000ecc: JUMP 00000ecd: JUMPDEST 00000ece: PUSH1 0x01 00000ed0: DUP2 00000ed1: DUP2 00000ed2: SLOAD 00000ed3: DUP2 00000ed4: LT 00000ed5: PUSH2 0x0e98 00000ed8: JUMPI 00000ed9: INVALID 00000eda: JUMPDEST 00000edb: PUSH1 0x03 00000edd: SLOAD 00000ede: PUSH1 0x01 00000ee0: PUSH1 0x20 00000ee2: SHL 00000ee3: SWAP1 00000ee4: DIV 00000ee5: PUSH4 0xffffffff 00000eea: AND 00000eeb: DUP2 00000eec: JUMP 00000eed: JUMPDEST 00000eee: CALLVALUE 00000eef: ISZERO 00000ef0: PUSH2 0x0f2a 00000ef3: JUMPI 00000ef4: PUSH1 0x40 00000ef6: MLOAD 00000ef7: PUSH3 0x461bcd 00000efb: PUSH1 0xe5 00000efd: SHL 00000efe: DUP2 00000eff: MSTORE 00000f00: PUSH1 0x04 00000f02: ADD 00000f03: DUP1 00000f04: DUP1 00000f05: PUSH1 0x20 00000f07: ADD 00000f08: DUP3 00000f09: DUP2 00000f0a: SUB 00000f0b: DUP3 00000f0c: MSTORE 00000f0d: PUSH1 0x35 00000f0f: DUP2 00000f10: MSTORE 00000f11: PUSH1 0x20 00000f13: ADD 00000f14: DUP1 00000f15: PUSH2 0x13de 00000f18: PUSH1 0x35 00000f1a: SWAP2 00000f1b: CODECOPY 00000f1c: PUSH1 0x40 00000f1e: ADD 00000f1f: SWAP2 00000f20: POP 00000f21: POP 00000f22: PUSH1 0x40 00000f24: MLOAD 00000f25: DUP1 00000f26: SWAP2 00000f27: SUB 00000f28: SWAP1 00000f29: REVERT 00000f2a: JUMPDEST 00000f2b: DUP1 00000f2c: ISZERO 00000f2d: PUSH2 0x0f67 00000f30: JUMPI 00000f31: PUSH1 0x40 00000f33: MLOAD 00000f34: PUSH3 0x461bcd 00000f38: PUSH1 0xe5 00000f3a: SHL 00000f3b: DUP2 00000f3c: MSTORE 00000f3d: PUSH1 0x04 00000f3f: ADD 00000f40: DUP1 00000f41: DUP1 00000f42: PUSH1 0x20 00000f44: ADD 00000f45: DUP3 00000f46: DUP2 00000f47: SUB 00000f48: DUP3 00000f49: MSTORE 00000f4a: PUSH1 0x34 00000f4c: DUP2 00000f4d: MSTORE 00000f4e: PUSH1 0x20 00000f50: ADD 00000f51: DUP1 00000f52: PUSH2 0x12fc 00000f55: PUSH1 0x34 00000f57: SWAP2 00000f58: CODECOPY 00000f59: PUSH1 0x40 00000f5b: ADD 00000f5c: SWAP2 00000f5d: POP 00000f5e: POP 00000f5f: PUSH1 0x40 00000f61: MLOAD 00000f62: DUP1 00000f63: SWAP2 00000f64: SUB 00000f65: SWAP1 00000f66: REVERT 00000f67: JUMPDEST 00000f68: PUSH1 0x69 00000f6a: SLOAD 00000f6b: PUSH1 0x40 00000f6d: MLOAD 00000f6e: PUSH1 0x00 00000f70: SWAP2 00000f71: PUSH1 0x01 00000f73: PUSH1 0x01 00000f75: PUSH1 0xa0 00000f77: SHL 00000f78: SUB 00000f79: DUP8 00000f7a: AND 00000f7b: SWAP2 00000f7c: SWAP1 00000f7d: DUP6 00000f7e: SWAP1 00000f7f: SUB 00000f80: SWAP1 00000f81: DUP4 00000f82: DUP2 00000f83: DUP2 00000f84: DUP2 00000f85: DUP6 00000f86: DUP8 00000f87: GAS 00000f88: CALL 00000f89: SWAP3 00000f8a: POP 00000f8b: POP 00000f8c: POP 00000f8d: RETURNDATASIZE 00000f8e: DUP1 00000f8f: PUSH1 0x00 00000f91: DUP2 00000f92: EQ 00000f93: PUSH2 0x0fb8 00000f96: JUMPI 00000f97: PUSH1 0x40 00000f99: MLOAD 00000f9a: SWAP2 00000f9b: POP 00000f9c: PUSH1 0x1f 00000f9e: NOT 00000f9f: PUSH1 0x3f 00000fa1: RETURNDATASIZE 00000fa2: ADD 00000fa3: AND 00000fa4: DUP3 00000fa5: ADD 00000fa6: PUSH1 0x40 00000fa8: MSTORE 00000fa9: RETURNDATASIZE 00000faa: DUP3 00000fab: MSTORE 00000fac: RETURNDATASIZE 00000fad: PUSH1 0x00 00000faf: PUSH1 0x20 00000fb1: DUP5 00000fb2: ADD 00000fb3: RETURNDATACOPY 00000fb4: PUSH2 0x0fbd 00000fb7: JUMP 00000fb8: JUMPDEST 00000fb9: PUSH1 0x60 00000fbb: SWAP2 00000fbc: POP 00000fbd: JUMPDEST 00000fbe: POP 00000fbf: POP 00000fc0: SWAP1 00000fc1: POP 00000fc2: DUP1 00000fc3: PUSH2 0x0ffd 00000fc6: JUMPI 00000fc7: PUSH1 0x40 00000fc9: MLOAD 00000fca: PUSH3 0x461bcd 00000fce: PUSH1 0xe5 00000fd0: SHL 00000fd1: DUP2 00000fd2: MSTORE 00000fd3: PUSH1 0x04 00000fd5: ADD 00000fd6: DUP1 00000fd7: DUP1 00000fd8: PUSH1 0x20 00000fda: ADD 00000fdb: DUP3 00000fdc: DUP2 00000fdd: SUB 00000fde: DUP3 00000fdf: MSTORE 00000fe0: PUSH1 0x25 00000fe2: DUP2 00000fe3: MSTORE 00000fe4: PUSH1 0x20 00000fe6: ADD 00000fe7: DUP1 00000fe8: PUSH2 0x1371 00000feb: PUSH1 0x25 00000fed: SWAP2 00000fee: CODECOPY 00000fef: PUSH1 0x40 00000ff1: ADD 00000ff2: SWAP2 00000ff3: POP 00000ff4: POP 00000ff5: PUSH1 0x40 00000ff7: MLOAD 00000ff8: DUP1 00000ff9: SWAP2 00000ffa: SUB 00000ffb: SWAP1 00000ffc: REVERT 00000ffd: JUMPDEST 00000ffe: DUP3 00000fff: ISZERO 00001000: PUSH2 0x1093 00001003: JUMPI 00001004: PUSH1 0x40 00001006: MLOAD 00001007: PUSH1 0x01 00001009: PUSH1 0x01 0000100b: PUSH1 0xa0 0000100d: SHL 0000100e: SUB 0000100f: DUP6 00001010: AND 00001011: SWAP1 00001012: DUP5 00001013: SWAP1 00001014: PUSH1 0x00 00001016: DUP2 00001017: DUP2 00001018: DUP2 00001019: DUP6 0000101a: DUP8 0000101b: GAS 0000101c: CALL 0000101d: SWAP3 0000101e: POP 0000101f: POP 00001020: POP 00001021: RETURNDATASIZE 00001022: DUP1 00001023: PUSH1 0x00 00001025: DUP2 00001026: EQ 00001027: PUSH2 0x104c 0000102a: JUMPI 0000102b: PUSH1 0x40 0000102d: MLOAD 0000102e: SWAP2 0000102f: POP 00001030: PUSH1 0x1f 00001032: NOT 00001033: PUSH1 0x3f 00001035: RETURNDATASIZE 00001036: ADD 00001037: AND 00001038: DUP3 00001039: ADD 0000103a: PUSH1 0x40 0000103c: MSTORE 0000103d: RETURNDATASIZE 0000103e: DUP3 0000103f: MSTORE 00001040: RETURNDATASIZE 00001041: PUSH1 0x00 00001043: PUSH1 0x20 00001045: DUP5 00001046: ADD 00001047: RETURNDATACOPY 00001048: PUSH2 0x1051 0000104b: JUMP 0000104c: JUMPDEST 0000104d: PUSH1 0x60 0000104f: SWAP2 00001050: POP 00001051: JUMPDEST 00001052: POP 00001053: POP 00001054: DUP1 00001055: SWAP2 00001056: POP 00001057: POP 00001058: DUP1 00001059: PUSH2 0x1093 0000105c: JUMPI 0000105d: PUSH1 0x40 0000105f: MLOAD 00001060: PUSH3 0x461bcd 00001064: PUSH1 0xe5 00001066: SHL 00001067: DUP2 00001068: MSTORE 00001069: PUSH1 0x04 0000106b: ADD 0000106c: DUP1 0000106d: DUP1 0000106e: PUSH1 0x20 00001070: ADD 00001071: DUP3 00001072: DUP2 00001073: SUB 00001074: DUP3 00001075: MSTORE 00001076: PUSH1 0x23 00001078: DUP2 00001079: MSTORE 0000107a: PUSH1 0x20 0000107c: ADD 0000107d: DUP1 0000107e: PUSH2 0x1396 00001081: PUSH1 0x23 00001083: SWAP2 00001084: CODECOPY 00001085: PUSH1 0x40 00001087: ADD 00001088: SWAP2 00001089: POP 0000108a: POP 0000108b: PUSH1 0x40 0000108d: MLOAD 0000108e: DUP1 0000108f: SWAP2 00001090: SUB 00001091: SWAP1 00001092: REVERT 00001093: JUMPDEST 00001094: POP 00001095: POP 00001096: POP 00001097: POP 00001098: POP 00001099: JUMP 0000109a: JUMPDEST 0000109b: PUSH1 0x03 0000109d: SLOAD 0000109e: PUSH1 0x00 000010a0: DUP1 000010a1: SLOAD 000010a2: SWAP1 000010a3: SWAP2 000010a4: PUSH4 0xffffffff 000010a9: PUSH1 0x01 000010ab: PUSH1 0x20 000010ad: SHL 000010ae: SWAP1 000010af: SWAP2 000010b0: DIV 000010b1: DUP2 000010b2: AND 000010b3: SWAP2 000010b4: DUP2 000010b5: AND 000010b6: PUSH1 0x02 000010b8: EXP 000010b9: AND 000010ba: DUP2 000010bb: EQ 000010bc: ISZERO 000010bd: PUSH2 0x10f7 000010c0: JUMPI 000010c1: PUSH1 0x40 000010c3: MLOAD 000010c4: PUSH3 0x461bcd 000010c8: PUSH1 0xe5 000010ca: SHL 000010cb: DUP2 000010cc: MSTORE 000010cd: PUSH1 0x04 000010cf: ADD 000010d0: DUP1 000010d1: DUP1 000010d2: PUSH1 0x20 000010d4: ADD 000010d5: DUP3 000010d6: DUP2 000010d7: SUB 000010d8: DUP3 000010d9: MSTORE 000010da: PUSH1 0x2f 000010dc: DUP2 000010dd: MSTORE 000010de: PUSH1 0x20 000010e0: ADD 000010e1: DUP1 000010e2: PUSH2 0x1274 000010e5: PUSH1 0x2f 000010e7: SWAP2 000010e8: CODECOPY 000010e9: PUSH1 0x40 000010eb: ADD 000010ec: SWAP2 000010ed: POP 000010ee: POP 000010ef: PUSH1 0x40 000010f1: MLOAD 000010f2: DUP1 000010f3: SWAP2 000010f4: SUB 000010f5: SWAP1 000010f6: REVERT 000010f7: JUMPDEST 000010f8: PUSH1 0x03 000010fa: DUP1 000010fb: SLOAD 000010fc: PUSH4 0xffffffff 00001101: PUSH1 0x01 00001103: PUSH1 0x20 00001105: SHL 00001106: DUP1 00001107: DUP4 00001108: DIV 00001109: DUP3 0000110a: AND 0000110b: PUSH1 0x01 0000110d: ADD 0000110e: SWAP1 0000110f: SWAP2 00001110: AND 00001111: MUL 00001112: PUSH8 0xffffffff00000000 0000111b: NOT 0000111c: SWAP1 0000111d: SWAP2 0000111e: AND 0000111f: OR 00001120: SWAP1 00001121: SSTORE 00001122: DUP3 00001123: PUSH1 0x00 00001125: DUP1 00001126: DUP1 00001127: JUMPDEST 00001128: PUSH1 0x00 0000112a: SLOAD 0000112b: PUSH4 0xffffffff 00001130: SWAP1 00001131: DUP2 00001132: AND 00001133: SWAP1 00001134: DUP3 00001135: AND 00001136: LT 00001137: ISZERO 00001138: PUSH2 0x11cf 0000113b: JUMPI 0000113c: PUSH1 0x01 0000113e: DUP6 0000113f: AND 00001140: PUSH2 0x118b 00001143: JUMPI 00001144: DUP4 00001145: SWAP3 00001146: POP 00001147: PUSH1 0x02 00001149: DUP2 0000114a: PUSH4 0xffffffff 0000114f: AND 00001150: DUP2 00001151: SLOAD 00001152: DUP2 00001153: LT 00001154: PUSH2 0x1159 00001157: JUMPI 00001158: INVALID 00001159: JUMPDEST 0000115a: SWAP1 0000115b: PUSH1 0x00 0000115d: MSTORE 0000115e: PUSH1 0x20 00001160: PUSH1 0x00 00001162: KECCAK256 00001163: ADD 00001164: SLOAD 00001165: SWAP2 00001166: POP 00001167: DUP4 00001168: PUSH1 0x01 0000116a: DUP3 0000116b: PUSH4 0xffffffff 00001170: AND 00001171: DUP2 00001172: SLOAD 00001173: DUP2 00001174: LT 00001175: PUSH2 0x117a 00001178: JUMPI 00001179: INVALID 0000117a: JUMPDEST 0000117b: PUSH1 0x00 0000117d: SWAP2 0000117e: DUP3 0000117f: MSTORE 00001180: PUSH1 0x20 00001182: SWAP1 00001183: SWAP2 00001184: KECCAK256 00001185: ADD 00001186: SSTORE 00001187: PUSH2 0x11af 0000118a: JUMP 0000118b: JUMPDEST 0000118c: PUSH1 0x01 0000118e: DUP2 0000118f: PUSH4 0xffffffff 00001194: AND 00001195: DUP2 00001196: SLOAD 00001197: DUP2 00001198: LT 00001199: PUSH2 0x119e 0000119c: JUMPI 0000119d: INVALID 0000119e: JUMPDEST 0000119f: SWAP1 000011a0: PUSH1 0x00 000011a2: MSTORE 000011a3: PUSH1 0x20 000011a5: PUSH1 0x00 000011a7: KECCAK256 000011a8: ADD 000011a9: SLOAD 000011aa: SWAP3 000011ab: POP 000011ac: DUP4 000011ad: SWAP2 000011ae: POP 000011af: JUMPDEST 000011b0: PUSH2 0x11b9 000011b3: DUP4 000011b4: DUP4 000011b5: PUSH2 0x0981 000011b8: JUMP 000011b9: JUMPDEST 000011ba: SWAP4 000011bb: POP 000011bc: PUSH1 0x02 000011be: PUSH4 0xffffffff 000011c3: DUP7 000011c4: AND 000011c5: DIV 000011c6: SWAP5 000011c7: POP 000011c8: PUSH1 0x01 000011ca: ADD 000011cb: PUSH2 0x1127 000011ce: JUMP 000011cf: JUMPDEST 000011d0: POP 000011d1: PUSH1 0x03 000011d3: SLOAD 000011d4: PUSH1 0x64 000011d6: SWAP1 000011d7: PUSH4 0xffffffff 000011dc: SWAP1 000011dd: DUP2 000011de: AND 000011df: PUSH1 0x01 000011e1: ADD 000011e2: AND 000011e3: PUSH1 0x03 000011e5: DUP1 000011e6: SLOAD 000011e7: PUSH4 0xffffffff 000011ec: NOT 000011ed: AND 000011ee: SWAP3 000011ef: SWAP1 000011f0: SWAP2 000011f1: MOD 000011f2: PUSH4 0xffffffff 000011f7: SWAP1 000011f8: DUP2 000011f9: AND 000011fa: SWAP3 000011fb: SWAP1 000011fc: SWAP3 000011fd: OR 000011fe: SWAP1 000011ff: DUP2 00001200: SWAP1 00001201: SSTORE 00001202: DUP5 00001203: SWAP2 00001204: PUSH1 0x04 00001206: SWAP2 00001207: AND 00001208: PUSH1 0x64 0000120a: DUP2 0000120b: LT 0000120c: PUSH2 0x1211 0000120f: JUMPI 00001210: INVALID 00001211: JUMPDEST 00001212: ADD 00001213: SSTORE 00001214: POP 00001215: POP 00001216: PUSH1 0x03 00001218: SLOAD 00001219: PUSH1 0x01 0000121b: PUSH1 0x20 0000121d: SHL 0000121e: SWAP1 0000121f: DIV 00001220: PUSH4 0xffffffff 00001225: AND 00001226: PUSH1 0x00 00001228: NOT 00001229: ADD 0000122a: SWAP5 0000122b: SWAP4 0000122c: POP 0000122d: POP 0000122e: POP 0000122f: POP 00001230: JUMP 00001231: JUMPDEST 00001232: PUSH1 0x69 00001234: SLOAD 00001235: CALLVALUE 00001236: EQ 00001237: PUSH2 0x1271 0000123a: JUMPI 0000123b: PUSH1 0x40 0000123d: MLOAD 0000123e: PUSH3 0x461bcd 00001242: PUSH1 0xe5 00001244: SHL 00001245: DUP2 00001246: MSTORE 00001247: PUSH1 0x04 00001249: ADD 0000124a: DUP1 0000124b: DUP1 0000124c: PUSH1 0x20 0000124e: ADD 0000124f: DUP3 00001250: DUP2 00001251: SUB 00001252: DUP3 00001253: MSTORE 00001254: PUSH1 0x38 00001256: DUP2 00001257: MSTORE 00001258: PUSH1 0x20 0000125a: ADD 0000125b: DUP1 0000125c: PUSH2 0x12a3 0000125f: PUSH1 0x38 00001261: SWAP2 00001262: CODECOPY 00001263: PUSH1 0x40 00001265: ADD 00001266: SWAP2 00001267: POP 00001268: POP 00001269: PUSH1 0x40 0000126b: MLOAD 0000126c: DUP1 0000126d: SWAP2 0000126e: SUB 0000126f: SWAP1 00001270: REVERT 00001271: JUMPDEST 00001272: JUMP 00001273: INVALID 00001274: UNKNOWN(0x4D) 00001275: PUSH6 0x726b6c652074 0000127c: PUSH19 0x65652069732066756c6c2e204e6f206d6f7265 00001290: KECCAK256 00001291: PUSH13 0x656166732063616e2062652061 0000129f: PUSH5 0x646564506c 000012a5: PUSH6 0x617365207365 000012ac: PUSH15 0x6420606d697844656e6f6d696e6174 000012bc: PUSH10 0x6f6e602045544820616c 000012c7: PUSH16 0x6e672077697468207472616e73616374 000012d8: PUSH10 0x6f6e5f72696768742073 000012e3: PUSH9 0x6f756c642062652069 000012ed: PUSH15 0x7369646520746865206669656c6452 000012fd: PUSH6 0x66756e642076 00001304: PUSH2 0x6c75 00001307: PUSH6 0x206973207375 0000130e: PUSH17 0x706f73656420746f206265207a65726f20 00001320: PUSH7 0x6f722045544820 00001328: PUSH10 0x6e7374616e636530644e 00001333: PUSH19 0xe131a029b85045b68181585d2833e84879b970 00001347: SWAP2 00001348: NUMBER 00001349: UNKNOWN(0xE1) 0000134a: CREATE2 0000134b: SWAP4 0000134c: CREATE 0000134d: STOP 0000134e: STOP 0000134f: ADD 00001350: SLOAD 00001351: PUSH9 0x6520636f6d6d69746d 0000135b: PUSH6 0x6e7420686173 00001362: KECCAK256 00001363: PUSH3 0x65656e 00001367: KECCAK256 00001368: PUSH20 0x75626d69747465647061796d656e7420746f205f 0000137d: PUSH19 0x6563697069656e7420646964206e6f7420676f 00001391: KECCAK256 00001392: PUSH21 0x6872757061796d656e7420746f205f72656c617965 000013a8: PUSH19 0x20646964206e6f7420676f20746872754f6e6c 000013bc: PUSH26 0x206f70657261746f722063616e2063616c6c2074686973206675 000013d7: PUSH15 0x6374696f6e2e4d6573736167652076 000013e7: PUSH2 0x6c75 000013ea: PUSH6 0x206973207375 000013f1: PUSH17 0x706f73656420746f206265207a65726f20 00001403: PUSH7 0x6f722045544820 0000140b: PUSH10 0x6e7374616e6365a26562 00001416: PUSH27 0x7a72315820587549d2a38eba8d298e5df3a9c389827128193ddbe1 00001432: TLOAD 00001433: SWAP13 00001434: UNKNOWN(0xA5) 00001435: PUSH19
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0x4d4bea319b4aa9f3193dee692a5a44ed4f01c07f33caf2bfff75394e02204267
call_targets:
0x83584f83f26af4edda9cbe8c730bc87c364b28fe
target_varies:
no
classification:
constant_target
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "sink_reached",
"attempts": 110,
"trace_id": "0x4d4bea319b4aa9f3193dee692a5a44ed4f01c07f33caf2bfff75394e02204267",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x83584f83f26af4edda9cbe8c730bc87c364b28fe"
],
"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": "0xcd87a3b4",
"selector": "0xcd87a3b4",
"calldata_variants": [
"0xcd87a3b4",
"0xcd87a3b40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe5285dcc",
"selector": "0xe5285dcc",
"calldata_variants": [
"0xe5285dcc",
"0xe5285dcc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe8295588",
"selector": "0xe8295588",
"calldata_variants": [
"0xe8295588",
"0xe82955880000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec732959",
"selector": "0xec732959",
"calldata_variants": [
"0xec732959",
"0xec7329590000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf178e47c",
"selector": "0xf178e47c",
"calldata_variants": [
"0xf178e47c",
"0xf178e47c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc7e9c6f",
"selector": "0xfc7e9c6f",
"calldata_variants": [
"0xfc7e9c6f",
"0xfc7e9c6f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x90eeb02b",
"selector": "0x90eeb02b",
"calldata_variants": [
"0x90eeb02b",
"0x90eeb02b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x97fc007c",
"selector": "0x97fc007c",
"calldata_variants": [
"0x97fc007c",
"0x97fc007c0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2702,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 2864,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 2,
"untrusted_delegatecall_count": 2
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xd1417cc50f96c3a5bb886d1b349850b097892e65ffe370abc27a20465fedaec3
call_targets:
0xa160cdab225685da1d56aa342ad8841c3b53f291
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xd1417cc50f96c3a5bb886d1b349850b097892e65ffe370abc27a20465fedaec3",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xa160cdab225685da1d56aa342ad8841c3b53f291"
],
"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": "0xcd87a3b4",
"selector": "0xcd87a3b4",
"calldata_variants": [
"0xcd87a3b4",
"0xcd87a3b40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe5285dcc",
"selector": "0xe5285dcc",
"calldata_variants": [
"0xe5285dcc",
"0xe5285dcc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe8295588",
"selector": "0xe8295588",
"calldata_variants": [
"0xe8295588",
"0xe82955880000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec732959",
"selector": "0xec732959",
"calldata_variants": [
"0xec732959",
"0xec7329590000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf178e47c",
"selector": "0xf178e47c",
"calldata_variants": [
"0xf178e47c",
"0xf178e47c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc7e9c6f",
"selector": "0xfc7e9c6f",
"calldata_variants": [
"0xfc7e9c6f",
"0xfc7e9c6f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x90eeb02b",
"selector": "0x90eeb02b",
"calldata_variants": [
"0x90eeb02b",
"0x90eeb02b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x97fc007c",
"selector": "0x97fc007c",
"calldata_variants": [
"0x97fc007c",
"0x97fc007c0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2091,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3976,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4124,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 3,
"guards_detected": [],
"untrusted_call_count": 3
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xd1417cc50f96c3a5bb886d1b349850b097892e65ffe370abc27a20465fedaec3
call_targets:
0xa160cdab225685da1d56aa342ad8841c3b53f291
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xd1417cc50f96c3a5bb886d1b349850b097892e65ffe370abc27a20465fedaec3",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xa160cdab225685da1d56aa342ad8841c3b53f291"
],
"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": "0xcd87a3b4",
"selector": "0xcd87a3b4",
"calldata_variants": [
"0xcd87a3b4",
"0xcd87a3b40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe5285dcc",
"selector": "0xe5285dcc",
"calldata_variants": [
"0xe5285dcc",
"0xe5285dcc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe8295588",
"selector": "0xe8295588",
"calldata_variants": [
"0xe8295588",
"0xe82955880000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec732959",
"selector": "0xec732959",
"calldata_variants": [
"0xec732959",
"0xec7329590000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf178e47c",
"selector": "0xf178e47c",
"calldata_variants": [
"0xf178e47c",
"0xf178e47c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc7e9c6f",
"selector": "0xfc7e9c6f",
"calldata_variants": [
"0xfc7e9c6f",
"0xfc7e9c6f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x90eeb02b",
"selector": "0x90eeb02b",
"calldata_variants": [
"0x90eeb02b",
"0x90eeb02b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x97fc007c",
"selector": "0x97fc007c",
"calldata_variants": [
"0x97fc007c",
"0x97fc007c0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2091,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3976,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4124,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 3,
"guards_detected": []
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 2
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0xf915dedb63c9817ba5dbbdc30305fb800cde1a9e54ce1ec6b54fefe58cd37c4d
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0xf915dedb63c9817ba5dbbdc30305fb800cde1a9e54ce1ec6b54fefe58cd37c4d",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xcd87a3b4",
"selector": "0xcd87a3b4",
"calldata_variants": [
"0xcd87a3b4",
"0xcd87a3b40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe5285dcc",
"selector": "0xe5285dcc",
"calldata_variants": [
"0xe5285dcc",
"0xe5285dcc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe8295588",
"selector": "0xe8295588",
"calldata_variants": [
"0xe8295588",
"0xe82955880000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec732959",
"selector": "0xec732959",
"calldata_variants": [
"0xec732959",
"0xec7329590000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf178e47c",
"selector": "0xf178e47c",
"calldata_variants": [
"0xf178e47c",
"0xf178e47c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc7e9c6f",
"selector": "0xfc7e9c6f",
"calldata_variants": [
"0xfc7e9c6f",
"0xfc7e9c6f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x90eeb02b",
"selector": "0x90eeb02b",
"calldata_variants": [
"0x90eeb02b",
"0x90eeb02b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x97fc007c",
"selector": "0x97fc007c",
"calldata_variants": [
"0x97fc007c",
"0x97fc007c0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 1,
"create2_count": 1
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 1,
"create2_count": 1
}
|