ffec81b1-d9b8-4a63-9a21-e7984feea608
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 |
|---|---|---|---|---|
| 31291 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 110744 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 110745 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 110746 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 110747 | capability.graph | complete | 1 / 3 | 1 week ago |
| 110748 | detector.run | complete | 1 / 3 | 1 week ago |
| 110749 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:409366] OpenAI Codex v0.77.0 (research preview)
[codex:409366] --------
[codex:409366] workdir: /tmp/codex-multi-gpszz_p5
[codex:409366] model: gpt-5.2-codex
[codex:409366] provider: openai
[codex:409366] approval: never
[codex:409366] sandbox: read-only
[codex:409366] reasoning effort: xhigh
[codex:409366] reasoning summaries: auto
[codex:409366] session id: 019b7f8e-bd0a-7eb1-9802-e03138e269da
[codex:409366] --------
[codex:409366] user
[codex:409366] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:409366]
[codex:409366] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:409366]
[codex:409366] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:409366] - Gas inefficiency, code quality, naming, or best practices
[codex:409366] - Theoretical vulnerabilities without a clear extraction path
[codex:409366] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:409366] - Front-running unless it enables theft beyond MEV
[codex:409366] - DoS, griefing, or issues that don't result in attacker profit
[codex:409366] - Missing events, view function issues, or informational findings
[codex:409366]
[codex:409366] HIGH-VALUE PATTERNS TO HUNT:
[codex:409366] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:409366] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:409366] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:409366] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:409366] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:409366] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:409366] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:409366] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:409366] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:409366]
[codex:409366] For each finding, you MUST provide:
[codex:409366] 1. Exact file and line numbers of vulnerable code
[codex:409366] 2. Step-by-step exploit transaction sequence
[codex:409366] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:409366]
[codex:409366] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:409366]
[codex:409366] Output MUST be valid JSON matching the provided schema.
[codex:409366] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:409366] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:409366] mcp startup: no servers
[codex:409366]
[codex:409366] thinking
[codex:409366] **Reviewing AGENTS instructions and preparing to audit**
[codex:409366] exec
[codex:409366] /bin/bash -lc ls in /tmp/codex-multi-gpszz_p5 succeeded in 5ms:
[codex:409366] AUDIT_BUNDLE.txt
[codex:409366] codex-output-schema.json
[codex:409366] contracts
[codex:409366]
[codex:409366] thinking
[codex:409366] **Reading AUDIT_BUNDLE.txt**
[codex:409366] exec
[codex:409366] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-gpszz_p5 succeeded in 5ms:
[codex:409366] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:409366]
[codex:409366] ================================================================================
[codex:409366] FILE: contracts/Contract.sol
[codex:409366] ================================================================================
[codex:409366] // File: contracts/lib/interface/ICelerWallet.sol
[codex:409366]
[codex:409366] pragma solidity ^0.5.1;
[codex:409366]
[codex:409366] /**
[codex:409366] * @title CelerWallet interface
[codex:409366] */
[codex:409366] interface ICelerWallet {
[codex:409366] function create(address[] calldata _owners, address _operator, bytes32 _nonce) external returns(bytes32);
[codex:409366]
[codex:409366] function depositETH(bytes32 _walletId) external payable;
[codex:409366]
[codex:409366] function depositERC20(bytes32 _walletId, address _tokenAddress, uint _amount) external;
[codex:409366]
[codex:409366] function withdraw(bytes32 _walletId, address _tokenAddress, address _receiver, uint _amount) external;
[codex:409366]
[codex:409366]
[codex:409366] thinking
[codex:409366] **Analyzing potential exploits in CelerWallet contract**
[codex:409366]
[codex:409366] I’m carefully reviewing the CelerWallet contract for any concrete exploit paths allowing attacker profit. I’m scrutinizing token deposit and withdrawal logic, operator and owner roles, reentrancy possibilities, and edge cases like owner duplicates or zero addresses. After deep inspection, I see no genuine exploits where unauthorized actors can profitably steal funds or bypass controls, though some behavioral nuances and centralization risks exist without immediate vulnerabilities. I’ll report no findings accordingly.
[codex:409366] thinking
[codex:409366] **Preparing audit result JSON**
[codex:409366] codex
[codex:409366] {"no_findings":true,"summary":"No concrete, exploitable profit paths identified in the reviewed sources.","findings":[]}
[codex:409366] tokens used
[codex:409366] 18,472
[codex:409366] {"no_findings":true,"summary":"No concrete, exploitable profit paths identified in the reviewed sources.","findings":[]}
{
"codex": {
"ran_at": "2026-01-02T16:34:57.276590+00:00",
"returncode": 0
},
"summary": "No concrete, exploitable profit paths identified in the reviewed sources.",
"raw_final": {
"summary": "No concrete, exploitable profit paths identified in the reviewed sources.",
"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 0x013c 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000002e: SWAP1 0000002f: DIV 00000030: DUP1 00000031: PUSH4 0x80ba952e 00000036: GT 00000037: PUSH2 0x00bd 0000003a: JUMPI 0000003b: DUP1 0000003c: PUSH4 0xa96a5f94 00000041: GT 00000042: PUSH2 0x0081 00000045: JUMPI 00000046: DUP1 00000047: PUSH4 0xa96a5f94 0000004c: EQ 0000004d: PUSH2 0x04f9 00000050: JUMPI 00000051: DUP1 00000052: PUSH4 0xbfa2c1d2 00000057: EQ 00000058: PUSH2 0x0523 0000005b: JUMPI 0000005c: DUP1 0000005d: PUSH4 0xc108bb40 00000062: EQ 00000063: PUSH2 0x0566 00000066: JUMPI 00000067: DUP1 00000068: PUSH4 0xcafd4600 0000006d: EQ 0000006e: PUSH2 0x05a5 00000071: JUMPI 00000072: DUP1 00000073: PUSH4 0xd68d9d4e 00000078: EQ 00000079: PUSH2 0x05de 0000007c: JUMPI 0000007d: PUSH2 0x013c 00000080: JUMP 00000081: JUMPDEST 00000082: DUP1 00000083: PUSH4 0x80ba952e 00000088: EQ 00000089: PUSH2 0x03e0 0000008c: JUMPI 0000008d: DUP1 0000008e: PUSH4 0x82dc1ec4 00000093: EQ 00000094: PUSH2 0x042f 00000097: JUMPI 00000098: DUP1 00000099: PUSH4 0x8456cb59 0000009e: EQ 0000009f: PUSH2 0x0462 000000a2: JUMPI 000000a3: DUP1 000000a4: PUSH4 0x8e0cc176 000000a9: EQ 000000aa: PUSH2 0x0477 000000ad: JUMPI 000000ae: DUP1 000000af: PUSH4 0xa0c89a8c 000000b4: EQ 000000b5: PUSH2 0x04c0 000000b8: JUMPI 000000b9: PUSH2 0x013c 000000bc: JUMP 000000bd: JUMPDEST 000000be: DUP1 000000bf: PUSH4 0x3f4ba83a 000000c4: GT 000000c5: PUSH2 0x0104 000000c8: JUMPI 000000c9: DUP1 000000ca: PUSH4 0x3f4ba83a 000000cf: EQ 000000d0: PUSH2 0x0321 000000d3: JUMPI 000000d4: DUP1 000000d5: PUSH4 0x46fbf68e 000000da: EQ 000000db: PUSH2 0x0336 000000de: JUMPI 000000df: DUP1 000000e0: PUSH4 0x530e931c 000000e5: EQ 000000e6: PUSH2 0x037d 000000e9: JUMPI 000000ea: DUP1 000000eb: PUSH4 0x5c975abb 000000f0: EQ 000000f1: PUSH2 0x03b6 000000f4: JUMPI 000000f5: DUP1 000000f6: PUSH4 0x6ef8d66d 000000fb: EQ 000000fc: PUSH2 0x03cb 000000ff: JUMPI 00000100: PUSH2 0x013c 00000103: JUMP 00000104: JUMPDEST 00000105: DUP1 00000106: PUSH4 0x0d63a1fd 0000010b: EQ 0000010c: PUSH2 0x0141 0000010f: JUMPI 00000110: DUP1 00000111: PUSH4 0x14da2906 00000116: EQ 00000117: PUSH2 0x0211 0000011a: JUMPI 0000011b: DUP1 0000011c: PUSH4 0x1687cc60 00000121: EQ 00000122: PUSH2 0x0257 00000125: JUMPI 00000126: DUP1 00000127: PUSH4 0x323c4480 0000012c: EQ 0000012d: PUSH2 0x02d1 00000130: JUMPI 00000131: DUP1 00000132: PUSH4 0x36cc9e8d 00000137: EQ 00000138: PUSH2 0x030c 0000013b: JUMPI 0000013c: JUMPDEST 0000013d: PUSH1 0x00 0000013f: DUP1 00000140: REVERT 00000141: JUMPDEST 00000142: CALLVALUE 00000143: DUP1 00000144: ISZERO 00000145: PUSH2 0x014d 00000148: JUMPI 00000149: PUSH1 0x00 0000014b: DUP1 0000014c: REVERT 0000014d: JUMPDEST 0000014e: POP 0000014f: PUSH2 0x01ff 00000152: PUSH1 0x04 00000154: DUP1 00000155: CALLDATASIZE 00000156: SUB 00000157: PUSH1 0x60 00000159: DUP2 0000015a: LT 0000015b: ISZERO 0000015c: PUSH2 0x0164 0000015f: JUMPI 00000160: PUSH1 0x00 00000162: DUP1 00000163: REVERT 00000164: JUMPDEST 00000165: DUP2 00000166: ADD 00000167: SWAP1 00000168: PUSH1 0x20 0000016a: DUP2 0000016b: ADD 0000016c: DUP2 0000016d: CALLDATALOAD 0000016e: PUSH5 0x0100000000 00000174: DUP2 00000175: GT 00000176: ISZERO 00000177: PUSH2 0x017f 0000017a: JUMPI 0000017b: PUSH1 0x00 0000017d: DUP1 0000017e: REVERT 0000017f: JUMPDEST 00000180: DUP3 00000181: ADD 00000182: DUP4 00000183: PUSH1 0x20 00000185: DUP3 00000186: ADD 00000187: GT 00000188: ISZERO 00000189: PUSH2 0x0191 0000018c: JUMPI 0000018d: PUSH1 0x00 0000018f: DUP1 00000190: REVERT 00000191: JUMPDEST 00000192: DUP1 00000193: CALLDATALOAD 00000194: SWAP1 00000195: PUSH1 0x20 00000197: ADD 00000198: SWAP2 00000199: DUP5 0000019a: PUSH1 0x20 0000019c: DUP4 0000019d: MUL 0000019e: DUP5 0000019f: ADD 000001a0: GT 000001a1: PUSH5 0x0100000000 000001a7: DUP4 000001a8: GT 000001a9: OR 000001aa: ISZERO 000001ab: PUSH2 0x01b3 000001ae: JUMPI 000001af: PUSH1 0x00 000001b1: DUP1 000001b2: REVERT 000001b3: JUMPDEST 000001b4: SWAP2 000001b5: SWAP1 000001b6: DUP1 000001b7: DUP1 000001b8: PUSH1 0x20 000001ba: MUL 000001bb: PUSH1 0x20 000001bd: ADD 000001be: PUSH1 0x40 000001c0: MLOAD 000001c1: SWAP1 000001c2: DUP2 000001c3: ADD 000001c4: PUSH1 0x40 000001c6: MSTORE 000001c7: DUP1 000001c8: SWAP4 000001c9: SWAP3 000001ca: SWAP2 000001cb: SWAP1 000001cc: DUP2 000001cd: DUP2 000001ce: MSTORE 000001cf: PUSH1 0x20 000001d1: ADD 000001d2: DUP4 000001d3: DUP4 000001d4: PUSH1 0x20 000001d6: MUL 000001d7: DUP1 000001d8: DUP3 000001d9: DUP5 000001da: CALLDATACOPY 000001db: PUSH1 0x00 000001dd: SWAP3 000001de: ADD 000001df: SWAP2 000001e0: SWAP1 000001e1: SWAP2 000001e2: MSTORE 000001e3: POP 000001e4: SWAP3 000001e5: SWAP6 000001e6: POP 000001e7: POP 000001e8: PUSH1 0x01 000001ea: PUSH1 0xa0 000001ec: PUSH1 0x02 000001ee: EXP 000001ef: SUB 000001f0: DUP4 000001f1: CALLDATALOAD 000001f2: AND 000001f3: SWAP4 000001f4: POP 000001f5: POP 000001f6: POP 000001f7: PUSH1 0x20 000001f9: ADD 000001fa: CALLDATALOAD 000001fb: PUSH2 0x05fb 000001fe: JUMP 000001ff: JUMPDEST 00000200: PUSH1 0x40 00000202: DUP1 00000203: MLOAD 00000204: SWAP2 00000205: DUP3 00000206: MSTORE 00000207: MLOAD 00000208: SWAP1 00000209: DUP2 0000020a: SWAP1 0000020b: SUB 0000020c: PUSH1 0x20 0000020e: ADD 0000020f: SWAP1 00000210: RETURN 00000211: JUMPDEST 00000212: CALLVALUE 00000213: DUP1 00000214: ISZERO 00000215: PUSH2 0x021d 00000218: JUMPI 00000219: PUSH1 0x00 0000021b: DUP1 0000021c: REVERT 0000021d: JUMPDEST 0000021e: POP 0000021f: PUSH2 0x023b 00000222: PUSH1 0x04 00000224: DUP1 00000225: CALLDATASIZE 00000226: SUB 00000227: PUSH1 0x20 00000229: DUP2 0000022a: LT 0000022b: ISZERO 0000022c: PUSH2 0x0234 0000022f: JUMPI 00000230: PUSH1 0x00 00000232: DUP1 00000233: REVERT 00000234: JUMPDEST 00000235: POP 00000236: CALLDATALOAD 00000237: PUSH2 0x07e5 0000023a: JUMP 0000023b: JUMPDEST 0000023c: PUSH1 0x40 0000023e: DUP1 0000023f: MLOAD 00000240: PUSH1 0x01 00000242: PUSH1 0xa0 00000244: PUSH1 0x02 00000246: EXP 00000247: SUB 00000248: SWAP1 00000249: SWAP3 0000024a: AND 0000024b: DUP3 0000024c: MSTORE 0000024d: MLOAD 0000024e: SWAP1 0000024f: DUP2 00000250: SWAP1 00000251: SUB 00000252: PUSH1 0x20 00000254: ADD 00000255: SWAP1 00000256: RETURN 00000257: JUMPDEST 00000258: CALLVALUE 00000259: DUP1 0000025a: ISZERO 0000025b: PUSH2 0x0263 0000025e: JUMPI 0000025f: PUSH1 0x00 00000261: DUP1 00000262: REVERT 00000263: JUMPDEST 00000264: POP 00000265: PUSH2 0x0281 00000268: PUSH1 0x04 0000026a: DUP1 0000026b: CALLDATASIZE 0000026c: SUB 0000026d: PUSH1 0x20 0000026f: DUP2 00000270: LT 00000271: ISZERO 00000272: PUSH2 0x027a 00000275: JUMPI 00000276: PUSH1 0x00 00000278: DUP1 00000279: REVERT 0000027a: JUMPDEST 0000027b: POP 0000027c: CALLDATALOAD 0000027d: PUSH2 0x0807 00000280: JUMP 00000281: JUMPDEST 00000282: PUSH1 0x40 00000284: DUP1 00000285: MLOAD 00000286: PUSH1 0x20 00000288: DUP1 00000289: DUP3 0000028a: MSTORE 0000028b: DUP4 0000028c: MLOAD 0000028d: DUP2 0000028e: DUP4 0000028f: ADD 00000290: MSTORE 00000291: DUP4 00000292: MLOAD 00000293: SWAP2 00000294: SWAP3 00000295: DUP4 00000296: SWAP3 00000297: SWAP1 00000298: DUP4 00000299: ADD 0000029a: SWAP2 0000029b: DUP6 0000029c: DUP2 0000029d: ADD 0000029e: SWAP2 0000029f: MUL 000002a0: DUP1 000002a1: DUP4 000002a2: DUP4 000002a3: PUSH1 0x00 000002a5: JUMPDEST 000002a6: DUP4 000002a7: DUP2 000002a8: LT 000002a9: ISZERO 000002aa: PUSH2 0x02bd 000002ad: JUMPI 000002ae: DUP2 000002af: DUP2 000002b0: ADD 000002b1: MLOAD 000002b2: DUP4 000002b3: DUP3 000002b4: ADD 000002b5: MSTORE 000002b6: PUSH1 0x20 000002b8: ADD 000002b9: PUSH2 0x02a5 000002bc: JUMP 000002bd: JUMPDEST 000002be: POP 000002bf: POP 000002c0: POP 000002c1: POP 000002c2: SWAP1 000002c3: POP 000002c4: ADD 000002c5: SWAP3 000002c6: POP 000002c7: POP 000002c8: POP 000002c9: PUSH1 0x40 000002cb: MLOAD 000002cc: DUP1 000002cd: SWAP2 000002ce: SUB 000002cf: SWAP1 000002d0: RETURN 000002d1: JUMPDEST 000002d2: CALLVALUE 000002d3: DUP1 000002d4: ISZERO 000002d5: PUSH2 0x02dd 000002d8: JUMPI 000002d9: PUSH1 0x00 000002db: DUP1 000002dc: REVERT 000002dd: JUMPDEST 000002de: POP 000002df: PUSH2 0x030a 000002e2: PUSH1 0x04 000002e4: DUP1 000002e5: CALLDATASIZE 000002e6: SUB 000002e7: PUSH1 0x40 000002e9: DUP2 000002ea: LT 000002eb: ISZERO 000002ec: PUSH2 0x02f4 000002ef: JUMPI 000002f0: PUSH1 0x00 000002f2: DUP1 000002f3: REVERT 000002f4: JUMPDEST 000002f5: POP 000002f6: DUP1 000002f7: CALLDATALOAD 000002f8: SWAP1 000002f9: PUSH1 0x20 000002fb: ADD 000002fc: CALLDATALOAD 000002fd: PUSH1 0x01 000002ff: PUSH1 0xa0 00000301: PUSH1 0x02 00000303: EXP 00000304: SUB 00000305: AND 00000306: PUSH2 0x0873 00000309: JUMP 0000030a: JUMPDEST 0000030b: STOP 0000030c: JUMPDEST 0000030d: CALLVALUE 0000030e: DUP1 0000030f: ISZERO 00000310: PUSH2 0x0318 00000313: JUMPI 00000314: PUSH1 0x00 00000316: DUP1 00000317: REVERT 00000318: JUMPDEST 00000319: POP 0000031a: PUSH2 0x01ff 0000031d: PUSH2 0x09ed 00000320: JUMP 00000321: JUMPDEST 00000322: CALLVALUE 00000323: DUP1 00000324: ISZERO 00000325: PUSH2 0x032d 00000328: JUMPI 00000329: PUSH1 0x00 0000032b: DUP1 0000032c: REVERT 0000032d: JUMPDEST 0000032e: POP 0000032f: PUSH2 0x030a 00000332: PUSH2 0x09f3 00000335: JUMP 00000336: JUMPDEST 00000337: CALLVALUE 00000338: DUP1 00000339: ISZERO 0000033a: PUSH2 0x0342 0000033d: JUMPI 0000033e: PUSH1 0x00 00000340: DUP1 00000341: REVERT 00000342: JUMPDEST 00000343: POP 00000344: PUSH2 0x0369 00000347: PUSH1 0x04 00000349: DUP1 0000034a: CALLDATASIZE 0000034b: SUB 0000034c: PUSH1 0x20 0000034e: DUP2 0000034f: LT 00000350: ISZERO 00000351: PUSH2 0x0359 00000354: JUMPI 00000355: PUSH1 0x00 00000357: DUP1 00000358: REVERT 00000359: JUMPDEST 0000035a: POP 0000035b: CALLDATALOAD 0000035c: PUSH1 0x01 0000035e: PUSH1 0xa0 00000360: PUSH1 0x02 00000362: EXP 00000363: SUB 00000364: AND 00000365: PUSH2 0x0a53 00000368: JUMP 00000369: JUMPDEST 0000036a: PUSH1 0x40 0000036c: DUP1 0000036d: MLOAD 0000036e: SWAP2 0000036f: ISZERO 00000370: ISZERO 00000371: DUP3 00000372: MSTORE 00000373: MLOAD 00000374: SWAP1 00000375: DUP2 00000376: SWAP1 00000377: SUB 00000378: PUSH1 0x20 0000037a: ADD 0000037b: SWAP1 0000037c: RETURN 0000037d: JUMPDEST 0000037e: CALLVALUE 0000037f: DUP1 00000380: ISZERO 00000381: PUSH2 0x0389 00000384: JUMPI 00000385: PUSH1 0x00 00000387: DUP1 00000388: REVERT 00000389: JUMPDEST 0000038a: POP 0000038b: PUSH2 0x01ff 0000038e: PUSH1 0x04 00000390: DUP1 00000391: CALLDATASIZE 00000392: SUB 00000393: PUSH1 0x40 00000395: DUP2 00000396: LT 00000397: ISZERO 00000398: PUSH2 0x03a0 0000039b: JUMPI 0000039c: PUSH1 0x00 0000039e: DUP1 0000039f: REVERT 000003a0: JUMPDEST 000003a1: POP 000003a2: DUP1 000003a3: CALLDATALOAD 000003a4: SWAP1 000003a5: PUSH1 0x20 000003a7: ADD 000003a8: CALLDATALOAD 000003a9: PUSH1 0x01 000003ab: PUSH1 0xa0 000003ad: PUSH1 0x02 000003af: EXP 000003b0: SUB 000003b1: AND 000003b2: PUSH2 0x0a6b 000003b5: JUMP 000003b6: JUMPDEST 000003b7: CALLVALUE 000003b8: DUP1 000003b9: ISZERO 000003ba: PUSH2 0x03c2 000003bd: JUMPI 000003be: PUSH1 0x00 000003c0: DUP1 000003c1: REVERT 000003c2: JUMPDEST 000003c3: POP 000003c4: PUSH2 0x0369 000003c7: PUSH2 0x0a97 000003ca: JUMP 000003cb: JUMPDEST 000003cc: CALLVALUE 000003cd: DUP1 000003ce: ISZERO 000003cf: PUSH2 0x03d7 000003d2: JUMPI 000003d3: PUSH1 0x00 000003d5: DUP1 000003d6: REVERT 000003d7: JUMPDEST 000003d8: POP 000003d9: PUSH2 0x030a 000003dc: PUSH2 0x0aa1 000003df: JUMP 000003e0: JUMPDEST 000003e1: CALLVALUE 000003e2: DUP1 000003e3: ISZERO 000003e4: PUSH2 0x03ec 000003e7: JUMPI 000003e8: PUSH1 0x00 000003ea: DUP1 000003eb: REVERT 000003ec: JUMPDEST 000003ed: POP 000003ee: PUSH2 0x030a 000003f1: PUSH1 0x04 000003f3: DUP1 000003f4: CALLDATASIZE 000003f5: SUB 000003f6: PUSH1 0xa0 000003f8: DUP2 000003f9: LT 000003fa: ISZERO 000003fb: PUSH2 0x0403 000003fe: JUMPI 000003ff: PUSH1 0x00 00000401: DUP1 00000402: REVERT 00000403: JUMPDEST 00000404: POP 00000405: DUP1 00000406: CALLDATALOAD 00000407: SWAP1 00000408: PUSH1 0x20 0000040a: DUP2 0000040b: ADD 0000040c: CALLDATALOAD 0000040d: SWAP1 0000040e: PUSH1 0x01 00000410: PUSH1 0xa0 00000412: PUSH1 0x02 00000414: EXP 00000415: SUB 00000416: PUSH1 0x40 00000418: DUP3 00000419: ADD 0000041a: CALLDATALOAD 0000041b: DUP2 0000041c: AND 0000041d: SWAP2 0000041e: PUSH1 0x60 00000420: DUP2 00000421: ADD 00000422: CALLDATALOAD 00000423: SWAP1 00000424: SWAP2 00000425: AND 00000426: SWAP1 00000427: PUSH1 0x80 00000429: ADD 0000042a: CALLDATALOAD 0000042b: PUSH2 0x0aac 0000042e: JUMP 0000042f: JUMPDEST 00000430: CALLVALUE 00000431: DUP1 00000432: ISZERO 00000433: PUSH2 0x043b 00000436: JUMPI 00000437: PUSH1 0x00 00000439: DUP1 0000043a: REVERT 0000043b: JUMPDEST 0000043c: POP 0000043d: PUSH2 0x030a 00000440: PUSH1 0x04 00000442: DUP1 00000443: CALLDATASIZE 00000444: SUB 00000445: PUSH1 0x20 00000447: DUP2 00000448: LT 00000449: ISZERO 0000044a: PUSH2 0x0452 0000044d: JUMPI 0000044e: PUSH1 0x00 00000450: DUP1 00000451: REVERT 00000452: JUMPDEST 00000453: POP 00000454: CALLDATALOAD 00000455: PUSH1 0x01 00000457: PUSH1 0xa0 00000459: PUSH1 0x02 0000045b: EXP 0000045c: SUB 0000045d: AND 0000045e: PUSH2 0x0c46 00000461: JUMP 00000462: JUMPDEST 00000463: CALLVALUE 00000464: DUP1 00000465: ISZERO 00000466: PUSH2 0x046e 00000469: JUMPI 0000046a: PUSH1 0x00 0000046c: DUP1 0000046d: REVERT 0000046e: JUMPDEST 0000046f: POP 00000470: PUSH2 0x030a 00000473: PUSH2 0x0c64 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 0x030a 00000488: PUSH1 0x04 0000048a: DUP1 0000048b: CALLDATASIZE 0000048c: SUB 0000048d: PUSH1 0x80 0000048f: DUP2 00000490: LT 00000491: ISZERO 00000492: PUSH2 0x049a 00000495: JUMPI 00000496: PUSH1 0x00 00000498: DUP1 00000499: REVERT 0000049a: JUMPDEST 0000049b: POP 0000049c: DUP1 0000049d: CALLDATALOAD 0000049e: SWAP1 0000049f: PUSH1 0x01 000004a1: PUSH1 0xa0 000004a3: PUSH1 0x02 000004a5: EXP 000004a6: SUB 000004a7: PUSH1 0x20 000004a9: DUP3 000004aa: ADD 000004ab: CALLDATALOAD 000004ac: DUP2 000004ad: AND 000004ae: SWAP2 000004af: PUSH1 0x40 000004b1: DUP2 000004b2: ADD 000004b3: CALLDATALOAD 000004b4: SWAP1 000004b5: SWAP2 000004b6: AND 000004b7: SWAP1 000004b8: PUSH1 0x60 000004ba: ADD 000004bb: CALLDATALOAD 000004bc: PUSH2 0x0cc7 000004bf: JUMP 000004c0: JUMPDEST 000004c1: CALLVALUE 000004c2: DUP1 000004c3: ISZERO 000004c4: PUSH2 0x04cc 000004c7: JUMPI 000004c8: PUSH1 0x00 000004ca: DUP1 000004cb: REVERT 000004cc: JUMPDEST 000004cd: POP 000004ce: PUSH2 0x030a 000004d1: PUSH1 0x04 000004d3: DUP1 000004d4: CALLDATASIZE 000004d5: SUB 000004d6: PUSH1 0x40 000004d8: DUP2 000004d9: LT 000004da: ISZERO 000004db: PUSH2 0x04e3 000004de: JUMPI 000004df: PUSH1 0x00 000004e1: DUP1 000004e2: REVERT 000004e3: JUMPDEST 000004e4: POP 000004e5: DUP1 000004e6: CALLDATALOAD 000004e7: SWAP1 000004e8: PUSH1 0x20 000004ea: ADD 000004eb: CALLDATALOAD 000004ec: PUSH1 0x01 000004ee: PUSH1 0xa0 000004f0: PUSH1 0x02 000004f2: EXP 000004f3: SUB 000004f4: AND 000004f5: PUSH2 0x0e01 000004f8: JUMP 000004f9: JUMPDEST 000004fa: CALLVALUE 000004fb: DUP1 000004fc: ISZERO 000004fd: PUSH2 0x0505 00000500: JUMPI 00000501: PUSH1 0x00 00000503: DUP1 00000504: REVERT 00000505: JUMPDEST 00000506: POP 00000507: PUSH2 0x023b 0000050a: PUSH1 0x04 0000050c: DUP1 0000050d: CALLDATASIZE 0000050e: SUB 0000050f: PUSH1 0x20 00000511: DUP2 00000512: LT 00000513: ISZERO 00000514: PUSH2 0x051c 00000517: JUMPI 00000518: PUSH1 0x00 0000051a: DUP1 0000051b: REVERT 0000051c: JUMPDEST 0000051d: POP 0000051e: CALLDATALOAD 0000051f: PUSH2 0x0e93 00000522: JUMP 00000523: JUMPDEST 00000524: CALLVALUE 00000525: DUP1 00000526: ISZERO 00000527: PUSH2 0x052f 0000052a: JUMPI 0000052b: PUSH1 0x00 0000052d: DUP1 0000052e: REVERT 0000052f: JUMPDEST 00000530: POP 00000531: PUSH2 0x030a 00000534: PUSH1 0x04 00000536: DUP1 00000537: CALLDATASIZE 00000538: SUB 00000539: PUSH1 0x60 0000053b: DUP2 0000053c: LT 0000053d: ISZERO 0000053e: PUSH2 0x0546 00000541: JUMPI 00000542: PUSH1 0x00 00000544: DUP1 00000545: REVERT 00000546: JUMPDEST 00000547: POP 00000548: PUSH1 0x01 0000054a: PUSH1 0xa0 0000054c: PUSH1 0x02 0000054e: EXP 0000054f: SUB 00000550: DUP2 00000551: CALLDATALOAD 00000552: DUP2 00000553: AND 00000554: SWAP2 00000555: PUSH1 0x20 00000557: DUP2 00000558: ADD 00000559: CALLDATALOAD 0000055a: SWAP1 0000055b: SWAP2 0000055c: AND 0000055d: SWAP1 0000055e: PUSH1 0x40 00000560: ADD 00000561: CALLDATALOAD 00000562: PUSH2 0x0eb1 00000565: JUMP 00000566: JUMPDEST 00000567: CALLVALUE 00000568: DUP1 00000569: ISZERO 0000056a: PUSH2 0x0572 0000056d: JUMPI 0000056e: PUSH1 0x00 00000570: DUP1 00000571: REVERT 00000572: JUMPDEST 00000573: POP 00000574: PUSH2 0x030a 00000577: PUSH1 0x04 00000579: DUP1 0000057a: CALLDATASIZE 0000057b: SUB 0000057c: PUSH1 0x60 0000057e: DUP2 0000057f: LT 00000580: ISZERO 00000581: PUSH2 0x0589 00000584: JUMPI 00000585: PUSH1 0x00 00000587: DUP1 00000588: REVERT 00000589: JUMPDEST 0000058a: POP 0000058b: DUP1 0000058c: CALLDATALOAD 0000058d: SWAP1 0000058e: PUSH1 0x01 00000590: PUSH1 0xa0 00000592: PUSH1 0x02 00000594: EXP 00000595: SUB 00000596: PUSH1 0x20 00000598: DUP3 00000599: ADD 0000059a: CALLDATALOAD 0000059b: AND 0000059c: SWAP1 0000059d: PUSH1 0x40 0000059f: ADD 000005a0: CALLDATALOAD 000005a1: PUSH2 0x0f28 000005a4: JUMP 000005a5: JUMPDEST 000005a6: CALLVALUE 000005a7: DUP1 000005a8: ISZERO 000005a9: PUSH2 0x05b1 000005ac: JUMPI 000005ad: PUSH1 0x00 000005af: DUP1 000005b0: REVERT 000005b1: JUMPDEST 000005b2: POP 000005b3: PUSH2 0x0369 000005b6: PUSH1 0x04 000005b8: DUP1 000005b9: CALLDATASIZE 000005ba: SUB 000005bb: PUSH1 0x40 000005bd: DUP2 000005be: LT 000005bf: ISZERO 000005c0: PUSH2 0x05c8 000005c3: JUMPI 000005c4: PUSH1 0x00 000005c6: DUP1 000005c7: REVERT 000005c8: JUMPDEST 000005c9: POP 000005ca: DUP1 000005cb: CALLDATALOAD 000005cc: SWAP1 000005cd: PUSH1 0x20 000005cf: ADD 000005d0: CALLDATALOAD 000005d1: PUSH1 0x01 000005d3: PUSH1 0xa0 000005d5: PUSH1 0x02 000005d7: EXP 000005d8: SUB 000005d9: AND 000005da: PUSH2 0x0fa0 000005dd: JUMP 000005de: JUMPDEST 000005df: PUSH2 0x030a 000005e2: PUSH1 0x04 000005e4: DUP1 000005e5: CALLDATASIZE 000005e6: SUB 000005e7: PUSH1 0x20 000005e9: DUP2 000005ea: LT 000005eb: ISZERO 000005ec: PUSH2 0x05f4 000005ef: JUMPI 000005f0: PUSH1 0x00 000005f2: DUP1 000005f3: REVERT 000005f4: JUMPDEST 000005f5: POP 000005f6: CALLDATALOAD 000005f7: PUSH2 0x101e 000005fa: JUMP 000005fb: JUMPDEST 000005fc: PUSH1 0x01 000005fe: SLOAD 000005ff: PUSH1 0x00 00000601: SWAP1 00000602: PUSH1 0xff 00000604: AND 00000605: ISZERO 00000606: PUSH2 0x060e 00000609: JUMPI 0000060a: PUSH1 0x00 0000060c: DUP1 0000060d: REVERT 0000060e: JUMPDEST 0000060f: PUSH1 0x01 00000611: PUSH1 0xa0 00000613: PUSH1 0x02 00000615: EXP 00000616: SUB 00000617: DUP4 00000618: AND 00000619: PUSH2 0x066c 0000061c: JUMPI 0000061d: PUSH1 0x40 0000061f: DUP1 00000620: MLOAD 00000621: PUSH1 0xe5 00000623: PUSH1 0x02 00000625: EXP 00000626: PUSH3 0x461bcd 0000062a: MUL 0000062b: DUP2 0000062c: MSTORE 0000062d: PUSH1 0x20 0000062f: PUSH1 0x04 00000631: DUP3 00000632: ADD 00000633: MSTORE 00000634: PUSH1 0x1a 00000636: PUSH1 0x24 00000638: DUP3 00000639: ADD 0000063a: MSTORE 0000063b: PUSH32 0x4e6577206f70657261746f722069732061646472657373283029000000000000 0000065c: PUSH1 0x44 0000065e: DUP3 0000065f: ADD 00000660: MSTORE 00000661: SWAP1 00000662: MLOAD 00000663: SWAP1 00000664: DUP2 00000665: SWAP1 00000666: SUB 00000667: PUSH1 0x64 00000669: ADD 0000066a: SWAP1 0000066b: REVERT 0000066c: JUMPDEST 0000066d: PUSH1 0x40 0000066f: DUP1 00000670: MLOAD 00000671: PUSH13 0x01000000000000000000000000 0000067f: ADDRESS 00000680: DUP2 00000681: MUL 00000682: PUSH1 0x20 00000684: DUP1 00000685: DUP5 00000686: ADD 00000687: SWAP2 00000688: SWAP1 00000689: SWAP2 0000068a: MSTORE 0000068b: CALLER 0000068c: SWAP2 0000068d: SWAP1 0000068e: SWAP2 0000068f: MUL 00000690: PUSH1 0x34 00000692: DUP4 00000693: ADD 00000694: MSTORE 00000695: PUSH1 0x48 00000697: DUP1 00000698: DUP4 00000699: ADD 0000069a: DUP7 0000069b: SWAP1 0000069c: MSTORE 0000069d: DUP4 0000069e: MLOAD 0000069f: DUP1 000006a0: DUP5 000006a1: SUB 000006a2: SWAP1 000006a3: SWAP2 000006a4: ADD 000006a5: DUP2 000006a6: MSTORE 000006a7: PUSH1 0x68 000006a9: SWAP1 000006aa: SWAP3 000006ab: ADD 000006ac: DUP4 000006ad: MSTORE 000006ae: DUP2 000006af: MLOAD 000006b0: SWAP2 000006b1: DUP2 000006b2: ADD 000006b3: SWAP2 000006b4: SWAP1 000006b5: SWAP2 000006b6: KECCAK256 000006b7: PUSH1 0x00 000006b9: DUP2 000006ba: DUP2 000006bb: MSTORE 000006bc: PUSH1 0x03 000006be: SWAP1 000006bf: SWAP3 000006c0: MSTORE 000006c1: SWAP2 000006c2: SWAP1 000006c3: KECCAK256 000006c4: PUSH1 0x01 000006c6: DUP2 000006c7: ADD 000006c8: SLOAD 000006c9: PUSH1 0x01 000006cb: PUSH1 0xa0 000006cd: PUSH1 0x02 000006cf: EXP 000006d0: SUB 000006d1: AND 000006d2: ISZERO 000006d3: PUSH2 0x0726 000006d6: JUMPI 000006d7: PUSH1 0x40 000006d9: DUP1 000006da: MLOAD 000006db: PUSH1 0xe5 000006dd: PUSH1 0x02 000006df: EXP 000006e0: PUSH3 0x461bcd 000006e4: MUL 000006e5: DUP2 000006e6: MSTORE 000006e7: PUSH1 0x20 000006e9: PUSH1 0x04 000006eb: DUP3 000006ec: ADD 000006ed: MSTORE 000006ee: PUSH1 0x12 000006f0: PUSH1 0x24 000006f2: DUP3 000006f3: ADD 000006f4: MSTORE 000006f5: PUSH32 0x4f636375706965642077616c6c65742069640000000000000000000000000000 00000716: PUSH1 0x44 00000718: DUP3 00000719: ADD 0000071a: MSTORE 0000071b: SWAP1 0000071c: MLOAD 0000071d: SWAP1 0000071e: DUP2 0000071f: SWAP1 00000720: SUB 00000721: PUSH1 0x64 00000723: ADD 00000724: SWAP1 00000725: REVERT 00000726: JUMPDEST 00000727: DUP6 00000728: MLOAD 00000729: PUSH2 0x0738 0000072c: SWAP1 0000072d: DUP3 0000072e: SWAP1 0000072f: PUSH1 0x20 00000731: DUP10 00000732: ADD 00000733: SWAP1 00000734: PUSH2 0x1676 00000737: JUMP 00000738: JUMPDEST 00000739: POP 0000073a: PUSH1 0x01 0000073c: DUP2 0000073d: DUP2 0000073e: ADD 0000073f: DUP1 00000740: SLOAD 00000741: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000756: NOT 00000757: AND 00000758: PUSH1 0x01 0000075a: PUSH1 0xa0 0000075c: PUSH1 0x02 0000075e: EXP 0000075f: SUB 00000760: DUP9 00000761: AND 00000762: SWAP1 00000763: DUP2 00000764: OR 00000765: SWAP1 00000766: SWAP2 00000767: SSTORE 00000768: PUSH1 0x02 0000076a: DUP1 0000076b: SLOAD 0000076c: SWAP1 0000076d: SWAP3 0000076e: ADD 0000076f: SWAP1 00000770: SWAP2 00000771: SSTORE 00000772: PUSH1 0x40 00000774: MLOAD 00000775: DUP8 00000776: MLOAD 00000777: DUP9 00000778: SWAP2 00000779: SWAP1 0000077a: DUP2 0000077b: SWAP1 0000077c: PUSH1 0x20 0000077e: DUP1 0000077f: DUP6 00000780: ADD 00000781: SWAP2 00000782: MUL 00000783: DUP1 00000784: DUP4 00000785: DUP4 00000786: PUSH1 0x00 00000788: JUMPDEST 00000789: DUP4 0000078a: DUP2 0000078b: LT 0000078c: ISZERO 0000078d: PUSH2 0x07a0 00000790: JUMPI 00000791: DUP2 00000792: DUP2 00000793: ADD 00000794: MLOAD 00000795: DUP4 00000796: DUP3 00000797: ADD 00000798: MSTORE 00000799: PUSH1 0x20 0000079b: ADD 0000079c: PUSH2 0x0788 0000079f: JUMP 000007a0: JUMPDEST 000007a1: POP 000007a2: POP 000007a3: PUSH1 0x40 000007a5: MLOAD 000007a6: SWAP3 000007a7: SWAP1 000007a8: SWAP5 000007a9: ADD 000007aa: DUP3 000007ab: SWAP1 000007ac: SUB 000007ad: DUP3 000007ae: KECCAK256 000007af: SWAP6 000007b0: POP 000007b1: DUP9 000007b2: SWAP5 000007b3: POP 000007b4: PUSH32 0xe778e91533ef049a5fc99752bc4efb2b50ca4c967dfc0d4bb4782fb128070c34 000007d5: SWAP4 000007d6: POP 000007d7: PUSH1 0x00 000007d9: SWAP3 000007da: POP 000007db: POP 000007dc: LOG4 000007dd: POP 000007de: SWAP5 000007df: SWAP4 000007e0: POP 000007e1: POP 000007e2: POP 000007e3: POP 000007e4: JUMP 000007e5: JUMPDEST 000007e6: PUSH1 0x00 000007e8: DUP2 000007e9: DUP2 000007ea: MSTORE 000007eb: PUSH1 0x03 000007ed: PUSH1 0x20 000007ef: DUP2 000007f0: SWAP1 000007f1: MSTORE 000007f2: PUSH1 0x40 000007f4: SWAP1 000007f5: SWAP2 000007f6: KECCAK256 000007f7: ADD 000007f8: SLOAD 000007f9: PUSH1 0x01 000007fb: PUSH1 0xa0 000007fd: PUSH1 0x02 000007ff: EXP 00000800: SUB 00000801: AND 00000802: JUMPDEST 00000803: SWAP2 00000804: SWAP1 00000805: POP 00000806: JUMP 00000807: JUMPDEST 00000808: PUSH1 0x00 0000080a: DUP2 0000080b: DUP2 0000080c: MSTORE 0000080d: PUSH1 0x03 0000080f: PUSH1 0x20 00000811: SWAP1 00000812: DUP2 00000813: MSTORE 00000814: PUSH1 0x40 00000816: SWAP2 00000817: DUP3 00000818: SWAP1 00000819: KECCAK256 0000081a: DUP1 0000081b: SLOAD 0000081c: DUP4 0000081d: MLOAD 0000081e: DUP2 0000081f: DUP5 00000820: MUL 00000821: DUP2 00000822: ADD 00000823: DUP5 00000824: ADD 00000825: SWAP1 00000826: SWAP5 00000827: MSTORE 00000828: DUP1 00000829: DUP5 0000082a: MSTORE 0000082b: PUSH1 0x60 0000082d: SWAP4 0000082e: SWAP3 0000082f: DUP4 00000830: ADD 00000831: DUP3 00000832: DUP3 00000833: DUP1 00000834: ISZERO 00000835: PUSH2 0x0867 00000838: JUMPI 00000839: PUSH1 0x20 0000083b: MUL 0000083c: DUP3 0000083d: ADD 0000083e: SWAP2 0000083f: SWAP1 00000840: PUSH1 0x00 00000842: MSTORE 00000843: PUSH1 0x20 00000845: PUSH1 0x00 00000847: KECCAK256 00000848: SWAP1 00000849: JUMPDEST 0000084a: DUP2 0000084b: SLOAD 0000084c: PUSH1 0x01 0000084e: PUSH1 0xa0 00000850: PUSH1 0x02 00000852: EXP 00000853: SUB 00000854: AND 00000855: DUP2 00000856: MSTORE 00000857: PUSH1 0x01 00000859: SWAP1 0000085a: SWAP2 0000085b: ADD 0000085c: SWAP1 0000085d: PUSH1 0x20 0000085f: ADD 00000860: DUP1 00000861: DUP4 00000862: GT 00000863: PUSH2 0x0849 00000866: JUMPI 00000867: JUMPDEST 00000868: POP 00000869: POP 0000086a: POP 0000086b: POP 0000086c: POP 0000086d: SWAP1 0000086e: POP 0000086f: SWAP2 00000870: SWAP1 00000871: POP 00000872: JUMP 00000873: JUMPDEST 00000874: DUP2 00000875: CALLER 00000876: PUSH2 0x087f 00000879: DUP3 0000087a: DUP3 0000087b: PUSH2 0x1078 0000087e: JUMP 0000087f: JUMPDEST 00000880: PUSH2 0x08bd 00000883: JUMPI 00000884: PUSH1 0x40 00000886: MLOAD 00000887: PUSH1 0xe5 00000889: PUSH1 0x02 0000088b: EXP 0000088c: PUSH3 0x461bcd 00000890: MUL 00000891: DUP2 00000892: MSTORE 00000893: PUSH1 0x04 00000895: ADD 00000896: DUP1 00000897: DUP1 00000898: PUSH1 0x20 0000089a: ADD 0000089b: DUP3 0000089c: DUP2 0000089d: SUB 0000089e: DUP3 0000089f: MSTORE 000008a0: PUSH1 0x21 000008a2: DUP2 000008a3: MSTORE 000008a4: PUSH1 0x20 000008a6: ADD 000008a7: DUP1 000008a8: PUSH2 0x171a 000008ab: PUSH1 0x21 000008ad: SWAP2 000008ae: CODECOPY 000008af: PUSH1 0x40 000008b1: ADD 000008b2: SWAP2 000008b3: POP 000008b4: POP 000008b5: PUSH1 0x40 000008b7: MLOAD 000008b8: DUP1 000008b9: SWAP2 000008ba: SUB 000008bb: SWAP1 000008bc: REVERT 000008bd: JUMPDEST 000008be: PUSH1 0x01 000008c0: PUSH1 0xa0 000008c2: PUSH1 0x02 000008c4: EXP 000008c5: SUB 000008c6: DUP4 000008c7: AND 000008c8: PUSH2 0x091b 000008cb: JUMPI 000008cc: PUSH1 0x40 000008ce: DUP1 000008cf: MLOAD 000008d0: PUSH1 0xe5 000008d2: PUSH1 0x02 000008d4: EXP 000008d5: PUSH3 0x461bcd 000008d9: MUL 000008da: DUP2 000008db: MSTORE 000008dc: PUSH1 0x20 000008de: PUSH1 0x04 000008e0: DUP3 000008e1: ADD 000008e2: MSTORE 000008e3: PUSH1 0x1a 000008e5: PUSH1 0x24 000008e7: DUP3 000008e8: ADD 000008e9: MSTORE 000008ea: PUSH32 0x4e6577206f70657261746f722069732061646472657373283029000000000000 0000090b: PUSH1 0x44 0000090d: DUP3 0000090e: ADD 0000090f: MSTORE 00000910: SWAP1 00000911: MLOAD 00000912: SWAP1 00000913: DUP2 00000914: SWAP1 00000915: SUB 00000916: PUSH1 0x64 00000918: ADD 00000919: SWAP1 0000091a: REVERT 0000091b: JUMPDEST 0000091c: PUSH1 0x00 0000091e: DUP5 0000091f: DUP2 00000920: MSTORE 00000921: PUSH1 0x03 00000923: PUSH1 0x20 00000925: DUP2 00000926: SWAP1 00000927: MSTORE 00000928: PUSH1 0x40 0000092a: SWAP1 0000092b: SWAP2 0000092c: KECCAK256 0000092d: SWAP1 0000092e: DUP2 0000092f: ADD 00000930: SLOAD 00000931: PUSH1 0x01 00000933: PUSH1 0xa0 00000935: PUSH1 0x02 00000937: EXP 00000938: SUB 00000939: DUP6 0000093a: DUP2 0000093b: AND 0000093c: SWAP2 0000093d: AND 0000093e: EQ 0000093f: PUSH2 0x0976 00000942: JUMPI 00000943: PUSH2 0x094b 00000946: DUP2 00000947: PUSH2 0x10dd 0000094a: JUMP 0000094b: JUMPDEST 0000094c: PUSH1 0x03 0000094e: DUP2 0000094f: ADD 00000950: DUP1 00000951: SLOAD 00000952: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000967: NOT 00000968: AND 00000969: PUSH1 0x01 0000096b: PUSH1 0xa0 0000096d: PUSH1 0x02 0000096f: EXP 00000970: SUB 00000971: DUP7 00000972: AND 00000973: OR 00000974: SWAP1 00000975: SSTORE 00000976: JUMPDEST 00000977: CALLER 00000978: PUSH1 0x00 0000097a: DUP2 0000097b: DUP2 0000097c: MSTORE 0000097d: PUSH1 0x04 0000097f: DUP4 00000980: ADD 00000981: PUSH1 0x20 00000983: MSTORE 00000984: PUSH1 0x40 00000986: DUP1 00000987: DUP3 00000988: KECCAK256 00000989: DUP1 0000098a: SLOAD 0000098b: PUSH1 0xff 0000098d: NOT 0000098e: AND 0000098f: PUSH1 0x01 00000991: OR 00000992: SWAP1 00000993: SSTORE 00000994: MLOAD 00000995: PUSH1 0x01 00000997: PUSH1 0xa0 00000999: PUSH1 0x02 0000099b: EXP 0000099c: SUB 0000099d: DUP8 0000099e: AND 0000099f: SWAP2 000009a0: DUP9 000009a1: SWAP2 000009a2: PUSH32 0x71f9e7796b33cb192d1670169ee7f4af7c5364f8f01bab4b95466787593745c3 000009c3: SWAP2 000009c4: SWAP1 000009c5: LOG4 000009c6: PUSH2 0x09ce 000009c9: DUP2 000009ca: PUSH2 0x1140 000009cd: JUMP 000009ce: JUMPDEST 000009cf: ISZERO 000009d0: PUSH2 0x09e6 000009d3: JUMPI 000009d4: PUSH2 0x09dd 000009d7: DUP6 000009d8: DUP6 000009d9: PUSH2 0x11a9 000009dc: JUMP 000009dd: JUMPDEST 000009de: PUSH2 0x09e6 000009e1: DUP2 000009e2: PUSH2 0x10dd 000009e5: JUMP 000009e6: JUMPDEST 000009e7: POP 000009e8: POP 000009e9: POP 000009ea: POP 000009eb: POP 000009ec: JUMP 000009ed: JUMPDEST 000009ee: PUSH1 0x02 000009f0: SLOAD 000009f1: DUP2 000009f2: JUMP 000009f3: JUMPDEST 000009f4: PUSH2 0x09fc 000009f7: CALLER 000009f8: PUSH2 0x0a53 000009fb: JUMP 000009fc: JUMPDEST 000009fd: PUSH2 0x0a05 00000a00: JUMPI 00000a01: PUSH1 0x00 00000a03: DUP1 00000a04: REVERT 00000a05: JUMPDEST 00000a06: PUSH1 0x01 00000a08: SLOAD 00000a09: PUSH1 0xff 00000a0b: AND 00000a0c: PUSH2 0x0a14 00000a0f: JUMPI 00000a10: PUSH1 0x00 00000a12: DUP1 00000a13: REVERT 00000a14: JUMPDEST 00000a15: PUSH1 0x01 00000a17: DUP1 00000a18: SLOAD 00000a19: PUSH1 0xff 00000a1b: NOT 00000a1c: AND 00000a1d: SWAP1 00000a1e: SSTORE 00000a1f: PUSH1 0x40 00000a21: DUP1 00000a22: MLOAD 00000a23: CALLER 00000a24: DUP2 00000a25: MSTORE 00000a26: SWAP1 00000a27: MLOAD 00000a28: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa 00000a49: SWAP2 00000a4a: DUP2 00000a4b: SWAP1 00000a4c: SUB 00000a4d: PUSH1 0x20 00000a4f: ADD 00000a50: SWAP1 00000a51: LOG1 00000a52: JUMP 00000a53: JUMPDEST 00000a54: PUSH1 0x00 00000a56: PUSH2 0x0a65 00000a59: DUP2 00000a5a: DUP4 00000a5b: PUSH4 0xffffffff 00000a60: PUSH2 0x127b 00000a63: AND 00000a64: JUMP 00000a65: JUMPDEST 00000a66: SWAP3 00000a67: SWAP2 00000a68: POP 00000a69: POP 00000a6a: JUMP 00000a6b: JUMPDEST 00000a6c: PUSH1 0x00 00000a6e: DUP3 00000a6f: DUP2 00000a70: MSTORE 00000a71: PUSH1 0x03 00000a73: PUSH1 0x20 00000a75: SWAP1 00000a76: DUP2 00000a77: MSTORE 00000a78: PUSH1 0x40 00000a7a: DUP1 00000a7b: DUP4 00000a7c: KECCAK256 00000a7d: PUSH1 0x01 00000a7f: PUSH1 0xa0 00000a81: PUSH1 0x02 00000a83: EXP 00000a84: SUB 00000a85: DUP6 00000a86: AND 00000a87: DUP5 00000a88: MSTORE 00000a89: PUSH1 0x02 00000a8b: ADD 00000a8c: SWAP1 00000a8d: SWAP2 00000a8e: MSTORE 00000a8f: SWAP1 00000a90: KECCAK256 00000a91: SLOAD 00000a92: SWAP3 00000a93: SWAP2 00000a94: POP 00000a95: POP 00000a96: JUMP 00000a97: JUMPDEST 00000a98: PUSH1 0x01 00000a9a: SLOAD 00000a9b: PUSH1 0xff 00000a9d: AND 00000a9e: JUMPDEST 00000a9f: SWAP1 00000aa0: JUMP 00000aa1: JUMPDEST 00000aa2: PUSH2 0x0aaa 00000aa5: CALLER 00000aa6: PUSH2 0x12b0 00000aa9: JUMP 00000aaa: JUMPDEST 00000aab: JUMP 00000aac: JUMPDEST 00000aad: PUSH1 0x01 00000aaf: SLOAD 00000ab0: PUSH1 0xff 00000ab2: AND 00000ab3: ISZERO 00000ab4: PUSH2 0x0abc 00000ab7: JUMPI 00000ab8: PUSH1 0x00 00000aba: DUP1 00000abb: REVERT 00000abc: JUMPDEST 00000abd: PUSH1 0x00 00000abf: DUP6 00000ac0: DUP2 00000ac1: MSTORE 00000ac2: PUSH1 0x03 00000ac4: PUSH1 0x20 00000ac6: MSTORE 00000ac7: PUSH1 0x40 00000ac9: SWAP1 00000aca: KECCAK256 00000acb: PUSH1 0x01 00000acd: ADD 00000ace: SLOAD 00000acf: DUP6 00000ad0: SWAP1 00000ad1: PUSH1 0x01 00000ad3: PUSH1 0xa0 00000ad5: PUSH1 0x02 00000ad7: EXP 00000ad8: SUB 00000ad9: AND 00000ada: CALLER 00000adb: EQ 00000adc: PUSH2 0x0b2f 00000adf: JUMPI 00000ae0: PUSH1 0x40 00000ae2: DUP1 00000ae3: MLOAD 00000ae4: PUSH1 0xe5 00000ae6: PUSH1 0x02 00000ae8: EXP 00000ae9: PUSH3 0x461bcd 00000aed: MUL 00000aee: DUP2 00000aef: MSTORE 00000af0: PUSH1 0x20 00000af2: PUSH1 0x04 00000af4: DUP3 00000af5: ADD 00000af6: MSTORE 00000af7: PUSH1 0x1a 00000af9: PUSH1 0x24 00000afb: DUP3 00000afc: ADD 00000afd: MSTORE 00000afe: PUSH32 0x6d73672e73656e646572206973206e6f74206f70657261746f72000000000000 00000b1f: PUSH1 0x44 00000b21: DUP3 00000b22: ADD 00000b23: MSTORE 00000b24: SWAP1 00000b25: MLOAD 00000b26: SWAP1 00000b27: DUP2 00000b28: SWAP1 00000b29: SUB 00000b2a: PUSH1 0x64 00000b2c: ADD 00000b2d: SWAP1 00000b2e: REVERT 00000b2f: JUMPDEST 00000b30: DUP6 00000b31: DUP4 00000b32: PUSH2 0x0b3b 00000b35: DUP3 00000b36: DUP3 00000b37: PUSH2 0x1078 00000b3a: JUMP 00000b3b: JUMPDEST 00000b3c: PUSH2 0x0b79 00000b3f: JUMPI 00000b40: PUSH1 0x40 00000b42: MLOAD 00000b43: PUSH1 0xe5 00000b45: PUSH1 0x02 00000b47: EXP 00000b48: PUSH3 0x461bcd 00000b4c: MUL 00000b4d: DUP2 00000b4e: MSTORE 00000b4f: PUSH1 0x04 00000b51: ADD 00000b52: DUP1 00000b53: DUP1 00000b54: PUSH1 0x20 00000b56: ADD 00000b57: DUP3 00000b58: DUP2 00000b59: SUB 00000b5a: DUP3 00000b5b: MSTORE 00000b5c: PUSH1 0x21 00000b5e: DUP2 00000b5f: MSTORE 00000b60: PUSH1 0x20 00000b62: ADD 00000b63: DUP1 00000b64: PUSH2 0x171a 00000b67: PUSH1 0x21 00000b69: SWAP2 00000b6a: CODECOPY 00000b6b: PUSH1 0x40 00000b6d: ADD 00000b6e: SWAP2 00000b6f: POP 00000b70: POP 00000b71: PUSH1 0x40 00000b73: MLOAD 00000b74: DUP1 00000b75: SWAP2 00000b76: SUB 00000b77: SWAP1 00000b78: REVERT 00000b79: JUMPDEST 00000b7a: DUP7 00000b7b: DUP6 00000b7c: PUSH2 0x0b85 00000b7f: DUP3 00000b80: DUP3 00000b81: PUSH2 0x1078 00000b84: JUMP 00000b85: JUMPDEST 00000b86: PUSH2 0x0bc3 00000b89: JUMPI 00000b8a: PUSH1 0x40 00000b8c: MLOAD 00000b8d: PUSH1 0xe5 00000b8f: PUSH1 0x02 00000b91: EXP 00000b92: PUSH3 0x461bcd 00000b96: MUL 00000b97: DUP2 00000b98: MSTORE 00000b99: PUSH1 0x04 00000b9b: ADD 00000b9c: DUP1 00000b9d: DUP1 00000b9e: PUSH1 0x20 00000ba0: ADD 00000ba1: DUP3 00000ba2: DUP2 00000ba3: SUB 00000ba4: DUP3 00000ba5: MSTORE 00000ba6: PUSH1 0x21 00000ba8: DUP2 00000ba9: MSTORE 00000baa: PUSH1 0x20 00000bac: ADD 00000bad: DUP1 00000bae: PUSH2 0x171a 00000bb1: PUSH1 0x21 00000bb3: SWAP2 00000bb4: CODECOPY 00000bb5: PUSH1 0x40 00000bb7: ADD 00000bb8: SWAP2 00000bb9: POP 00000bba: POP 00000bbb: PUSH1 0x40 00000bbd: MLOAD 00000bbe: DUP1 00000bbf: SWAP2 00000bc0: SUB 00000bc1: SWAP1 00000bc2: REVERT 00000bc3: JUMPDEST 00000bc4: PUSH2 0x0bd0 00000bc7: DUP11 00000bc8: DUP10 00000bc9: DUP9 00000bca: PUSH1 0x01 00000bcc: PUSH2 0x12f8 00000bcf: JUMP 00000bd0: JUMPDEST 00000bd1: PUSH2 0x0bdd 00000bd4: DUP10 00000bd5: DUP10 00000bd6: DUP9 00000bd7: PUSH1 0x00 00000bd9: PUSH2 0x12f8 00000bdc: JUMP 00000bdd: JUMPDEST 00000bde: DUP8 00000bdf: PUSH1 0x01 00000be1: PUSH1 0xa0 00000be3: PUSH1 0x02 00000be5: EXP 00000be6: SUB 00000be7: AND 00000be8: DUP10 00000be9: DUP12 00000bea: PUSH32 0x1b56f805e5edb1e61b0d3f46feffdcbab5e591aa0e70e978ada9fc22093601c8 00000c0b: DUP11 00000c0c: DUP11 00000c0d: PUSH1 0x40 00000c0f: MLOAD 00000c10: DUP1 00000c11: DUP4 00000c12: PUSH1 0x01 00000c14: PUSH1 0xa0 00000c16: PUSH1 0x02 00000c18: EXP 00000c19: SUB 00000c1a: AND 00000c1b: PUSH1 0x01 00000c1d: PUSH1 0xa0 00000c1f: PUSH1 0x02 00000c21: EXP 00000c22: SUB 00000c23: AND 00000c24: DUP2 00000c25: MSTORE 00000c26: PUSH1 0x20 00000c28: ADD 00000c29: DUP3 00000c2a: DUP2 00000c2b: MSTORE 00000c2c: PUSH1 0x20 00000c2e: ADD 00000c2f: SWAP3 00000c30: POP 00000c31: POP 00000c32: POP 00000c33: PUSH1 0x40 00000c35: MLOAD 00000c36: DUP1 00000c37: SWAP2 00000c38: SUB 00000c39: SWAP1 00000c3a: LOG4 00000c3b: POP 00000c3c: POP 00000c3d: POP 00000c3e: POP 00000c3f: POP 00000c40: POP 00000c41: POP 00000c42: POP 00000c43: POP 00000c44: POP 00000c45: JUMP 00000c46: JUMPDEST 00000c47: PUSH2 0x0c4f 00000c4a: CALLER 00000c4b: PUSH2 0x0a53 00000c4e: JUMP 00000c4f: JUMPDEST 00000c50: PUSH2 0x0c58 00000c53: JUMPI 00000c54: PUSH1 0x00 00000c56: DUP1 00000c57: REVERT 00000c58: JUMPDEST 00000c59: PUSH2 0x0c61 00000c5c: DUP2 00000c5d: PUSH2 0x13a5 00000c60: JUMP 00000c61: JUMPDEST 00000c62: POP 00000c63: JUMP 00000c64: JUMPDEST 00000c65: PUSH2 0x0c6d 00000c68: CALLER 00000c69: PUSH2 0x0a53 00000c6c: JUMP 00000c6d: JUMPDEST 00000c6e: PUSH2 0x0c76 00000c71: JUMPI 00000c72: PUSH1 0x00 00000c74: DUP1 00000c75: REVERT 00000c76: JUMPDEST 00000c77: PUSH1 0x01 00000c79: SLOAD 00000c7a: PUSH1 0xff 00000c7c: AND 00000c7d: ISZERO 00000c7e: PUSH2 0x0c86 00000c81: JUMPI 00000c82: PUSH1 0x00 00000c84: DUP1 00000c85: REVERT 00000c86: JUMPDEST 00000c87: PUSH1 0x01 00000c89: DUP1 00000c8a: SLOAD 00000c8b: PUSH1 0xff 00000c8d: NOT 00000c8e: AND 00000c8f: DUP2 00000c90: OR 00000c91: SWAP1 00000c92: SSTORE 00000c93: PUSH1 0x40 00000c95: DUP1 00000c96: MLOAD 00000c97: CALLER 00000c98: DUP2 00000c99: MSTORE 00000c9a: SWAP1 00000c9b: MLOAD 00000c9c: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258 00000cbd: SWAP2 00000cbe: DUP2 00000cbf: SWAP1 00000cc0: SUB 00000cc1: PUSH1 0x20 00000cc3: ADD 00000cc4: SWAP1 00000cc5: LOG1 00000cc6: JUMP 00000cc7: JUMPDEST 00000cc8: PUSH1 0x01 00000cca: SLOAD 00000ccb: PUSH1 0xff 00000ccd: AND 00000cce: ISZERO 00000ccf: PUSH2 0x0cd7 00000cd2: JUMPI 00000cd3: PUSH1 0x00 00000cd5: DUP1 00000cd6: REVERT 00000cd7: JUMPDEST 00000cd8: PUSH1 0x00 00000cda: DUP5 00000cdb: DUP2 00000cdc: MSTORE 00000cdd: PUSH1 0x03 00000cdf: PUSH1 0x20 00000ce1: MSTORE 00000ce2: PUSH1 0x40 00000ce4: SWAP1 00000ce5: KECCAK256 00000ce6: PUSH1 0x01 00000ce8: ADD 00000ce9: SLOAD 00000cea: DUP5 00000ceb: SWAP1 00000cec: PUSH1 0x01 00000cee: PUSH1 0xa0 00000cf0: PUSH1 0x02 00000cf2: EXP 00000cf3: SUB 00000cf4: AND 00000cf5: CALLER 00000cf6: EQ 00000cf7: PUSH2 0x0d4a 00000cfa: JUMPI 00000cfb: PUSH1 0x40 00000cfd: DUP1 00000cfe: MLOAD 00000cff: PUSH1 0xe5 00000d01: PUSH1 0x02 00000d03: EXP 00000d04: PUSH3 0x461bcd 00000d08: MUL 00000d09: DUP2 00000d0a: MSTORE 00000d0b: PUSH1 0x20 00000d0d: PUSH1 0x04 00000d0f: DUP3 00000d10: ADD 00000d11: MSTORE 00000d12: PUSH1 0x1a 00000d14: PUSH1 0x24 00000d16: DUP3 00000d17: ADD 00000d18: MSTORE 00000d19: PUSH32 0x6d73672e73656e646572206973206e6f74206f70657261746f72000000000000 00000d3a: PUSH1 0x44 00000d3c: DUP3 00000d3d: ADD 00000d3e: MSTORE 00000d3f: SWAP1 00000d40: MLOAD 00000d41: SWAP1 00000d42: DUP2 00000d43: SWAP1 00000d44: SUB 00000d45: PUSH1 0x64 00000d47: ADD 00000d48: SWAP1 00000d49: REVERT 00000d4a: JUMPDEST 00000d4b: DUP5 00000d4c: DUP4 00000d4d: PUSH2 0x0d56 00000d50: DUP3 00000d51: DUP3 00000d52: PUSH2 0x1078 00000d55: JUMP 00000d56: JUMPDEST 00000d57: PUSH2 0x0d94 00000d5a: JUMPI 00000d5b: PUSH1 0x40 00000d5d: MLOAD 00000d5e: PUSH1 0xe5 00000d60: PUSH1 0x02 00000d62: EXP 00000d63: PUSH3 0x461bcd 00000d67: MUL 00000d68: DUP2 00000d69: MSTORE 00000d6a: PUSH1 0x04 00000d6c: ADD 00000d6d: DUP1 00000d6e: DUP1 00000d6f: PUSH1 0x20 00000d71: ADD 00000d72: DUP3 00000d73: DUP2 00000d74: SUB 00000d75: DUP3 00000d76: MSTORE 00000d77: PUSH1 0x21 00000d79: DUP2 00000d7a: MSTORE 00000d7b: PUSH1 0x20 00000d7d: ADD 00000d7e: DUP1 00000d7f: PUSH2 0x171a 00000d82: PUSH1 0x21 00000d84: SWAP2 00000d85: CODECOPY 00000d86: PUSH1 0x40 00000d88: ADD 00000d89: SWAP2 00000d8a: POP 00000d8b: POP 00000d8c: PUSH1 0x40 00000d8e: MLOAD 00000d8f: DUP1 00000d90: SWAP2 00000d91: SUB 00000d92: SWAP1 00000d93: REVERT 00000d94: JUMPDEST 00000d95: PUSH2 0x0da1 00000d98: DUP8 00000d99: DUP8 00000d9a: DUP7 00000d9b: PUSH1 0x01 00000d9d: PUSH2 0x12f8 00000da0: JUMP 00000da1: JUMPDEST 00000da2: DUP5 00000da3: PUSH1 0x01 00000da5: PUSH1 0xa0 00000da7: PUSH1 0x02 00000da9: EXP 00000daa: SUB 00000dab: AND 00000dac: DUP7 00000dad: PUSH1 0x01 00000daf: PUSH1 0xa0 00000db1: PUSH1 0x02 00000db3: EXP 00000db4: SUB 00000db5: AND 00000db6: DUP9 00000db7: PUSH32 0xd897e862036b62a0f770979fbd2227f3210565bba2eb4d9acd1dc8ccc00c928b 00000dd8: DUP8 00000dd9: PUSH1 0x40 00000ddb: MLOAD 00000ddc: DUP1 00000ddd: DUP3 00000dde: DUP2 00000ddf: MSTORE 00000de0: PUSH1 0x20 00000de2: ADD 00000de3: SWAP2 00000de4: POP 00000de5: POP 00000de6: PUSH1 0x40 00000de8: MLOAD 00000de9: DUP1 00000dea: SWAP2 00000deb: SUB 00000dec: SWAP1 00000ded: LOG4 00000dee: PUSH2 0x0df8 00000df1: DUP7 00000df2: DUP7 00000df3: DUP7 00000df4: PUSH2 0x13ed 00000df7: JUMP 00000df8: JUMPDEST 00000df9: POP 00000dfa: POP 00000dfb: POP 00000dfc: POP 00000dfd: POP 00000dfe: POP 00000dff: POP 00000e00: JUMP 00000e01: JUMPDEST 00000e02: PUSH1 0x01 00000e04: SLOAD 00000e05: PUSH1 0xff 00000e07: AND 00000e08: ISZERO 00000e09: PUSH2 0x0e11 00000e0c: JUMPI 00000e0d: PUSH1 0x00 00000e0f: DUP1 00000e10: REVERT 00000e11: JUMPDEST 00000e12: PUSH1 0x00 00000e14: DUP3 00000e15: DUP2 00000e16: MSTORE 00000e17: PUSH1 0x03 00000e19: PUSH1 0x20 00000e1b: MSTORE 00000e1c: PUSH1 0x40 00000e1e: SWAP1 00000e1f: KECCAK256 00000e20: PUSH1 0x01 00000e22: ADD 00000e23: SLOAD 00000e24: DUP3 00000e25: SWAP1 00000e26: PUSH1 0x01 00000e28: PUSH1 0xa0 00000e2a: PUSH1 0x02 00000e2c: EXP 00000e2d: SUB 00000e2e: AND 00000e2f: CALLER 00000e30: EQ 00000e31: PUSH2 0x0e84 00000e34: JUMPI 00000e35: PUSH1 0x40 00000e37: DUP1 00000e38: MLOAD 00000e39: PUSH1 0xe5 00000e3b: PUSH1 0x02 00000e3d: EXP 00000e3e: PUSH3 0x461bcd 00000e42: MUL 00000e43: DUP2 00000e44: MSTORE 00000e45: PUSH1 0x20 00000e47: PUSH1 0x04 00000e49: DUP3 00000e4a: ADD 00000e4b: MSTORE 00000e4c: PUSH1 0x1a 00000e4e: PUSH1 0x24 00000e50: DUP3 00000e51: ADD 00000e52: MSTORE 00000e53: PUSH32 0x6d73672e73656e646572206973206e6f74206f70657261746f72000000000000 00000e74: PUSH1 0x44 00000e76: DUP3 00000e77: ADD 00000e78: MSTORE 00000e79: SWAP1 00000e7a: MLOAD 00000e7b: SWAP1 00000e7c: DUP2 00000e7d: SWAP1 00000e7e: SUB 00000e7f: PUSH1 0x64 00000e81: ADD 00000e82: SWAP1 00000e83: REVERT 00000e84: JUMPDEST 00000e85: PUSH2 0x0e8e 00000e88: DUP4 00000e89: DUP4 00000e8a: PUSH2 0x11a9 00000e8d: JUMP 00000e8e: JUMPDEST 00000e8f: POP 00000e90: POP 00000e91: POP 00000e92: JUMP 00000e93: JUMPDEST 00000e94: PUSH1 0x00 00000e96: SWAP1 00000e97: DUP2 00000e98: MSTORE 00000e99: PUSH1 0x03 00000e9b: PUSH1 0x20 00000e9d: MSTORE 00000e9e: PUSH1 0x40 00000ea0: SWAP1 00000ea1: KECCAK256 00000ea2: PUSH1 0x01 00000ea4: ADD 00000ea5: SLOAD 00000ea6: PUSH1 0x01 00000ea8: PUSH1 0xa0 00000eaa: PUSH1 0x02 00000eac: EXP 00000ead: SUB 00000eae: AND 00000eaf: SWAP1 00000eb0: JUMP 00000eb1: JUMPDEST 00000eb2: PUSH1 0x01 00000eb4: SLOAD 00000eb5: PUSH1 0xff 00000eb7: AND 00000eb8: PUSH2 0x0ec0 00000ebb: JUMPI 00000ebc: PUSH1 0x00 00000ebe: DUP1 00000ebf: REVERT 00000ec0: JUMPDEST 00000ec1: PUSH2 0x0ec9 00000ec4: CALLER 00000ec5: PUSH2 0x0a53 00000ec8: JUMP 00000ec9: JUMPDEST 00000eca: PUSH2 0x0ed2 00000ecd: JUMPI 00000ece: PUSH1 0x00 00000ed0: DUP1 00000ed1: REVERT 00000ed2: JUMPDEST 00000ed3: DUP2 00000ed4: PUSH1 0x01 00000ed6: PUSH1 0xa0 00000ed8: PUSH1 0x02 00000eda: EXP 00000edb: SUB 00000edc: AND 00000edd: DUP4 00000ede: PUSH1 0x01 00000ee0: PUSH1 0xa0 00000ee2: PUSH1 0x02 00000ee4: EXP 00000ee5: SUB 00000ee6: AND 00000ee7: PUSH32 0x896ecb17b26927fb33933fc5f413873193bced3c59fe736c42968a9778bf6b58 00000f08: DUP4 00000f09: PUSH1 0x40 00000f0b: MLOAD 00000f0c: DUP1 00000f0d: DUP3 00000f0e: DUP2 00000f0f: MSTORE 00000f10: PUSH1 0x20 00000f12: ADD 00000f13: SWAP2 00000f14: POP 00000f15: POP 00000f16: PUSH1 0x40 00000f18: MLOAD 00000f19: DUP1 00000f1a: SWAP2 00000f1b: SUB 00000f1c: SWAP1 00000f1d: LOG3 00000f1e: PUSH2 0x0e8e 00000f21: DUP4 00000f22: DUP4 00000f23: DUP4 00000f24: PUSH2 0x13ed 00000f27: JUMP 00000f28: JUMPDEST 00000f29: PUSH1 0x01 00000f2b: SLOAD 00000f2c: PUSH1 0xff 00000f2e: AND 00000f2f: ISZERO 00000f30: PUSH2 0x0f38 00000f33: JUMPI 00000f34: PUSH1 0x00 00000f36: DUP1 00000f37: REVERT 00000f38: JUMPDEST 00000f39: PUSH2 0x0f45 00000f3c: DUP4 00000f3d: DUP4 00000f3e: DUP4 00000f3f: PUSH1 0x00 00000f41: PUSH2 0x12f8 00000f44: JUMP 00000f45: JUMPDEST 00000f46: PUSH1 0x40 00000f48: DUP1 00000f49: MLOAD 00000f4a: DUP3 00000f4b: DUP2 00000f4c: MSTORE 00000f4d: SWAP1 00000f4e: MLOAD 00000f4f: PUSH1 0x01 00000f51: PUSH1 0xa0 00000f53: PUSH1 0x02 00000f55: EXP 00000f56: SUB 00000f57: DUP5 00000f58: AND 00000f59: SWAP2 00000f5a: DUP6 00000f5b: SWAP2 00000f5c: PUSH32 0xbc8e388b96ba8b9f627cb6d72d3513182f763c33c6107ecd31191de1f71abc1a 00000f7d: SWAP2 00000f7e: DUP2 00000f7f: SWAP1 00000f80: SUB 00000f81: PUSH1 0x20 00000f83: ADD 00000f84: SWAP1 00000f85: LOG3 00000f86: PUSH2 0x0e8e 00000f89: PUSH1 0x01 00000f8b: PUSH1 0xa0 00000f8d: PUSH1 0x02 00000f8f: EXP 00000f90: SUB 00000f91: DUP4 00000f92: AND 00000f93: CALLER 00000f94: ADDRESS 00000f95: DUP5 00000f96: PUSH4 0xffffffff 00000f9b: PUSH2 0x1454 00000f9e: AND 00000f9f: JUMP 00000fa0: JUMPDEST 00000fa1: PUSH1 0x00 00000fa3: DUP3 00000fa4: DUP3 00000fa5: PUSH2 0x0fae 00000fa8: DUP3 00000fa9: DUP3 00000faa: PUSH2 0x1078 00000fad: JUMP 00000fae: JUMPDEST 00000faf: PUSH2 0x0fec 00000fb2: JUMPI 00000fb3: PUSH1 0x40 00000fb5: MLOAD 00000fb6: PUSH1 0xe5 00000fb8: PUSH1 0x02 00000fba: EXP 00000fbb: PUSH3 0x461bcd 00000fbf: MUL 00000fc0: DUP2 00000fc1: MSTORE 00000fc2: PUSH1 0x04 00000fc4: ADD 00000fc5: DUP1 00000fc6: DUP1 00000fc7: PUSH1 0x20 00000fc9: ADD 00000fca: DUP3 00000fcb: DUP2 00000fcc: SUB 00000fcd: DUP3 00000fce: MSTORE 00000fcf: PUSH1 0x21 00000fd1: DUP2 00000fd2: MSTORE 00000fd3: PUSH1 0x20 00000fd5: ADD 00000fd6: DUP1 00000fd7: PUSH2 0x171a 00000fda: PUSH1 0x21 00000fdc: SWAP2 00000fdd: CODECOPY 00000fde: PUSH1 0x40 00000fe0: ADD 00000fe1: SWAP2 00000fe2: POP 00000fe3: POP 00000fe4: PUSH1 0x40 00000fe6: MLOAD 00000fe7: DUP1 00000fe8: SWAP2 00000fe9: SUB 00000fea: SWAP1 00000feb: REVERT 00000fec: JUMPDEST 00000fed: POP 00000fee: POP 00000fef: POP 00000ff0: PUSH1 0x00 00000ff2: SWAP2 00000ff3: DUP3 00000ff4: MSTORE 00000ff5: PUSH1 0x03 00000ff7: PUSH1 0x20 00000ff9: SWAP1 00000ffa: DUP2 00000ffb: MSTORE 00000ffc: PUSH1 0x40 00000ffe: DUP1 00000fff: DUP5 00001000: KECCAK256 00001001: PUSH1 0x01 00001003: PUSH1 0xa0 00001005: PUSH1 0x02 00001007: EXP 00001008: SUB 00001009: SWAP4 0000100a: SWAP1 0000100b: SWAP4 0000100c: AND 0000100d: DUP5 0000100e: MSTORE 0000100f: PUSH1 0x04 00001011: SWAP1 00001012: SWAP3 00001013: ADD 00001014: SWAP1 00001015: MSTORE 00001016: SWAP1 00001017: KECCAK256 00001018: SLOAD 00001019: PUSH1 0xff 0000101b: AND 0000101c: SWAP1 0000101d: JUMP 0000101e: JUMPDEST 0000101f: PUSH1 0x01 00001021: SLOAD 00001022: PUSH1 0xff 00001024: AND 00001025: ISZERO 00001026: PUSH2 0x102e 00001029: JUMPI 0000102a: PUSH1 0x00 0000102c: DUP1 0000102d: REVERT 0000102e: JUMPDEST 0000102f: CALLVALUE 00001030: PUSH2 0x103c 00001033: DUP3 00001034: PUSH1 0x00 00001036: DUP4 00001037: DUP2 00001038: PUSH2 0x12f8 0000103b: JUMP 0000103c: JUMPDEST 0000103d: PUSH1 0x40 0000103f: DUP1 00001040: MLOAD 00001041: DUP3 00001042: DUP2 00001043: MSTORE 00001044: SWAP1 00001045: MLOAD 00001046: PUSH1 0x00 00001048: SWAP2 00001049: DUP5 0000104a: SWAP2 0000104b: PUSH32 0xbc8e388b96ba8b9f627cb6d72d3513182f763c33c6107ecd31191de1f71abc1a 0000106c: SWAP2 0000106d: DUP2 0000106e: SWAP1 0000106f: SUB 00001070: PUSH1 0x20 00001072: ADD 00001073: SWAP1 00001074: LOG3 00001075: POP 00001076: POP 00001077: JUMP 00001078: JUMPDEST 00001079: PUSH1 0x00 0000107b: DUP3 0000107c: DUP2 0000107d: MSTORE 0000107e: PUSH1 0x03 00001080: PUSH1 0x20 00001082: MSTORE 00001083: PUSH1 0x40 00001085: DUP2 00001086: KECCAK256 00001087: DUP2 00001088: JUMPDEST 00001089: DUP2 0000108a: SLOAD 0000108b: DUP2 0000108c: LT 0000108d: ISZERO 0000108e: PUSH2 0x10d2 00001091: JUMPI 00001092: DUP2 00001093: PUSH1 0x00 00001095: ADD 00001096: DUP2 00001097: DUP2 00001098: SLOAD 00001099: DUP2 0000109a: LT 0000109b: PUSH2 0x10a0 0000109e: JUMPI 0000109f: INVALID 000010a0: JUMPDEST 000010a1: PUSH1 0x00 000010a3: SWAP2 000010a4: DUP3 000010a5: MSTORE 000010a6: PUSH1 0x20 000010a8: SWAP1 000010a9: SWAP2 000010aa: KECCAK256 000010ab: ADD 000010ac: SLOAD 000010ad: PUSH1 0x01 000010af: PUSH1 0xa0 000010b1: PUSH1 0x02 000010b3: EXP 000010b4: SUB 000010b5: DUP6 000010b6: DUP2 000010b7: AND 000010b8: SWAP2 000010b9: AND 000010ba: EQ 000010bb: ISZERO 000010bc: PUSH2 0x10ca 000010bf: JUMPI 000010c0: PUSH1 0x01 000010c2: SWAP3 000010c3: POP 000010c4: POP 000010c5: POP 000010c6: PUSH2 0x0a65 000010c9: JUMP 000010ca: JUMPDEST 000010cb: PUSH1 0x01 000010cd: ADD 000010ce: PUSH2 0x1088 000010d1: JUMP 000010d2: JUMPDEST 000010d3: POP 000010d4: PUSH1 0x00 000010d6: SWAP5 000010d7: SWAP4 000010d8: POP 000010d9: POP 000010da: POP 000010db: POP 000010dc: JUMP 000010dd: JUMPDEST 000010de: PUSH1 0x00 000010e0: JUMPDEST 000010e1: DUP2 000010e2: SLOAD 000010e3: DUP2 000010e4: LT 000010e5: ISZERO 000010e6: PUSH2 0x113c 000010e9: JUMPI 000010ea: PUSH1 0x00 000010ec: DUP3 000010ed: PUSH1 0x04 000010ef: ADD 000010f0: PUSH1 0x00 000010f2: DUP5 000010f3: PUSH1 0x00 000010f5: ADD 000010f6: DUP5 000010f7: DUP2 000010f8: SLOAD 000010f9: DUP2 000010fa: LT 000010fb: PUSH2 0x1100 000010fe: JUMPI 000010ff: INVALID 00001100: JUMPDEST 00001101: PUSH1 0x00 00001103: SWAP2 00001104: DUP3 00001105: MSTORE 00001106: PUSH1 0x20 00001108: DUP1 00001109: DUP4 0000110a: KECCAK256 0000110b: SWAP2 0000110c: SWAP1 0000110d: SWAP2 0000110e: ADD 0000110f: SLOAD 00001110: PUSH1 0x01 00001112: PUSH1 0xa0 00001114: PUSH1 0x02 00001116: EXP 00001117: SUB 00001118: AND 00001119: DUP4 0000111a: MSTORE 0000111b: DUP3 0000111c: ADD 0000111d: SWAP3 0000111e: SWAP1 0000111f: SWAP3 00001120: MSTORE 00001121: PUSH1 0x40 00001123: ADD 00001124: SWAP1 00001125: KECCAK256 00001126: DUP1 00001127: SLOAD 00001128: PUSH1 0xff 0000112a: NOT 0000112b: AND 0000112c: SWAP2 0000112d: ISZERO 0000112e: ISZERO 0000112f: SWAP2 00001130: SWAP1 00001131: SWAP2 00001132: OR 00001133: SWAP1 00001134: SSTORE 00001135: PUSH1 0x01 00001137: ADD 00001138: PUSH2 0x10e0 0000113b: JUMP 0000113c: JUMPDEST 0000113d: POP 0000113e: POP 0000113f: JUMP 00001140: JUMPDEST 00001141: PUSH1 0x00 00001143: DUP1 00001144: JUMPDEST 00001145: DUP3 00001146: SLOAD 00001147: DUP2 00001148: LT 00001149: ISZERO 0000114a: PUSH2 0x11a0 0000114d: JUMPI 0000114e: DUP3 0000114f: PUSH1 0x04 00001151: ADD 00001152: PUSH1 0x00 00001154: DUP5 00001155: PUSH1 0x00 00001157: ADD 00001158: DUP4 00001159: DUP2 0000115a: SLOAD 0000115b: DUP2 0000115c: LT 0000115d: PUSH2 0x1162 00001160: JUMPI 00001161: INVALID 00001162: JUMPDEST 00001163: PUSH1 0x00 00001165: SWAP2 00001166: DUP3 00001167: MSTORE 00001168: PUSH1 0x20 0000116a: DUP1 0000116b: DUP4 0000116c: KECCAK256 0000116d: SWAP1 0000116e: SWAP2 0000116f: ADD 00001170: SLOAD 00001171: PUSH1 0x01 00001173: PUSH1 0xa0 00001175: PUSH1 0x02 00001177: EXP 00001178: SUB 00001179: AND 0000117a: DUP4 0000117b: MSTORE 0000117c: DUP3 0000117d: ADD 0000117e: SWAP3 0000117f: SWAP1 00001180: SWAP3 00001181: MSTORE 00001182: PUSH1 0x40 00001184: ADD 00001185: SWAP1 00001186: KECCAK256 00001187: SLOAD 00001188: PUSH1 0xff 0000118a: AND 0000118b: PUSH2 0x1198 0000118e: JUMPI 0000118f: PUSH1 0x00 00001191: SWAP2 00001192: POP 00001193: POP 00001194: PUSH2 0x0802 00001197: JUMP 00001198: JUMPDEST 00001199: PUSH1 0x01 0000119b: ADD 0000119c: PUSH2 0x1144 0000119f: JUMP 000011a0: JUMPDEST 000011a1: POP 000011a2: PUSH1 0x01 000011a4: SWAP3 000011a5: SWAP2 000011a6: POP 000011a7: POP 000011a8: JUMP 000011a9: JUMPDEST 000011aa: PUSH1 0x01 000011ac: PUSH1 0xa0 000011ae: PUSH1 0x02 000011b0: EXP 000011b1: SUB 000011b2: DUP2 000011b3: AND 000011b4: PUSH2 0x1207 000011b7: JUMPI 000011b8: PUSH1 0x40 000011ba: DUP1 000011bb: MLOAD 000011bc: PUSH1 0xe5 000011be: PUSH1 0x02 000011c0: EXP 000011c1: PUSH3 0x461bcd 000011c5: MUL 000011c6: DUP2 000011c7: MSTORE 000011c8: PUSH1 0x20 000011ca: PUSH1 0x04 000011cc: DUP3 000011cd: ADD 000011ce: MSTORE 000011cf: PUSH1 0x1a 000011d1: PUSH1 0x24 000011d3: DUP3 000011d4: ADD 000011d5: MSTORE 000011d6: PUSH32 0x4e6577206f70657261746f722069732061646472657373283029000000000000 000011f7: PUSH1 0x44 000011f9: DUP3 000011fa: ADD 000011fb: MSTORE 000011fc: SWAP1 000011fd: MLOAD 000011fe: SWAP1 000011ff: DUP2 00001200: SWAP1 00001201: SUB 00001202: PUSH1 0x64 00001204: ADD 00001205: SWAP1 00001206: REVERT 00001207: JUMPDEST 00001208: PUSH1 0x00 0000120a: DUP3 0000120b: DUP2 0000120c: MSTORE 0000120d: PUSH1 0x03 0000120f: PUSH1 0x20 00001211: MSTORE 00001212: PUSH1 0x40 00001214: DUP1 00001215: DUP3 00001216: KECCAK256 00001217: PUSH1 0x01 00001219: DUP2 0000121a: ADD 0000121b: DUP1 0000121c: SLOAD 0000121d: PUSH1 0x01 0000121f: PUSH1 0xa0 00001221: PUSH1 0x02 00001223: EXP 00001224: SUB 00001225: DUP7 00001226: DUP2 00001227: AND 00001228: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000123d: NOT 0000123e: DUP4 0000123f: AND 00001240: DUP2 00001241: OR 00001242: SWAP1 00001243: SWAP4 00001244: SSTORE 00001245: SWAP4 00001246: MLOAD 00001247: SWAP3 00001248: SWAP5 00001249: SWAP4 0000124a: AND 0000124b: SWAP3 0000124c: SWAP1 0000124d: SWAP2 0000124e: DUP4 0000124f: SWAP2 00001250: DUP8 00001251: SWAP2 00001252: PUSH32 0x118c3f8030bc3c8254e737a0bd0584403c33646afbcbee8321c3bd5b26543cda 00001273: SWAP2 00001274: SWAP1 00001275: LOG4 00001276: POP 00001277: POP 00001278: POP 00001279: POP 0000127a: JUMP 0000127b: JUMPDEST 0000127c: PUSH1 0x00 0000127e: PUSH1 0x01 00001280: PUSH1 0xa0 00001282: PUSH1 0x02 00001284: EXP 00001285: SUB 00001286: DUP3 00001287: AND 00001288: PUSH2 0x1290 0000128b: JUMPI 0000128c: PUSH1 0x00 0000128e: DUP1 0000128f: REVERT 00001290: JUMPDEST 00001291: POP 00001292: PUSH1 0x01 00001294: PUSH1 0xa0 00001296: PUSH1 0x02 00001298: EXP 00001299: SUB 0000129a: AND 0000129b: PUSH1 0x00 0000129d: SWAP1 0000129e: DUP2 0000129f: MSTORE 000012a0: PUSH1 0x20 000012a2: SWAP2 000012a3: SWAP1 000012a4: SWAP2 000012a5: MSTORE 000012a6: PUSH1 0x40 000012a8: SWAP1 000012a9: KECCAK256 000012aa: SLOAD 000012ab: PUSH1 0xff 000012ad: AND 000012ae: SWAP1 000012af: JUMP 000012b0: JUMPDEST 000012b1: PUSH2 0x12c1 000012b4: PUSH1 0x00 000012b6: DUP3 000012b7: PUSH4 0xffffffff 000012bc: PUSH2 0x1503 000012bf: AND 000012c0: JUMP 000012c1: JUMPDEST 000012c2: PUSH1 0x40 000012c4: MLOAD 000012c5: PUSH1 0x01 000012c7: PUSH1 0xa0 000012c9: PUSH1 0x02 000012cb: EXP 000012cc: SUB 000012cd: DUP3 000012ce: AND 000012cf: SWAP1 000012d0: PUSH32 0xcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e 000012f1: SWAP1 000012f2: PUSH1 0x00 000012f4: SWAP1 000012f5: LOG2 000012f6: POP 000012f7: JUMP 000012f8: JUMPDEST 000012f9: PUSH1 0x00 000012fb: DUP5 000012fc: DUP2 000012fd: MSTORE 000012fe: PUSH1 0x03 00001300: PUSH1 0x20 00001302: MSTORE 00001303: PUSH1 0x40 00001305: DUP2 00001306: KECCAK256 00001307: SWAP1 00001308: DUP3 00001309: PUSH1 0x01 0000130b: DUP2 0000130c: GT 0000130d: ISZERO 0000130e: PUSH2 0x1313 00001311: JUMPI 00001312: INVALID 00001313: JUMPDEST 00001314: EQ 00001315: ISZERO 00001316: PUSH2 0x1364 00001319: JUMPI 0000131a: PUSH1 0x01 0000131c: PUSH1 0xa0 0000131e: PUSH1 0x02 00001320: EXP 00001321: SUB 00001322: DUP5 00001323: AND 00001324: PUSH1 0x00 00001326: SWAP1 00001327: DUP2 00001328: MSTORE 00001329: PUSH1 0x02 0000132b: DUP3 0000132c: ADD 0000132d: PUSH1 0x20 0000132f: MSTORE 00001330: PUSH1 0x40 00001332: SWAP1 00001333: KECCAK256 00001334: SLOAD 00001335: PUSH2 0x1344 00001338: SWAP1 00001339: DUP5 0000133a: PUSH4 0xffffffff 0000133f: PUSH2 0x154b 00001342: AND 00001343: JUMP 00001344: JUMPDEST 00001345: PUSH1 0x01 00001347: PUSH1 0xa0 00001349: PUSH1 0x02 0000134b: EXP 0000134c: SUB 0000134d: DUP6 0000134e: AND 0000134f: PUSH1 0x00 00001351: SWAP1 00001352: DUP2 00001353: MSTORE 00001354: PUSH1 0x02 00001356: DUP4 00001357: ADD 00001358: PUSH1 0x20 0000135a: MSTORE 0000135b: PUSH1 0x40 0000135d: SWAP1 0000135e: KECCAK256 0000135f: SSTORE 00001360: PUSH2 0x09e6 00001363: JUMP 00001364: JUMPDEST 00001365: PUSH1 0x01 00001367: DUP3 00001368: PUSH1 0x01 0000136a: DUP2 0000136b: GT 0000136c: ISZERO 0000136d: PUSH2 0x1372 00001370: JUMPI 00001371: INVALID 00001372: JUMPDEST 00001373: EQ 00001374: ISZERO 00001375: PUSH2 0x13a3 00001378: JUMPI 00001379: PUSH1 0x01 0000137b: PUSH1 0xa0 0000137d: PUSH1 0x02 0000137f: EXP 00001380: SUB 00001381: DUP5 00001382: AND 00001383: PUSH1 0x00 00001385: SWAP1 00001386: DUP2 00001387: MSTORE 00001388: PUSH1 0x02 0000138a: DUP3 0000138b: ADD 0000138c: PUSH1 0x20 0000138e: MSTORE 0000138f: PUSH1 0x40 00001391: SWAP1 00001392: KECCAK256 00001393: SLOAD 00001394: PUSH2 0x1344 00001397: SWAP1 00001398: DUP5 00001399: PUSH4 0xffffffff 0000139e: PUSH2 0x1564 000013a1: AND 000013a2: JUMP 000013a3: JUMPDEST 000013a4: INVALID 000013a5: JUMPDEST 000013a6: PUSH2 0x13b6 000013a9: PUSH1 0x00 000013ab: DUP3 000013ac: PUSH4 0xffffffff 000013b1: PUSH2 0x1579 000013b4: AND 000013b5: JUMP 000013b6: JUMPDEST 000013b7: PUSH1 0x40 000013b9: MLOAD 000013ba: PUSH1 0x01 000013bc: PUSH1 0xa0 000013be: PUSH1 0x02 000013c0: EXP 000013c1: SUB 000013c2: DUP3 000013c3: AND 000013c4: SWAP1 000013c5: PUSH32 0x6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f8 000013e6: SWAP1 000013e7: PUSH1 0x00 000013e9: SWAP1 000013ea: LOG2 000013eb: POP 000013ec: JUMP 000013ed: JUMPDEST 000013ee: PUSH1 0x01 000013f0: PUSH1 0xa0 000013f2: PUSH1 0x02 000013f4: EXP 000013f5: SUB 000013f6: DUP4 000013f7: AND 000013f8: PUSH2 0x143a 000013fb: JUMPI 000013fc: PUSH1 0x40 000013fe: MLOAD 000013ff: DUP3 00001400: SWAP1 00001401: PUSH1 0x01 00001403: PUSH1 0xa0 00001405: PUSH1 0x02 00001407: EXP 00001408: SUB 00001409: DUP3 0000140a: AND 0000140b: SWAP1 0000140c: DUP4 0000140d: ISZERO 0000140e: PUSH2 0x08fc 00001411: MUL 00001412: SWAP1 00001413: DUP5 00001414: SWAP1 00001415: PUSH1 0x00 00001417: DUP2 00001418: DUP2 00001419: DUP2 0000141a: DUP6 0000141b: DUP9 0000141c: DUP9 0000141d: CALL 0000141e: SWAP4 0000141f: POP 00001420: POP 00001421: POP 00001422: POP 00001423: ISZERO 00001424: DUP1 00001425: ISZERO 00001426: PUSH2 0x1433 00001429: JUMPI 0000142a: RETURNDATASIZE 0000142b: PUSH1 0x00 0000142d: DUP1 0000142e: RETURNDATACOPY 0000142f: RETURNDATASIZE 00001430: PUSH1 0x00 00001432: REVERT 00001433: JUMPDEST 00001434: POP 00001435: POP 00001436: PUSH2 0x0e8e 00001439: JUMP 0000143a: JUMPDEST 0000143b: PUSH2 0x0e8e 0000143e: PUSH1 0x01 00001440: PUSH1 0xa0 00001442: PUSH1 0x02 00001444: EXP 00001445: SUB 00001446: DUP5 00001447: AND 00001448: DUP4 00001449: DUP4 0000144a: PUSH4 0xffffffff 0000144f: PUSH2 0x15c5 00001452: AND 00001453: JUMP 00001454: JUMPDEST 00001455: PUSH1 0x40 00001457: DUP1 00001458: MLOAD 00001459: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000 0000147a: DUP2 0000147b: MSTORE 0000147c: PUSH1 0x01 0000147e: PUSH1 0xa0 00001480: PUSH1 0x02 00001482: EXP 00001483: SUB 00001484: DUP6 00001485: DUP2 00001486: AND 00001487: PUSH1 0x04 00001489: DUP4 0000148a: ADD 0000148b: MSTORE 0000148c: DUP5 0000148d: DUP2 0000148e: AND 0000148f: PUSH1 0x24 00001491: DUP4 00001492: ADD 00001493: MSTORE 00001494: PUSH1 0x44 00001496: DUP3 00001497: ADD 00001498: DUP5 00001499: SWAP1 0000149a: MSTORE 0000149b: SWAP2 0000149c: MLOAD 0000149d: SWAP2 0000149e: DUP7 0000149f: AND 000014a0: SWAP2 000014a1: PUSH4 0x23b872dd 000014a6: SWAP2 000014a7: PUSH1 0x64 000014a9: DUP1 000014aa: DUP3 000014ab: ADD 000014ac: SWAP3 000014ad: PUSH1 0x20 000014af: SWAP3 000014b0: SWAP1 000014b1: SWAP2 000014b2: SWAP1 000014b3: DUP3 000014b4: SWAP1 000014b5: SUB 000014b6: ADD 000014b7: DUP2 000014b8: PUSH1 0x00 000014ba: DUP8 000014bb: DUP1 000014bc: EXTCODESIZE 000014bd: ISZERO 000014be: DUP1 000014bf: ISZERO 000014c0: PUSH2 0x14c8 000014c3: JUMPI 000014c4: PUSH1 0x00 000014c6: DUP1 000014c7: REVERT 000014c8: JUMPDEST 000014c9: POP 000014ca: GAS 000014cb: CALL 000014cc: ISZERO 000014cd: DUP1 000014ce: ISZERO 000014cf: PUSH2 0x14dc 000014d2: JUMPI 000014d3: RETURNDATASIZE 000014d4: PUSH1 0x00 000014d6: DUP1 000014d7: RETURNDATACOPY 000014d8: RETURNDATASIZE 000014d9: PUSH1 0x00 000014db: REVERT 000014dc: JUMPDEST 000014dd: POP 000014de: POP 000014df: POP 000014e0: POP 000014e1: PUSH1 0x40 000014e3: MLOAD 000014e4: RETURNDATASIZE 000014e5: PUSH1 0x20 000014e7: DUP2 000014e8: LT 000014e9: ISZERO 000014ea: PUSH2 0x14f2 000014ed: JUMPI 000014ee: PUSH1 0x00 000014f0: DUP1 000014f1: REVERT 000014f2: JUMPDEST 000014f3: POP 000014f4: MLOAD 000014f5: PUSH2 0x14fd 000014f8: JUMPI 000014f9: PUSH1 0x00 000014fb: DUP1 000014fc: REVERT 000014fd: JUMPDEST 000014fe: POP 000014ff: POP 00001500: POP 00001501: POP 00001502: JUMP 00001503: JUMPDEST 00001504: PUSH1 0x01 00001506: PUSH1 0xa0 00001508: PUSH1 0x02 0000150a: EXP 0000150b: SUB 0000150c: DUP2 0000150d: AND 0000150e: PUSH2 0x1516 00001511: JUMPI 00001512: PUSH1 0x00 00001514: DUP1 00001515: REVERT 00001516: JUMPDEST 00001517: PUSH2 0x1520 0000151a: DUP3 0000151b: DUP3 0000151c: PUSH2 0x127b 0000151f: JUMP 00001520: JUMPDEST 00001521: PUSH2 0x1529 00001524: JUMPI 00001525: PUSH1 0x00 00001527: DUP1 00001528: REVERT 00001529: JUMPDEST 0000152a: PUSH1 0x01 0000152c: PUSH1 0xa0 0000152e: PUSH1 0x02 00001530: EXP 00001531: SUB 00001532: AND 00001533: PUSH1 0x00 00001535: SWAP1 00001536: DUP2 00001537: MSTORE 00001538: PUSH1 0x20 0000153a: SWAP2 0000153b: SWAP1 0000153c: SWAP2 0000153d: MSTORE 0000153e: PUSH1 0x40 00001540: SWAP1 00001541: KECCAK256 00001542: DUP1 00001543: SLOAD 00001544: PUSH1 0xff 00001546: NOT 00001547: AND 00001548: SWAP1 00001549: SSTORE 0000154a: JUMP 0000154b: JUMPDEST 0000154c: PUSH1 0x00 0000154e: DUP3 0000154f: DUP3 00001550: ADD 00001551: DUP4 00001552: DUP2 00001553: LT 00001554: ISZERO 00001555: PUSH2 0x155d 00001558: JUMPI 00001559: PUSH1 0x00 0000155b: DUP1 0000155c: REVERT 0000155d: JUMPDEST 0000155e: SWAP4 0000155f: SWAP3 00001560: POP 00001561: POP 00001562: POP 00001563: JUMP 00001564: JUMPDEST 00001565: PUSH1 0x00 00001567: DUP3 00001568: DUP3 00001569: GT 0000156a: ISZERO 0000156b: PUSH2 0x1573 0000156e: JUMPI 0000156f: PUSH1 0x00 00001571: DUP1 00001572: REVERT 00001573: JUMPDEST 00001574: POP 00001575: SWAP1 00001576: SUB 00001577: SWAP1 00001578: JUMP 00001579: JUMPDEST 0000157a: PUSH1 0x01 0000157c: PUSH1 0xa0 0000157e: PUSH1 0x02 00001580: EXP 00001581: SUB 00001582: DUP2 00001583: AND 00001584: PUSH2 0x158c 00001587: JUMPI 00001588: PUSH1 0x00 0000158a: DUP1 0000158b: REVERT 0000158c: JUMPDEST 0000158d: PUSH2 0x1596 00001590: DUP3 00001591: DUP3 00001592: PUSH2 0x127b 00001595: JUMP 00001596: JUMPDEST 00001597: ISZERO 00001598: PUSH2 0x15a0 0000159b: JUMPI 0000159c: PUSH1 0x00 0000159e: DUP1 0000159f: REVERT 000015a0: JUMPDEST 000015a1: PUSH1 0x01 000015a3: PUSH1 0xa0 000015a5: PUSH1 0x02 000015a7: EXP 000015a8: SUB 000015a9: AND 000015aa: PUSH1 0x00 000015ac: SWAP1 000015ad: DUP2 000015ae: MSTORE 000015af: PUSH1 0x20 000015b1: SWAP2 000015b2: SWAP1 000015b3: SWAP2 000015b4: MSTORE 000015b5: PUSH1 0x40 000015b7: SWAP1 000015b8: KECCAK256 000015b9: DUP1 000015ba: SLOAD 000015bb: PUSH1 0xff 000015bd: NOT 000015be: AND 000015bf: PUSH1 0x01 000015c1: OR 000015c2: SWAP1 000015c3: SSTORE 000015c4: JUMP 000015c5: JUMPDEST 000015c6: DUP3 000015c7: PUSH1 0x01 000015c9: PUSH1 0xa0 000015cb: PUSH1 0x02 000015cd: EXP 000015ce: SUB 000015cf: AND 000015d0: PUSH4 0xa9059cbb 000015d5: DUP4 000015d6: DUP4 000015d7: PUSH1 0x40 000015d9: MLOAD 000015da: DUP4 000015db: PUSH4 0xffffffff 000015e0: AND 000015e1: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 000015ff: MUL 00001600: DUP2 00001601: MSTORE 00001602: PUSH1 0x04 00001604: ADD 00001605: DUP1 00001606: DUP4 00001607: PUSH1 0x01 00001609: PUSH1 0xa0 0000160b: PUSH1 0x02 0000160d: EXP 0000160e: SUB 0000160f: AND 00001610: PUSH1 0x01 00001612: PUSH1 0xa0 00001614: PUSH1 0x02 00001616: EXP 00001617: SUB 00001618: AND 00001619: DUP2 0000161a: MSTORE 0000161b: PUSH1 0x20 0000161d: ADD 0000161e: DUP3 0000161f: DUP2 00001620: MSTORE 00001621: PUSH1 0x20 00001623: ADD 00001624: SWAP3 00001625: POP 00001626: POP 00001627: POP 00001628: PUSH1 0x20 0000162a: PUSH1 0x40 0000162c: MLOAD 0000162d: DUP1 0000162e: DUP4 0000162f: SUB 00001630: DUP2 00001631: PUSH1 0x00 00001633: DUP8 00001634: DUP1 00001635: EXTCODESIZE 00001636: ISZERO 00001637: DUP1 00001638: ISZERO 00001639: PUSH2 0x1641 0000163c: JUMPI 0000163d: PUSH1 0x00 0000163f: DUP1 00001640: REVERT 00001641: JUMPDEST 00001642: POP 00001643: GAS 00001644: CALL 00001645: ISZERO 00001646: DUP1 00001647: ISZERO 00001648: PUSH2 0x1655 0000164b: JUMPI 0000164c: RETURNDATASIZE 0000164d: PUSH1 0x00 0000164f: DUP1 00001650: RETURNDATACOPY 00001651: RETURNDATASIZE 00001652: PUSH1 0x00 00001654: REVERT 00001655: JUMPDEST 00001656: POP 00001657: POP 00001658: POP 00001659: POP 0000165a: PUSH1 0x40 0000165c: MLOAD 0000165d: RETURNDATASIZE 0000165e: PUSH1 0x20 00001660: DUP2 00001661: LT 00001662: ISZERO 00001663: PUSH2 0x166b 00001666: JUMPI 00001667: PUSH1 0x00 00001669: DUP1 0000166a: REVERT 0000166b: JUMPDEST 0000166c: POP 0000166d: MLOAD 0000166e: PUSH2 0x0e8e 00001671: JUMPI 00001672: PUSH1 0x00 00001674: DUP1 00001675: REVERT 00001676: JUMPDEST 00001677: DUP3 00001678: DUP1 00001679: SLOAD 0000167a: DUP3 0000167b: DUP3 0000167c: SSTORE 0000167d: SWAP1 0000167e: PUSH1 0x00 00001680: MSTORE 00001681: PUSH1 0x20 00001683: PUSH1 0x00 00001685: KECCAK256 00001686: SWAP1 00001687: DUP2 00001688: ADD 00001689: SWAP3 0000168a: DUP3 0000168b: ISZERO 0000168c: PUSH2 0x16d8 0000168f: JUMPI 00001690: SWAP2 00001691: PUSH1 0x20 00001693: MUL 00001694: DUP3 00001695: ADD 00001696: JUMPDEST 00001697: DUP3 00001698: DUP2 00001699: GT 0000169a: ISZERO 0000169b: PUSH2 0x16d8 0000169e: JUMPI 0000169f: DUP3 000016a0: MLOAD 000016a1: DUP3 000016a2: SLOAD 000016a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016b8: NOT 000016b9: AND 000016ba: PUSH1 0x01 000016bc: PUSH1 0xa0 000016be: PUSH1 0x02 000016c0: EXP 000016c1: SUB 000016c2: SWAP1 000016c3: SWAP2 000016c4: AND 000016c5: OR 000016c6: DUP3 000016c7: SSTORE 000016c8: PUSH1 0x20 000016ca: SWAP1 000016cb: SWAP3 000016cc: ADD 000016cd: SWAP2 000016ce: PUSH1 0x01 000016d0: SWAP1 000016d1: SWAP2 000016d2: ADD 000016d3: SWAP1 000016d4: PUSH2 0x1696 000016d7: JUMP 000016d8: JUMPDEST 000016d9: POP 000016da: PUSH2 0x16e4 000016dd: SWAP3 000016de: SWAP2 000016df: POP 000016e0: PUSH2 0x16e8 000016e3: JUMP 000016e4: JUMPDEST 000016e5: POP 000016e6: SWAP1 000016e7: JUMP 000016e8: JUMPDEST 000016e9: PUSH2 0x0a9e 000016ec: SWAP2 000016ed: SWAP1 000016ee: JUMPDEST 000016ef: DUP1 000016f0: DUP3 000016f1: GT 000016f2: ISZERO 000016f3: PUSH2 0x16e4 000016f6: JUMPI 000016f7: DUP1 000016f8: SLOAD 000016f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000170e: NOT 0000170f: AND 00001710: DUP2 00001711: SSTORE 00001712: PUSH1 0x01 00001714: ADD 00001715: PUSH2 0x16ee 00001718: JUMP 00001719: INVALID 0000171a: SELFBALANCE 0000171b: PUSH10 0x76656e20616464726573 00001726: PUSH20 0x206973206e6f742077616c6c6574206f776e6572 0000173b: LOG2 0000173c: PUSH6 0x627a7a723058 00001743: KECCAK256 00001744: LOG2 00001745: PUSH8 0xd9485b9aea3cd16e 0000174e: TSTORE 0000174f: JUMPDEST 00001750: UNKNOWN(0x2D) 00001751: UNKNOWN(0xC6) 00001752: UNKNOWN(0xFC) 00001753: SWAP15 00001754: UNKNOWN(0xAF) 00001755: SWAP4 00001756: PUSH20 0x1dd38628af3c5eebbf47de01e064736f6c634300 0000176b: SDIV 0000176c: EXP 0000176d: STOP 0000176e: ORIGIN
| 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": "0xa96a5f94",
"selector": "0xa96a5f94",
"calldata_variants": [
"0xa96a5f94",
"0xa96a5f940000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbfa2c1d2",
"selector": "0xbfa2c1d2",
"calldata_variants": [
"0xbfa2c1d2",
"0xbfa2c1d20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc108bb40",
"selector": "0xc108bb40",
"calldata_variants": [
"0xc108bb40",
"0xc108bb400000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcafd4600",
"selector": "0xcafd4600",
"calldata_variants": [
"0xcafd4600",
"0xcafd46000000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd68d9d4e",
"selector": "0xd68d9d4e",
"calldata_variants": [
"0xd68d9d4e",
"0xd68d9d4e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x80ba952e",
"selector": "0x80ba952e",
"calldata_variants": [
"0x80ba952e",
"0x80ba952e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x82dc1ec4",
"selector": "0x82dc1ec4",
"calldata_variants": [
"0x82dc1ec4",
"0x82dc1ec40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8456cb59",
"selector": "0x8456cb59",
"calldata_variants": [
"0x8456cb59",
"0x8456cb590000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 5998,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x9e2bad97e15025beeb462cf18c91819fd4f847abb8112676e5492b2802f6e478
call_targets:
0xa6cd930fc92f1634d8183af2fb86bd1766f2f82a
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x9e2bad97e15025beeb462cf18c91819fd4f847abb8112676e5492b2802f6e478",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xa6cd930fc92f1634d8183af2fb86bd1766f2f82a"
],
"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": "0xa96a5f94",
"selector": "0xa96a5f94",
"calldata_variants": [
"0xa96a5f94",
"0xa96a5f940000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbfa2c1d2",
"selector": "0xbfa2c1d2",
"calldata_variants": [
"0xbfa2c1d2",
"0xbfa2c1d20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc108bb40",
"selector": "0xc108bb40",
"calldata_variants": [
"0xc108bb40",
"0xc108bb400000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcafd4600",
"selector": "0xcafd4600",
"calldata_variants": [
"0xcafd4600",
"0xcafd46000000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd68d9d4e",
"selector": "0xd68d9d4e",
"calldata_variants": [
"0xd68d9d4e",
"0xd68d9d4e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x80ba952e",
"selector": "0x80ba952e",
"calldata_variants": [
"0x80ba952e",
"0x80ba952e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x82dc1ec4",
"selector": "0x82dc1ec4",
"calldata_variants": [
"0x82dc1ec4",
"0x82dc1ec40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8456cb59",
"selector": "0x8456cb59",
"calldata_variants": [
"0x8456cb59",
"0x8456cb590000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 5149,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5323,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5700,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 3,
"guards_detected": [
{
"pc": 5998,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x9e2bad97e15025beeb462cf18c91819fd4f847abb8112676e5492b2802f6e478
call_targets:
0xa6cd930fc92f1634d8183af2fb86bd1766f2f82a
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x9e2bad97e15025beeb462cf18c91819fd4f847abb8112676e5492b2802f6e478",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xa6cd930fc92f1634d8183af2fb86bd1766f2f82a"
],
"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": "0xa96a5f94",
"selector": "0xa96a5f94",
"calldata_variants": [
"0xa96a5f94",
"0xa96a5f940000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbfa2c1d2",
"selector": "0xbfa2c1d2",
"calldata_variants": [
"0xbfa2c1d2",
"0xbfa2c1d20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc108bb40",
"selector": "0xc108bb40",
"calldata_variants": [
"0xc108bb40",
"0xc108bb400000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcafd4600",
"selector": "0xcafd4600",
"calldata_variants": [
"0xcafd4600",
"0xcafd46000000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd68d9d4e",
"selector": "0xd68d9d4e",
"calldata_variants": [
"0xd68d9d4e",
"0xd68d9d4e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x80ba952e",
"selector": "0x80ba952e",
"calldata_variants": [
"0x80ba952e",
"0x80ba952e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x82dc1ec4",
"selector": "0x82dc1ec4",
"calldata_variants": [
"0x82dc1ec4",
"0x82dc1ec40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8456cb59",
"selector": "0x8456cb59",
"calldata_variants": [
"0x8456cb59",
"0x8456cb590000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 5149,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5323,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5700,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 3,
"guards_detected": [
{
"pc": 5998,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 3
}
|