7761209d-0740-4ab0-bed1-96f5d04ad683
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 |
|---|---|---|---|---|
| 31209 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 95065 | artifact.fetch | failed | 1 / 3 | 2 weeks ago |
| 95066 | tool.cast_disasm | complete | 1 / 3 | 2 weeks ago |
| 95067 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 95068 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 95069 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 95070 | validation.fork | complete | 1 / 3 | 2 weeks ago |
No slither job recorded yet.
[codex:254808] OpenAI Codex v0.77.0 (research preview)
[codex:254808] --------
[codex:254808] workdir: /tmp/codex-multi-9pnsufce
[codex:254808] model: gpt-5.2-codex
[codex:254808] provider: openai
[codex:254808] approval: never
[codex:254808] sandbox: read-only
[codex:254808] reasoning effort: xhigh
[codex:254808] reasoning summaries: auto
[codex:254808] session id: 019b7cd4-d83a-7360-a971-60a445353287
[codex:254808] --------
[codex:254808] user
[codex:254808] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:254808]
[codex:254808] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:254808]
[codex:254808] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:254808] - Gas inefficiency, code quality, naming, or best practices
[codex:254808] - Theoretical vulnerabilities without a clear extraction path
[codex:254808] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:254808] - Front-running unless it enables theft beyond MEV
[codex:254808] - DoS, griefing, or issues that don't result in attacker profit
[codex:254808] - Missing events, view function issues, or informational findings
[codex:254808]
[codex:254808] HIGH-VALUE PATTERNS TO HUNT:
[codex:254808] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:254808] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:254808] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:254808] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:254808] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:254808] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:254808] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:254808] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:254808] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:254808]
[codex:254808] For each finding, you MUST provide:
[codex:254808] 1. Exact file and line numbers of vulnerable code
[codex:254808] 2. Step-by-step exploit transaction sequence
[codex:254808] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:254808]
[codex:254808] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:254808]
[codex:254808] Output MUST be valid JSON matching the provided schema.
[codex:254808] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:254808] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:254808] mcp startup: no servers
[codex:254808]
[codex:254808] thinking
[codex:254808] **Preparing to read audit file**
[codex:254808] exec
[codex:254808] /bin/bash -lc ls in /tmp/codex-multi-9pnsufce succeeded in 5ms:
[codex:254808] AUDIT_BUNDLE.txt
[codex:254808] codex-output-schema.json
[codex:254808] contracts
[codex:254808] exec
[codex:254808] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-9pnsufce succeeded in 5ms:
[codex:254808] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:254808]
[codex:254808] ================================================================================
[codex:254808] FILE: contracts/Contract.sol
[codex:254808] ================================================================================
[codex:254808] pragma solidity ^0.4.11;
[codex:254808]
[codex:254808]
[codex:254808] /// @title Multisignature wallet - Allows multiple parties to agree on transactions before execution
[codex:254808] /// @author Stefan George - <stefan@gnosis.pm>
[codex:254808] contract MultiSigWallet {
[codex:254808]
[codex:254808] /*
[codex:254808] * Events
[codex:254808] */
[codex:254808] event Confirmation(address indexed sender, uint indexed transactionId);
[codex:254808] event Revocation(address indexed sender, uint indexed transactionId);
[codex:254808] event Submission(uint indexed transactionId);
[codex:254808] event Execution(uint indexed transactionId);
[codex:254808] event ExecutionFailure(uint indexed transactionId);
[codex:254808]
[codex:254808] thinking
[codex:254808] **Analyzing multisig security**
[codex:254808] codex
[codex:254808] {"no_findings":true,"summary":"No concrete exploit paths to extract value found in the provided first-party source.","findings":[]}
[codex:254808] tokens used
[codex:254808] 9,871
[codex:254808] {"no_findings":true,"summary":"No concrete exploit paths to extract value found in the provided first-party source.","findings":[]}
{
"codex": {
"ran_at": "2026-01-02T03:52:11.870012+00:00",
"returncode": 0
},
"summary": "No concrete exploit paths to extract value found in the provided first-party source.",
"raw_final": {
"summary": "No concrete exploit paths to extract value found in the provided first-party source.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x011d 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000002e: SWAP1 0000002f: DIV 00000030: PUSH4 0xffffffff 00000035: AND 00000036: DUP1 00000037: PUSH4 0x025e7c27 0000003c: EQ 0000003d: PUSH2 0x0177 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0x173825d9 00000047: EQ 00000048: PUSH2 0x01da 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0x20ea8d86 00000052: EQ 00000053: PUSH2 0x0213 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0x2f54bf6e 0000005d: EQ 0000005e: PUSH2 0x0236 00000061: JUMPI 00000062: DUP1 00000063: PUSH4 0x3411c81c 00000068: EQ 00000069: PUSH2 0x0287 0000006c: JUMPI 0000006d: DUP1 0000006e: PUSH4 0x54741525 00000073: EQ 00000074: PUSH2 0x02e1 00000077: JUMPI 00000078: DUP1 00000079: PUSH4 0x7065cb48 0000007e: EQ 0000007f: PUSH2 0x0325 00000082: JUMPI 00000083: DUP1 00000084: PUSH4 0x784547a7 00000089: EQ 0000008a: PUSH2 0x035e 0000008d: JUMPI 0000008e: DUP1 0000008f: PUSH4 0x8b51d13f 00000094: EQ 00000095: PUSH2 0x0399 00000098: JUMPI 00000099: DUP1 0000009a: PUSH4 0x9ace38c2 0000009f: EQ 000000a0: PUSH2 0x03d0 000000a3: JUMPI 000000a4: DUP1 000000a5: PUSH4 0xa0e67e2b 000000aa: EQ 000000ab: PUSH2 0x04ce 000000ae: JUMPI 000000af: DUP1 000000b0: PUSH4 0xa8abe69a 000000b5: EQ 000000b6: PUSH2 0x0538 000000b9: JUMPI 000000ba: DUP1 000000bb: PUSH4 0xb5dc40c3 000000c0: EQ 000000c1: PUSH2 0x05cf 000000c4: JUMPI 000000c5: DUP1 000000c6: PUSH4 0xb77bf600 000000cb: EQ 000000cc: PUSH2 0x0647 000000cf: JUMPI 000000d0: DUP1 000000d1: PUSH4 0xba51a6df 000000d6: EQ 000000d7: PUSH2 0x0670 000000da: JUMPI 000000db: DUP1 000000dc: PUSH4 0xc01a8c84 000000e1: EQ 000000e2: PUSH2 0x0693 000000e5: JUMPI 000000e6: DUP1 000000e7: PUSH4 0xc6427474 000000ec: EQ 000000ed: PUSH2 0x06b6 000000f0: JUMPI 000000f1: DUP1 000000f2: PUSH4 0xd74f8edd 000000f7: EQ 000000f8: PUSH2 0x074f 000000fb: JUMPI 000000fc: DUP1 000000fd: PUSH4 0xdc8452cd 00000102: EQ 00000103: PUSH2 0x0778 00000106: JUMPI 00000107: DUP1 00000108: PUSH4 0xe20056e6 0000010d: EQ 0000010e: PUSH2 0x07a1 00000111: JUMPI 00000112: DUP1 00000113: PUSH4 0xee22610b 00000118: EQ 00000119: PUSH2 0x07f9 0000011c: JUMPI 0000011d: JUMPDEST 0000011e: PUSH1 0x00 00000120: CALLVALUE 00000121: GT 00000122: ISZERO 00000123: PUSH2 0x0175 00000126: JUMPI 00000127: CALLER 00000128: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000013d: AND 0000013e: PUSH32 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c 0000015f: CALLVALUE 00000160: PUSH1 0x40 00000162: MLOAD 00000163: DUP1 00000164: DUP3 00000165: DUP2 00000166: MSTORE 00000167: PUSH1 0x20 00000169: ADD 0000016a: SWAP2 0000016b: POP 0000016c: POP 0000016d: PUSH1 0x40 0000016f: MLOAD 00000170: DUP1 00000171: SWAP2 00000172: SUB 00000173: SWAP1 00000174: LOG2 00000175: JUMPDEST 00000176: STOP 00000177: JUMPDEST 00000178: CALLVALUE 00000179: ISZERO 0000017a: PUSH2 0x0182 0000017d: JUMPI 0000017e: PUSH1 0x00 00000180: DUP1 00000181: REVERT 00000182: JUMPDEST 00000183: PUSH2 0x0198 00000186: PUSH1 0x04 00000188: DUP1 00000189: DUP1 0000018a: CALLDATALOAD 0000018b: SWAP1 0000018c: PUSH1 0x20 0000018e: ADD 0000018f: SWAP1 00000190: SWAP2 00000191: SWAP1 00000192: POP 00000193: POP 00000194: PUSH2 0x081c 00000197: JUMP 00000198: JUMPDEST 00000199: PUSH1 0x40 0000019b: MLOAD 0000019c: DUP1 0000019d: DUP3 0000019e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001b3: AND 000001b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001c9: AND 000001ca: DUP2 000001cb: MSTORE 000001cc: PUSH1 0x20 000001ce: ADD 000001cf: SWAP2 000001d0: POP 000001d1: POP 000001d2: PUSH1 0x40 000001d4: MLOAD 000001d5: DUP1 000001d6: SWAP2 000001d7: SUB 000001d8: SWAP1 000001d9: RETURN 000001da: JUMPDEST 000001db: CALLVALUE 000001dc: ISZERO 000001dd: PUSH2 0x01e5 000001e0: JUMPI 000001e1: PUSH1 0x00 000001e3: DUP1 000001e4: REVERT 000001e5: JUMPDEST 000001e6: PUSH2 0x0211 000001e9: PUSH1 0x04 000001eb: DUP1 000001ec: DUP1 000001ed: CALLDATALOAD 000001ee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000203: AND 00000204: SWAP1 00000205: PUSH1 0x20 00000207: ADD 00000208: SWAP1 00000209: SWAP2 0000020a: SWAP1 0000020b: POP 0000020c: POP 0000020d: PUSH2 0x085b 00000210: JUMP 00000211: JUMPDEST 00000212: STOP 00000213: JUMPDEST 00000214: CALLVALUE 00000215: ISZERO 00000216: PUSH2 0x021e 00000219: JUMPI 0000021a: PUSH1 0x00 0000021c: DUP1 0000021d: REVERT 0000021e: JUMPDEST 0000021f: PUSH2 0x0234 00000222: PUSH1 0x04 00000224: DUP1 00000225: DUP1 00000226: CALLDATALOAD 00000227: SWAP1 00000228: PUSH1 0x20 0000022a: ADD 0000022b: SWAP1 0000022c: SWAP2 0000022d: SWAP1 0000022e: POP 0000022f: POP 00000230: PUSH2 0x0af7 00000233: JUMP 00000234: JUMPDEST 00000235: STOP 00000236: JUMPDEST 00000237: CALLVALUE 00000238: ISZERO 00000239: PUSH2 0x0241 0000023c: JUMPI 0000023d: PUSH1 0x00 0000023f: DUP1 00000240: REVERT 00000241: JUMPDEST 00000242: PUSH2 0x026d 00000245: PUSH1 0x04 00000247: DUP1 00000248: DUP1 00000249: CALLDATALOAD 0000024a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000025f: AND 00000260: SWAP1 00000261: PUSH1 0x20 00000263: ADD 00000264: SWAP1 00000265: SWAP2 00000266: SWAP1 00000267: POP 00000268: POP 00000269: PUSH2 0x0c9d 0000026c: JUMP 0000026d: JUMPDEST 0000026e: PUSH1 0x40 00000270: MLOAD 00000271: DUP1 00000272: DUP3 00000273: ISZERO 00000274: ISZERO 00000275: ISZERO 00000276: ISZERO 00000277: DUP2 00000278: MSTORE 00000279: PUSH1 0x20 0000027b: ADD 0000027c: SWAP2 0000027d: POP 0000027e: POP 0000027f: PUSH1 0x40 00000281: MLOAD 00000282: DUP1 00000283: SWAP2 00000284: SUB 00000285: SWAP1 00000286: RETURN 00000287: JUMPDEST 00000288: CALLVALUE 00000289: ISZERO 0000028a: PUSH2 0x0292 0000028d: JUMPI 0000028e: PUSH1 0x00 00000290: DUP1 00000291: REVERT 00000292: JUMPDEST 00000293: PUSH2 0x02c7 00000296: PUSH1 0x04 00000298: DUP1 00000299: DUP1 0000029a: CALLDATALOAD 0000029b: SWAP1 0000029c: PUSH1 0x20 0000029e: ADD 0000029f: SWAP1 000002a0: SWAP2 000002a1: SWAP1 000002a2: DUP1 000002a3: CALLDATALOAD 000002a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002b9: AND 000002ba: SWAP1 000002bb: PUSH1 0x20 000002bd: ADD 000002be: SWAP1 000002bf: SWAP2 000002c0: SWAP1 000002c1: POP 000002c2: POP 000002c3: PUSH2 0x0cbd 000002c6: JUMP 000002c7: JUMPDEST 000002c8: PUSH1 0x40 000002ca: MLOAD 000002cb: DUP1 000002cc: DUP3 000002cd: ISZERO 000002ce: ISZERO 000002cf: ISZERO 000002d0: ISZERO 000002d1: DUP2 000002d2: MSTORE 000002d3: PUSH1 0x20 000002d5: ADD 000002d6: SWAP2 000002d7: POP 000002d8: POP 000002d9: PUSH1 0x40 000002db: MLOAD 000002dc: DUP1 000002dd: SWAP2 000002de: SUB 000002df: SWAP1 000002e0: RETURN 000002e1: JUMPDEST 000002e2: CALLVALUE 000002e3: ISZERO 000002e4: PUSH2 0x02ec 000002e7: JUMPI 000002e8: PUSH1 0x00 000002ea: DUP1 000002eb: REVERT 000002ec: JUMPDEST 000002ed: PUSH2 0x030f 000002f0: PUSH1 0x04 000002f2: DUP1 000002f3: DUP1 000002f4: CALLDATALOAD 000002f5: ISZERO 000002f6: ISZERO 000002f7: SWAP1 000002f8: PUSH1 0x20 000002fa: ADD 000002fb: SWAP1 000002fc: SWAP2 000002fd: SWAP1 000002fe: DUP1 000002ff: CALLDATALOAD 00000300: ISZERO 00000301: ISZERO 00000302: SWAP1 00000303: PUSH1 0x20 00000305: ADD 00000306: SWAP1 00000307: SWAP2 00000308: SWAP1 00000309: POP 0000030a: POP 0000030b: PUSH2 0x0cec 0000030e: JUMP 0000030f: JUMPDEST 00000310: PUSH1 0x40 00000312: MLOAD 00000313: DUP1 00000314: DUP3 00000315: DUP2 00000316: MSTORE 00000317: PUSH1 0x20 00000319: ADD 0000031a: SWAP2 0000031b: POP 0000031c: POP 0000031d: PUSH1 0x40 0000031f: MLOAD 00000320: DUP1 00000321: SWAP2 00000322: SUB 00000323: SWAP1 00000324: RETURN 00000325: JUMPDEST 00000326: CALLVALUE 00000327: ISZERO 00000328: PUSH2 0x0330 0000032b: JUMPI 0000032c: PUSH1 0x00 0000032e: DUP1 0000032f: REVERT 00000330: JUMPDEST 00000331: PUSH2 0x035c 00000334: PUSH1 0x04 00000336: DUP1 00000337: DUP1 00000338: CALLDATALOAD 00000339: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000034e: AND 0000034f: SWAP1 00000350: PUSH1 0x20 00000352: ADD 00000353: SWAP1 00000354: SWAP2 00000355: SWAP1 00000356: POP 00000357: POP 00000358: PUSH2 0x0d7e 0000035b: JUMP 0000035c: JUMPDEST 0000035d: STOP 0000035e: JUMPDEST 0000035f: CALLVALUE 00000360: ISZERO 00000361: PUSH2 0x0369 00000364: JUMPI 00000365: PUSH1 0x00 00000367: DUP1 00000368: REVERT 00000369: JUMPDEST 0000036a: PUSH2 0x037f 0000036d: PUSH1 0x04 0000036f: DUP1 00000370: DUP1 00000371: CALLDATALOAD 00000372: SWAP1 00000373: PUSH1 0x20 00000375: ADD 00000376: SWAP1 00000377: SWAP2 00000378: SWAP1 00000379: POP 0000037a: POP 0000037b: PUSH2 0x0f74 0000037e: JUMP 0000037f: JUMPDEST 00000380: PUSH1 0x40 00000382: MLOAD 00000383: DUP1 00000384: DUP3 00000385: ISZERO 00000386: ISZERO 00000387: ISZERO 00000388: ISZERO 00000389: DUP2 0000038a: MSTORE 0000038b: PUSH1 0x20 0000038d: ADD 0000038e: SWAP2 0000038f: POP 00000390: POP 00000391: PUSH1 0x40 00000393: MLOAD 00000394: DUP1 00000395: SWAP2 00000396: SUB 00000397: SWAP1 00000398: RETURN 00000399: JUMPDEST 0000039a: CALLVALUE 0000039b: ISZERO 0000039c: PUSH2 0x03a4 0000039f: JUMPI 000003a0: PUSH1 0x00 000003a2: DUP1 000003a3: REVERT 000003a4: JUMPDEST 000003a5: PUSH2 0x03ba 000003a8: PUSH1 0x04 000003aa: DUP1 000003ab: DUP1 000003ac: CALLDATALOAD 000003ad: SWAP1 000003ae: PUSH1 0x20 000003b0: ADD 000003b1: SWAP1 000003b2: SWAP2 000003b3: SWAP1 000003b4: POP 000003b5: POP 000003b6: PUSH2 0x105a 000003b9: JUMP 000003ba: JUMPDEST 000003bb: PUSH1 0x40 000003bd: MLOAD 000003be: DUP1 000003bf: DUP3 000003c0: DUP2 000003c1: MSTORE 000003c2: PUSH1 0x20 000003c4: ADD 000003c5: SWAP2 000003c6: POP 000003c7: POP 000003c8: PUSH1 0x40 000003ca: MLOAD 000003cb: DUP1 000003cc: SWAP2 000003cd: SUB 000003ce: SWAP1 000003cf: RETURN 000003d0: JUMPDEST 000003d1: CALLVALUE 000003d2: ISZERO 000003d3: PUSH2 0x03db 000003d6: JUMPI 000003d7: PUSH1 0x00 000003d9: DUP1 000003da: REVERT 000003db: JUMPDEST 000003dc: PUSH2 0x03f1 000003df: PUSH1 0x04 000003e1: DUP1 000003e2: DUP1 000003e3: CALLDATALOAD 000003e4: SWAP1 000003e5: PUSH1 0x20 000003e7: ADD 000003e8: SWAP1 000003e9: SWAP2 000003ea: SWAP1 000003eb: POP 000003ec: POP 000003ed: PUSH2 0x1126 000003f0: JUMP 000003f1: JUMPDEST 000003f2: PUSH1 0x40 000003f4: MLOAD 000003f5: DUP1 000003f6: DUP6 000003f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000040c: AND 0000040d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000422: AND 00000423: DUP2 00000424: MSTORE 00000425: PUSH1 0x20 00000427: ADD 00000428: DUP5 00000429: DUP2 0000042a: MSTORE 0000042b: PUSH1 0x20 0000042d: ADD 0000042e: DUP1 0000042f: PUSH1 0x20 00000431: ADD 00000432: DUP4 00000433: ISZERO 00000434: ISZERO 00000435: ISZERO 00000436: ISZERO 00000437: DUP2 00000438: MSTORE 00000439: PUSH1 0x20 0000043b: ADD 0000043c: DUP3 0000043d: DUP2 0000043e: SUB 0000043f: DUP3 00000440: MSTORE 00000441: DUP5 00000442: DUP2 00000443: DUP2 00000444: SLOAD 00000445: PUSH1 0x01 00000447: DUP2 00000448: PUSH1 0x01 0000044a: AND 0000044b: ISZERO 0000044c: PUSH2 0x0100 0000044f: MUL 00000450: SUB 00000451: AND 00000452: PUSH1 0x02 00000454: SWAP1 00000455: DIV 00000456: DUP2 00000457: MSTORE 00000458: PUSH1 0x20 0000045a: ADD 0000045b: SWAP2 0000045c: POP 0000045d: DUP1 0000045e: SLOAD 0000045f: PUSH1 0x01 00000461: DUP2 00000462: PUSH1 0x01 00000464: AND 00000465: ISZERO 00000466: PUSH2 0x0100 00000469: MUL 0000046a: SUB 0000046b: AND 0000046c: PUSH1 0x02 0000046e: SWAP1 0000046f: DIV 00000470: DUP1 00000471: ISZERO 00000472: PUSH2 0x04bc 00000475: JUMPI 00000476: DUP1 00000477: PUSH1 0x1f 00000479: LT 0000047a: PUSH2 0x0491 0000047d: JUMPI 0000047e: PUSH2 0x0100 00000481: DUP1 00000482: DUP4 00000483: SLOAD 00000484: DIV 00000485: MUL 00000486: DUP4 00000487: MSTORE 00000488: SWAP2 00000489: PUSH1 0x20 0000048b: ADD 0000048c: SWAP2 0000048d: PUSH2 0x04bc 00000490: JUMP 00000491: JUMPDEST 00000492: DUP3 00000493: ADD 00000494: SWAP2 00000495: SWAP1 00000496: PUSH1 0x00 00000498: MSTORE 00000499: PUSH1 0x20 0000049b: PUSH1 0x00 0000049d: KECCAK256 0000049e: SWAP1 0000049f: JUMPDEST 000004a0: DUP2 000004a1: SLOAD 000004a2: DUP2 000004a3: MSTORE 000004a4: SWAP1 000004a5: PUSH1 0x01 000004a7: ADD 000004a8: SWAP1 000004a9: PUSH1 0x20 000004ab: ADD 000004ac: DUP1 000004ad: DUP4 000004ae: GT 000004af: PUSH2 0x049f 000004b2: JUMPI 000004b3: DUP3 000004b4: SWAP1 000004b5: SUB 000004b6: PUSH1 0x1f 000004b8: AND 000004b9: DUP3 000004ba: ADD 000004bb: SWAP2 000004bc: JUMPDEST 000004bd: POP 000004be: POP 000004bf: SWAP6 000004c0: POP 000004c1: POP 000004c2: POP 000004c3: POP 000004c4: POP 000004c5: POP 000004c6: PUSH1 0x40 000004c8: MLOAD 000004c9: DUP1 000004ca: SWAP2 000004cb: SUB 000004cc: SWAP1 000004cd: RETURN 000004ce: JUMPDEST 000004cf: CALLVALUE 000004d0: ISZERO 000004d1: PUSH2 0x04d9 000004d4: JUMPI 000004d5: PUSH1 0x00 000004d7: DUP1 000004d8: REVERT 000004d9: JUMPDEST 000004da: PUSH2 0x04e1 000004dd: PUSH2 0x1182 000004e0: JUMP 000004e1: JUMPDEST 000004e2: PUSH1 0x40 000004e4: MLOAD 000004e5: DUP1 000004e6: DUP1 000004e7: PUSH1 0x20 000004e9: ADD 000004ea: DUP3 000004eb: DUP2 000004ec: SUB 000004ed: DUP3 000004ee: MSTORE 000004ef: DUP4 000004f0: DUP2 000004f1: DUP2 000004f2: MLOAD 000004f3: DUP2 000004f4: MSTORE 000004f5: PUSH1 0x20 000004f7: ADD 000004f8: SWAP2 000004f9: POP 000004fa: DUP1 000004fb: MLOAD 000004fc: SWAP1 000004fd: PUSH1 0x20 000004ff: ADD 00000500: SWAP1 00000501: PUSH1 0x20 00000503: MUL 00000504: DUP1 00000505: DUP4 00000506: DUP4 00000507: PUSH1 0x00 00000509: JUMPDEST 0000050a: DUP4 0000050b: DUP2 0000050c: LT 0000050d: ISZERO 0000050e: PUSH2 0x0524 00000511: JUMPI 00000512: DUP1 00000513: DUP3 00000514: ADD 00000515: MLOAD 00000516: DUP2 00000517: DUP5 00000518: ADD 00000519: MSTORE 0000051a: PUSH1 0x20 0000051c: DUP2 0000051d: ADD 0000051e: SWAP1 0000051f: POP 00000520: PUSH2 0x0509 00000523: JUMP 00000524: JUMPDEST 00000525: POP 00000526: POP 00000527: POP 00000528: POP 00000529: SWAP1 0000052a: POP 0000052b: ADD 0000052c: SWAP3 0000052d: POP 0000052e: POP 0000052f: POP 00000530: PUSH1 0x40 00000532: MLOAD 00000533: DUP1 00000534: SWAP2 00000535: SUB 00000536: SWAP1 00000537: RETURN 00000538: JUMPDEST 00000539: CALLVALUE 0000053a: ISZERO 0000053b: PUSH2 0x0543 0000053e: JUMPI 0000053f: PUSH1 0x00 00000541: DUP1 00000542: REVERT 00000543: JUMPDEST 00000544: PUSH2 0x0578 00000547: PUSH1 0x04 00000549: DUP1 0000054a: DUP1 0000054b: CALLDATALOAD 0000054c: SWAP1 0000054d: PUSH1 0x20 0000054f: ADD 00000550: SWAP1 00000551: SWAP2 00000552: SWAP1 00000553: DUP1 00000554: CALLDATALOAD 00000555: SWAP1 00000556: PUSH1 0x20 00000558: ADD 00000559: SWAP1 0000055a: SWAP2 0000055b: SWAP1 0000055c: DUP1 0000055d: CALLDATALOAD 0000055e: ISZERO 0000055f: ISZERO 00000560: SWAP1 00000561: PUSH1 0x20 00000563: ADD 00000564: SWAP1 00000565: SWAP2 00000566: SWAP1 00000567: DUP1 00000568: CALLDATALOAD 00000569: ISZERO 0000056a: ISZERO 0000056b: SWAP1 0000056c: PUSH1 0x20 0000056e: ADD 0000056f: SWAP1 00000570: SWAP2 00000571: SWAP1 00000572: POP 00000573: POP 00000574: PUSH2 0x1216 00000577: JUMP 00000578: JUMPDEST 00000579: PUSH1 0x40 0000057b: MLOAD 0000057c: DUP1 0000057d: DUP1 0000057e: PUSH1 0x20 00000580: ADD 00000581: DUP3 00000582: DUP2 00000583: SUB 00000584: DUP3 00000585: MSTORE 00000586: DUP4 00000587: DUP2 00000588: DUP2 00000589: MLOAD 0000058a: DUP2 0000058b: MSTORE 0000058c: PUSH1 0x20 0000058e: ADD 0000058f: SWAP2 00000590: POP 00000591: DUP1 00000592: MLOAD 00000593: SWAP1 00000594: PUSH1 0x20 00000596: ADD 00000597: SWAP1 00000598: PUSH1 0x20 0000059a: MUL 0000059b: DUP1 0000059c: DUP4 0000059d: DUP4 0000059e: PUSH1 0x00 000005a0: JUMPDEST 000005a1: DUP4 000005a2: DUP2 000005a3: LT 000005a4: ISZERO 000005a5: PUSH2 0x05bb 000005a8: JUMPI 000005a9: DUP1 000005aa: DUP3 000005ab: ADD 000005ac: MLOAD 000005ad: DUP2 000005ae: DUP5 000005af: ADD 000005b0: MSTORE 000005b1: PUSH1 0x20 000005b3: DUP2 000005b4: ADD 000005b5: SWAP1 000005b6: POP 000005b7: PUSH2 0x05a0 000005ba: JUMP 000005bb: JUMPDEST 000005bc: POP 000005bd: POP 000005be: POP 000005bf: POP 000005c0: SWAP1 000005c1: POP 000005c2: ADD 000005c3: SWAP3 000005c4: POP 000005c5: POP 000005c6: POP 000005c7: PUSH1 0x40 000005c9: MLOAD 000005ca: DUP1 000005cb: SWAP2 000005cc: SUB 000005cd: SWAP1 000005ce: RETURN 000005cf: JUMPDEST 000005d0: CALLVALUE 000005d1: ISZERO 000005d2: PUSH2 0x05da 000005d5: JUMPI 000005d6: PUSH1 0x00 000005d8: DUP1 000005d9: REVERT 000005da: JUMPDEST 000005db: PUSH2 0x05f0 000005de: PUSH1 0x04 000005e0: DUP1 000005e1: DUP1 000005e2: CALLDATALOAD 000005e3: SWAP1 000005e4: PUSH1 0x20 000005e6: ADD 000005e7: SWAP1 000005e8: SWAP2 000005e9: SWAP1 000005ea: POP 000005eb: POP 000005ec: PUSH2 0x1372 000005ef: JUMP 000005f0: JUMPDEST 000005f1: PUSH1 0x40 000005f3: MLOAD 000005f4: DUP1 000005f5: DUP1 000005f6: PUSH1 0x20 000005f8: ADD 000005f9: DUP3 000005fa: DUP2 000005fb: SUB 000005fc: DUP3 000005fd: MSTORE 000005fe: DUP4 000005ff: DUP2 00000600: DUP2 00000601: MLOAD 00000602: DUP2 00000603: MSTORE 00000604: PUSH1 0x20 00000606: ADD 00000607: SWAP2 00000608: POP 00000609: DUP1 0000060a: MLOAD 0000060b: SWAP1 0000060c: PUSH1 0x20 0000060e: ADD 0000060f: SWAP1 00000610: PUSH1 0x20 00000612: MUL 00000613: DUP1 00000614: DUP4 00000615: DUP4 00000616: PUSH1 0x00 00000618: JUMPDEST 00000619: DUP4 0000061a: DUP2 0000061b: LT 0000061c: ISZERO 0000061d: PUSH2 0x0633 00000620: JUMPI 00000621: DUP1 00000622: DUP3 00000623: ADD 00000624: MLOAD 00000625: DUP2 00000626: DUP5 00000627: ADD 00000628: MSTORE 00000629: PUSH1 0x20 0000062b: DUP2 0000062c: ADD 0000062d: SWAP1 0000062e: POP 0000062f: PUSH2 0x0618 00000632: JUMP 00000633: JUMPDEST 00000634: POP 00000635: POP 00000636: POP 00000637: POP 00000638: SWAP1 00000639: POP 0000063a: ADD 0000063b: SWAP3 0000063c: POP 0000063d: POP 0000063e: POP 0000063f: PUSH1 0x40 00000641: MLOAD 00000642: DUP1 00000643: SWAP2 00000644: SUB 00000645: SWAP1 00000646: RETURN 00000647: JUMPDEST 00000648: CALLVALUE 00000649: ISZERO 0000064a: PUSH2 0x0652 0000064d: JUMPI 0000064e: PUSH1 0x00 00000650: DUP1 00000651: REVERT 00000652: JUMPDEST 00000653: PUSH2 0x065a 00000656: PUSH2 0x159c 00000659: JUMP 0000065a: JUMPDEST 0000065b: PUSH1 0x40 0000065d: MLOAD 0000065e: DUP1 0000065f: DUP3 00000660: DUP2 00000661: MSTORE 00000662: PUSH1 0x20 00000664: ADD 00000665: SWAP2 00000666: POP 00000667: POP 00000668: PUSH1 0x40 0000066a: MLOAD 0000066b: DUP1 0000066c: SWAP2 0000066d: SUB 0000066e: SWAP1 0000066f: RETURN 00000670: JUMPDEST 00000671: CALLVALUE 00000672: ISZERO 00000673: PUSH2 0x067b 00000676: JUMPI 00000677: PUSH1 0x00 00000679: DUP1 0000067a: REVERT 0000067b: JUMPDEST 0000067c: PUSH2 0x0691 0000067f: PUSH1 0x04 00000681: DUP1 00000682: DUP1 00000683: CALLDATALOAD 00000684: SWAP1 00000685: PUSH1 0x20 00000687: ADD 00000688: SWAP1 00000689: SWAP2 0000068a: SWAP1 0000068b: POP 0000068c: POP 0000068d: PUSH2 0x15a2 00000690: JUMP 00000691: JUMPDEST 00000692: STOP 00000693: JUMPDEST 00000694: CALLVALUE 00000695: ISZERO 00000696: PUSH2 0x069e 00000699: JUMPI 0000069a: PUSH1 0x00 0000069c: DUP1 0000069d: REVERT 0000069e: JUMPDEST 0000069f: PUSH2 0x06b4 000006a2: PUSH1 0x04 000006a4: DUP1 000006a5: DUP1 000006a6: CALLDATALOAD 000006a7: SWAP1 000006a8: PUSH1 0x20 000006aa: ADD 000006ab: SWAP1 000006ac: SWAP2 000006ad: SWAP1 000006ae: POP 000006af: POP 000006b0: PUSH2 0x1654 000006b3: JUMP 000006b4: JUMPDEST 000006b5: STOP 000006b6: JUMPDEST 000006b7: CALLVALUE 000006b8: ISZERO 000006b9: PUSH2 0x06c1 000006bc: JUMPI 000006bd: PUSH1 0x00 000006bf: DUP1 000006c0: REVERT 000006c1: JUMPDEST 000006c2: PUSH2 0x0739 000006c5: PUSH1 0x04 000006c7: DUP1 000006c8: DUP1 000006c9: CALLDATALOAD 000006ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006df: AND 000006e0: SWAP1 000006e1: PUSH1 0x20 000006e3: ADD 000006e4: SWAP1 000006e5: SWAP2 000006e6: SWAP1 000006e7: DUP1 000006e8: CALLDATALOAD 000006e9: SWAP1 000006ea: PUSH1 0x20 000006ec: ADD 000006ed: SWAP1 000006ee: SWAP2 000006ef: SWAP1 000006f0: DUP1 000006f1: CALLDATALOAD 000006f2: SWAP1 000006f3: PUSH1 0x20 000006f5: ADD 000006f6: SWAP1 000006f7: DUP3 000006f8: ADD 000006f9: DUP1 000006fa: CALLDATALOAD 000006fb: SWAP1 000006fc: PUSH1 0x20 000006fe: ADD 000006ff: SWAP1 00000700: DUP1 00000701: DUP1 00000702: PUSH1 0x1f 00000704: ADD 00000705: PUSH1 0x20 00000707: DUP1 00000708: SWAP2 00000709: DIV 0000070a: MUL 0000070b: PUSH1 0x20 0000070d: ADD 0000070e: PUSH1 0x40 00000710: MLOAD 00000711: SWAP1 00000712: DUP2 00000713: ADD 00000714: PUSH1 0x40 00000716: MSTORE 00000717: DUP1 00000718: SWAP4 00000719: SWAP3 0000071a: SWAP2 0000071b: SWAP1 0000071c: DUP2 0000071d: DUP2 0000071e: MSTORE 0000071f: PUSH1 0x20 00000721: ADD 00000722: DUP4 00000723: DUP4 00000724: DUP1 00000725: DUP3 00000726: DUP5 00000727: CALLDATACOPY 00000728: DUP3 00000729: ADD 0000072a: SWAP2 0000072b: POP 0000072c: POP 0000072d: POP 0000072e: POP 0000072f: POP 00000730: POP 00000731: SWAP2 00000732: SWAP1 00000733: POP 00000734: POP 00000735: PUSH2 0x183c 00000738: JUMP 00000739: JUMPDEST 0000073a: PUSH1 0x40 0000073c: MLOAD 0000073d: DUP1 0000073e: DUP3 0000073f: DUP2 00000740: MSTORE 00000741: PUSH1 0x20 00000743: ADD 00000744: SWAP2 00000745: POP 00000746: POP 00000747: PUSH1 0x40 00000749: MLOAD 0000074a: DUP1 0000074b: SWAP2 0000074c: SUB 0000074d: SWAP1 0000074e: RETURN 0000074f: JUMPDEST 00000750: CALLVALUE 00000751: ISZERO 00000752: PUSH2 0x075a 00000755: JUMPI 00000756: PUSH1 0x00 00000758: DUP1 00000759: REVERT 0000075a: JUMPDEST 0000075b: PUSH2 0x0762 0000075e: PUSH2 0x185b 00000761: JUMP 00000762: JUMPDEST 00000763: PUSH1 0x40 00000765: MLOAD 00000766: DUP1 00000767: DUP3 00000768: DUP2 00000769: MSTORE 0000076a: PUSH1 0x20 0000076c: ADD 0000076d: SWAP2 0000076e: POP 0000076f: POP 00000770: PUSH1 0x40 00000772: MLOAD 00000773: DUP1 00000774: SWAP2 00000775: SUB 00000776: SWAP1 00000777: RETURN 00000778: JUMPDEST 00000779: CALLVALUE 0000077a: ISZERO 0000077b: PUSH2 0x0783 0000077e: JUMPI 0000077f: PUSH1 0x00 00000781: DUP1 00000782: REVERT 00000783: JUMPDEST 00000784: PUSH2 0x078b 00000787: PUSH2 0x1860 0000078a: JUMP 0000078b: JUMPDEST 0000078c: PUSH1 0x40 0000078e: MLOAD 0000078f: DUP1 00000790: DUP3 00000791: DUP2 00000792: MSTORE 00000793: PUSH1 0x20 00000795: ADD 00000796: SWAP2 00000797: POP 00000798: POP 00000799: PUSH1 0x40 0000079b: MLOAD 0000079c: DUP1 0000079d: SWAP2 0000079e: SUB 0000079f: SWAP1 000007a0: RETURN 000007a1: JUMPDEST 000007a2: CALLVALUE 000007a3: ISZERO 000007a4: PUSH2 0x07ac 000007a7: JUMPI 000007a8: PUSH1 0x00 000007aa: DUP1 000007ab: REVERT 000007ac: JUMPDEST 000007ad: PUSH2 0x07f7 000007b0: PUSH1 0x04 000007b2: DUP1 000007b3: DUP1 000007b4: CALLDATALOAD 000007b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007ca: AND 000007cb: SWAP1 000007cc: PUSH1 0x20 000007ce: ADD 000007cf: SWAP1 000007d0: SWAP2 000007d1: SWAP1 000007d2: DUP1 000007d3: CALLDATALOAD 000007d4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007e9: AND 000007ea: SWAP1 000007eb: PUSH1 0x20 000007ed: ADD 000007ee: SWAP1 000007ef: SWAP2 000007f0: SWAP1 000007f1: POP 000007f2: POP 000007f3: PUSH2 0x1866 000007f6: JUMP 000007f7: JUMPDEST 000007f8: STOP 000007f9: JUMPDEST 000007fa: CALLVALUE 000007fb: ISZERO 000007fc: PUSH2 0x0804 000007ff: JUMPI 00000800: PUSH1 0x00 00000802: DUP1 00000803: REVERT 00000804: JUMPDEST 00000805: PUSH2 0x081a 00000808: PUSH1 0x04 0000080a: DUP1 0000080b: DUP1 0000080c: CALLDATALOAD 0000080d: SWAP1 0000080e: PUSH1 0x20 00000810: ADD 00000811: SWAP1 00000812: SWAP2 00000813: SWAP1 00000814: POP 00000815: POP 00000816: PUSH2 0x1b7b 00000819: JUMP 0000081a: JUMPDEST 0000081b: STOP 0000081c: JUMPDEST 0000081d: PUSH1 0x03 0000081f: DUP2 00000820: DUP2 00000821: SLOAD 00000822: DUP2 00000823: LT 00000824: ISZERO 00000825: ISZERO 00000826: PUSH2 0x082b 00000829: JUMPI 0000082a: INVALID 0000082b: JUMPDEST 0000082c: SWAP1 0000082d: PUSH1 0x00 0000082f: MSTORE 00000830: PUSH1 0x20 00000832: PUSH1 0x00 00000834: KECCAK256 00000835: SWAP1 00000836: ADD 00000837: PUSH1 0x00 00000839: SWAP2 0000083a: POP 0000083b: SLOAD 0000083c: SWAP1 0000083d: PUSH2 0x0100 00000840: EXP 00000841: SWAP1 00000842: DIV 00000843: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000858: AND 00000859: DUP2 0000085a: JUMP 0000085b: JUMPDEST 0000085c: PUSH1 0x00 0000085e: ADDRESS 0000085f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000874: AND 00000875: CALLER 00000876: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000088b: AND 0000088c: EQ 0000088d: ISZERO 0000088e: ISZERO 0000088f: PUSH2 0x0897 00000892: JUMPI 00000893: PUSH1 0x00 00000895: DUP1 00000896: REVERT 00000897: JUMPDEST 00000898: DUP2 00000899: PUSH1 0x02 0000089b: PUSH1 0x00 0000089d: DUP3 0000089e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008b3: AND 000008b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008c9: AND 000008ca: DUP2 000008cb: MSTORE 000008cc: PUSH1 0x20 000008ce: ADD 000008cf: SWAP1 000008d0: DUP2 000008d1: MSTORE 000008d2: PUSH1 0x20 000008d4: ADD 000008d5: PUSH1 0x00 000008d7: KECCAK256 000008d8: PUSH1 0x00 000008da: SWAP1 000008db: SLOAD 000008dc: SWAP1 000008dd: PUSH2 0x0100 000008e0: EXP 000008e1: SWAP1 000008e2: DIV 000008e3: PUSH1 0xff 000008e5: AND 000008e6: ISZERO 000008e7: ISZERO 000008e8: PUSH2 0x08f0 000008eb: JUMPI 000008ec: PUSH1 0x00 000008ee: DUP1 000008ef: REVERT 000008f0: JUMPDEST 000008f1: PUSH1 0x00 000008f3: PUSH1 0x02 000008f5: PUSH1 0x00 000008f7: DUP6 000008f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000090d: AND 0000090e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000923: AND 00000924: DUP2 00000925: MSTORE 00000926: PUSH1 0x20 00000928: ADD 00000929: SWAP1 0000092a: DUP2 0000092b: MSTORE 0000092c: PUSH1 0x20 0000092e: ADD 0000092f: PUSH1 0x00 00000931: KECCAK256 00000932: PUSH1 0x00 00000934: PUSH2 0x0100 00000937: EXP 00000938: DUP2 00000939: SLOAD 0000093a: DUP2 0000093b: PUSH1 0xff 0000093d: MUL 0000093e: NOT 0000093f: AND 00000940: SWAP1 00000941: DUP4 00000942: ISZERO 00000943: ISZERO 00000944: MUL 00000945: OR 00000946: SWAP1 00000947: SSTORE 00000948: POP 00000949: PUSH1 0x00 0000094b: SWAP2 0000094c: POP 0000094d: JUMPDEST 0000094e: PUSH1 0x01 00000950: PUSH1 0x03 00000952: DUP1 00000953: SLOAD 00000954: SWAP1 00000955: POP 00000956: SUB 00000957: DUP3 00000958: LT 00000959: ISZERO 0000095a: PUSH2 0x0a78 0000095d: JUMPI 0000095e: DUP3 0000095f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000974: AND 00000975: PUSH1 0x03 00000977: DUP4 00000978: DUP2 00000979: SLOAD 0000097a: DUP2 0000097b: LT 0000097c: ISZERO 0000097d: ISZERO 0000097e: PUSH2 0x0983 00000981: JUMPI 00000982: INVALID 00000983: JUMPDEST 00000984: SWAP1 00000985: PUSH1 0x00 00000987: MSTORE 00000988: PUSH1 0x20 0000098a: PUSH1 0x00 0000098c: KECCAK256 0000098d: SWAP1 0000098e: ADD 0000098f: PUSH1 0x00 00000991: SWAP1 00000992: SLOAD 00000993: SWAP1 00000994: PUSH2 0x0100 00000997: EXP 00000998: SWAP1 00000999: DIV 0000099a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009af: AND 000009b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009c5: AND 000009c6: EQ 000009c7: ISZERO 000009c8: PUSH2 0x0a6b 000009cb: JUMPI 000009cc: PUSH1 0x03 000009ce: PUSH1 0x01 000009d0: PUSH1 0x03 000009d2: DUP1 000009d3: SLOAD 000009d4: SWAP1 000009d5: POP 000009d6: SUB 000009d7: DUP2 000009d8: SLOAD 000009d9: DUP2 000009da: LT 000009db: ISZERO 000009dc: ISZERO 000009dd: PUSH2 0x09e2 000009e0: JUMPI 000009e1: INVALID 000009e2: JUMPDEST 000009e3: SWAP1 000009e4: PUSH1 0x00 000009e6: MSTORE 000009e7: PUSH1 0x20 000009e9: PUSH1 0x00 000009eb: KECCAK256 000009ec: SWAP1 000009ed: ADD 000009ee: PUSH1 0x00 000009f0: SWAP1 000009f1: SLOAD 000009f2: SWAP1 000009f3: PUSH2 0x0100 000009f6: EXP 000009f7: SWAP1 000009f8: DIV 000009f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a0e: AND 00000a0f: PUSH1 0x03 00000a11: DUP4 00000a12: DUP2 00000a13: SLOAD 00000a14: DUP2 00000a15: LT 00000a16: ISZERO 00000a17: ISZERO 00000a18: PUSH2 0x0a1d 00000a1b: JUMPI 00000a1c: INVALID 00000a1d: JUMPDEST 00000a1e: SWAP1 00000a1f: PUSH1 0x00 00000a21: MSTORE 00000a22: PUSH1 0x20 00000a24: PUSH1 0x00 00000a26: KECCAK256 00000a27: SWAP1 00000a28: ADD 00000a29: PUSH1 0x00 00000a2b: PUSH2 0x0100 00000a2e: EXP 00000a2f: DUP2 00000a30: SLOAD 00000a31: DUP2 00000a32: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a47: MUL 00000a48: NOT 00000a49: AND 00000a4a: SWAP1 00000a4b: DUP4 00000a4c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a61: AND 00000a62: MUL 00000a63: OR 00000a64: SWAP1 00000a65: SSTORE 00000a66: POP 00000a67: PUSH2 0x0a78 00000a6a: JUMP 00000a6b: JUMPDEST 00000a6c: DUP2 00000a6d: DUP1 00000a6e: PUSH1 0x01 00000a70: ADD 00000a71: SWAP3 00000a72: POP 00000a73: POP 00000a74: PUSH2 0x094d 00000a77: JUMP 00000a78: JUMPDEST 00000a79: PUSH1 0x01 00000a7b: PUSH1 0x03 00000a7d: DUP2 00000a7e: DUP2 00000a7f: DUP1 00000a80: SLOAD 00000a81: SWAP1 00000a82: POP 00000a83: SUB 00000a84: SWAP2 00000a85: POP 00000a86: DUP2 00000a87: PUSH2 0x0a90 00000a8a: SWAP2 00000a8b: SWAP1 00000a8c: PUSH2 0x1f53 00000a8f: JUMP 00000a90: JUMPDEST 00000a91: POP 00000a92: PUSH1 0x03 00000a94: DUP1 00000a95: SLOAD 00000a96: SWAP1 00000a97: POP 00000a98: PUSH1 0x04 00000a9a: SLOAD 00000a9b: GT 00000a9c: ISZERO 00000a9d: PUSH2 0x0aaf 00000aa0: JUMPI 00000aa1: PUSH2 0x0aae 00000aa4: PUSH1 0x03 00000aa6: DUP1 00000aa7: SLOAD 00000aa8: SWAP1 00000aa9: POP 00000aaa: PUSH2 0x15a2 00000aad: JUMP 00000aae: JUMPDEST 00000aaf: JUMPDEST 00000ab0: DUP3 00000ab1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ac6: AND 00000ac7: PUSH32 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90 00000ae8: PUSH1 0x40 00000aea: MLOAD 00000aeb: PUSH1 0x40 00000aed: MLOAD 00000aee: DUP1 00000aef: SWAP2 00000af0: SUB 00000af1: SWAP1 00000af2: LOG2 00000af3: POP 00000af4: POP 00000af5: POP 00000af6: JUMP 00000af7: JUMPDEST 00000af8: CALLER 00000af9: PUSH1 0x02 00000afb: PUSH1 0x00 00000afd: DUP3 00000afe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b13: AND 00000b14: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b29: AND 00000b2a: DUP2 00000b2b: MSTORE 00000b2c: PUSH1 0x20 00000b2e: ADD 00000b2f: SWAP1 00000b30: DUP2 00000b31: MSTORE 00000b32: PUSH1 0x20 00000b34: ADD 00000b35: PUSH1 0x00 00000b37: KECCAK256 00000b38: PUSH1 0x00 00000b3a: SWAP1 00000b3b: SLOAD 00000b3c: SWAP1 00000b3d: PUSH2 0x0100 00000b40: EXP 00000b41: SWAP1 00000b42: DIV 00000b43: PUSH1 0xff 00000b45: AND 00000b46: ISZERO 00000b47: ISZERO 00000b48: PUSH2 0x0b50 00000b4b: JUMPI 00000b4c: PUSH1 0x00 00000b4e: DUP1 00000b4f: REVERT 00000b50: JUMPDEST 00000b51: DUP2 00000b52: CALLER 00000b53: PUSH1 0x01 00000b55: PUSH1 0x00 00000b57: DUP4 00000b58: DUP2 00000b59: MSTORE 00000b5a: PUSH1 0x20 00000b5c: ADD 00000b5d: SWAP1 00000b5e: DUP2 00000b5f: MSTORE 00000b60: PUSH1 0x20 00000b62: ADD 00000b63: PUSH1 0x00 00000b65: KECCAK256 00000b66: PUSH1 0x00 00000b68: DUP3 00000b69: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b7e: AND 00000b7f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b94: AND 00000b95: DUP2 00000b96: MSTORE 00000b97: PUSH1 0x20 00000b99: ADD 00000b9a: SWAP1 00000b9b: DUP2 00000b9c: MSTORE 00000b9d: PUSH1 0x20 00000b9f: ADD 00000ba0: PUSH1 0x00 00000ba2: KECCAK256 00000ba3: PUSH1 0x00 00000ba5: SWAP1 00000ba6: SLOAD 00000ba7: SWAP1 00000ba8: PUSH2 0x0100 00000bab: EXP 00000bac: SWAP1 00000bad: DIV 00000bae: PUSH1 0xff 00000bb0: AND 00000bb1: ISZERO 00000bb2: ISZERO 00000bb3: PUSH2 0x0bbb 00000bb6: JUMPI 00000bb7: PUSH1 0x00 00000bb9: DUP1 00000bba: REVERT 00000bbb: JUMPDEST 00000bbc: DUP4 00000bbd: PUSH1 0x00 00000bbf: DUP1 00000bc0: DUP3 00000bc1: DUP2 00000bc2: MSTORE 00000bc3: PUSH1 0x20 00000bc5: ADD 00000bc6: SWAP1 00000bc7: DUP2 00000bc8: MSTORE 00000bc9: PUSH1 0x20 00000bcb: ADD 00000bcc: PUSH1 0x00 00000bce: KECCAK256 00000bcf: PUSH1 0x03 00000bd1: ADD 00000bd2: PUSH1 0x00 00000bd4: SWAP1 00000bd5: SLOAD 00000bd6: SWAP1 00000bd7: PUSH2 0x0100 00000bda: EXP 00000bdb: SWAP1 00000bdc: DIV 00000bdd: PUSH1 0xff 00000bdf: AND 00000be0: ISZERO 00000be1: PUSH2 0x0be9 00000be4: JUMPI 00000be5: PUSH1 0x00 00000be7: DUP1 00000be8: REVERT 00000be9: JUMPDEST 00000bea: PUSH1 0x00 00000bec: PUSH1 0x01 00000bee: PUSH1 0x00 00000bf0: DUP8 00000bf1: DUP2 00000bf2: MSTORE 00000bf3: PUSH1 0x20 00000bf5: ADD 00000bf6: SWAP1 00000bf7: DUP2 00000bf8: MSTORE 00000bf9: PUSH1 0x20 00000bfb: ADD 00000bfc: PUSH1 0x00 00000bfe: KECCAK256 00000bff: PUSH1 0x00 00000c01: CALLER 00000c02: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c17: AND 00000c18: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c2d: AND 00000c2e: DUP2 00000c2f: MSTORE 00000c30: PUSH1 0x20 00000c32: ADD 00000c33: SWAP1 00000c34: DUP2 00000c35: MSTORE 00000c36: PUSH1 0x20 00000c38: ADD 00000c39: PUSH1 0x00 00000c3b: KECCAK256 00000c3c: PUSH1 0x00 00000c3e: PUSH2 0x0100 00000c41: EXP 00000c42: DUP2 00000c43: SLOAD 00000c44: DUP2 00000c45: PUSH1 0xff 00000c47: MUL 00000c48: NOT 00000c49: AND 00000c4a: SWAP1 00000c4b: DUP4 00000c4c: ISZERO 00000c4d: ISZERO 00000c4e: MUL 00000c4f: OR 00000c50: SWAP1 00000c51: SSTORE 00000c52: POP 00000c53: DUP5 00000c54: CALLER 00000c55: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c6a: AND 00000c6b: PUSH32 0xf6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e9 00000c8c: PUSH1 0x40 00000c8e: MLOAD 00000c8f: PUSH1 0x40 00000c91: MLOAD 00000c92: DUP1 00000c93: SWAP2 00000c94: SUB 00000c95: SWAP1 00000c96: LOG3 00000c97: POP 00000c98: POP 00000c99: POP 00000c9a: POP 00000c9b: POP 00000c9c: JUMP 00000c9d: JUMPDEST 00000c9e: PUSH1 0x02 00000ca0: PUSH1 0x20 00000ca2: MSTORE 00000ca3: DUP1 00000ca4: PUSH1 0x00 00000ca6: MSTORE 00000ca7: PUSH1 0x40 00000ca9: PUSH1 0x00 00000cab: KECCAK256 00000cac: PUSH1 0x00 00000cae: SWAP2 00000caf: POP 00000cb0: SLOAD 00000cb1: SWAP1 00000cb2: PUSH2 0x0100 00000cb5: EXP 00000cb6: SWAP1 00000cb7: DIV 00000cb8: PUSH1 0xff 00000cba: AND 00000cbb: DUP2 00000cbc: JUMP 00000cbd: JUMPDEST 00000cbe: PUSH1 0x01 00000cc0: PUSH1 0x20 00000cc2: MSTORE 00000cc3: DUP2 00000cc4: PUSH1 0x00 00000cc6: MSTORE 00000cc7: PUSH1 0x40 00000cc9: PUSH1 0x00 00000ccb: KECCAK256 00000ccc: PUSH1 0x20 00000cce: MSTORE 00000ccf: DUP1 00000cd0: PUSH1 0x00 00000cd2: MSTORE 00000cd3: PUSH1 0x40 00000cd5: PUSH1 0x00 00000cd7: KECCAK256 00000cd8: PUSH1 0x00 00000cda: SWAP2 00000cdb: POP 00000cdc: SWAP2 00000cdd: POP 00000cde: SWAP1 00000cdf: SLOAD 00000ce0: SWAP1 00000ce1: PUSH2 0x0100 00000ce4: EXP 00000ce5: SWAP1 00000ce6: DIV 00000ce7: PUSH1 0xff 00000ce9: AND 00000cea: DUP2 00000ceb: JUMP 00000cec: JUMPDEST 00000ced: PUSH1 0x00 00000cef: DUP1 00000cf0: PUSH1 0x00 00000cf2: SWAP1 00000cf3: POP 00000cf4: JUMPDEST 00000cf5: PUSH1 0x05 00000cf7: SLOAD 00000cf8: DUP2 00000cf9: LT 00000cfa: ISZERO 00000cfb: PUSH2 0x0d77 00000cfe: JUMPI 00000cff: DUP4 00000d00: DUP1 00000d01: ISZERO 00000d02: PUSH2 0x0d2b 00000d05: JUMPI 00000d06: POP 00000d07: PUSH1 0x00 00000d09: DUP1 00000d0a: DUP3 00000d0b: DUP2 00000d0c: MSTORE 00000d0d: PUSH1 0x20 00000d0f: ADD 00000d10: SWAP1 00000d11: DUP2 00000d12: MSTORE 00000d13: PUSH1 0x20 00000d15: ADD 00000d16: PUSH1 0x00 00000d18: KECCAK256 00000d19: PUSH1 0x03 00000d1b: ADD 00000d1c: PUSH1 0x00 00000d1e: SWAP1 00000d1f: SLOAD 00000d20: SWAP1 00000d21: PUSH2 0x0100 00000d24: EXP 00000d25: SWAP1 00000d26: DIV 00000d27: PUSH1 0xff 00000d29: AND 00000d2a: ISZERO 00000d2b: JUMPDEST 00000d2c: DUP1 00000d2d: PUSH2 0x0d5e 00000d30: JUMPI 00000d31: POP 00000d32: DUP3 00000d33: DUP1 00000d34: ISZERO 00000d35: PUSH2 0x0d5d 00000d38: JUMPI 00000d39: POP 00000d3a: PUSH1 0x00 00000d3c: DUP1 00000d3d: DUP3 00000d3e: DUP2 00000d3f: MSTORE 00000d40: PUSH1 0x20 00000d42: ADD 00000d43: SWAP1 00000d44: DUP2 00000d45: MSTORE 00000d46: PUSH1 0x20 00000d48: ADD 00000d49: PUSH1 0x00 00000d4b: KECCAK256 00000d4c: PUSH1 0x03 00000d4e: ADD 00000d4f: PUSH1 0x00 00000d51: SWAP1 00000d52: SLOAD 00000d53: SWAP1 00000d54: PUSH2 0x0100 00000d57: EXP 00000d58: SWAP1 00000d59: DIV 00000d5a: PUSH1 0xff 00000d5c: AND 00000d5d: JUMPDEST 00000d5e: JUMPDEST 00000d5f: ISZERO 00000d60: PUSH2 0x0d6a 00000d63: JUMPI 00000d64: PUSH1 0x01 00000d66: DUP3 00000d67: ADD 00000d68: SWAP2 00000d69: POP 00000d6a: JUMPDEST 00000d6b: DUP1 00000d6c: DUP1 00000d6d: PUSH1 0x01 00000d6f: ADD 00000d70: SWAP2 00000d71: POP 00000d72: POP 00000d73: PUSH2 0x0cf4 00000d76: JUMP 00000d77: JUMPDEST 00000d78: POP 00000d79: SWAP3 00000d7a: SWAP2 00000d7b: POP 00000d7c: POP 00000d7d: JUMP 00000d7e: JUMPDEST 00000d7f: ADDRESS 00000d80: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d95: AND 00000d96: CALLER 00000d97: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dac: AND 00000dad: EQ 00000dae: ISZERO 00000daf: ISZERO 00000db0: PUSH2 0x0db8 00000db3: JUMPI 00000db4: PUSH1 0x00 00000db6: DUP1 00000db7: REVERT 00000db8: JUMPDEST 00000db9: DUP1 00000dba: PUSH1 0x02 00000dbc: PUSH1 0x00 00000dbe: DUP3 00000dbf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dd4: AND 00000dd5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dea: AND 00000deb: DUP2 00000dec: MSTORE 00000ded: PUSH1 0x20 00000def: ADD 00000df0: SWAP1 00000df1: DUP2 00000df2: MSTORE 00000df3: PUSH1 0x20 00000df5: ADD 00000df6: PUSH1 0x00 00000df8: KECCAK256 00000df9: PUSH1 0x00 00000dfb: SWAP1 00000dfc: SLOAD 00000dfd: SWAP1 00000dfe: PUSH2 0x0100 00000e01: EXP 00000e02: SWAP1 00000e03: DIV 00000e04: PUSH1 0xff 00000e06: AND 00000e07: ISZERO 00000e08: PUSH2 0x0e10 00000e0b: JUMPI 00000e0c: PUSH1 0x00 00000e0e: DUP1 00000e0f: REVERT 00000e10: JUMPDEST 00000e11: DUP2 00000e12: PUSH1 0x00 00000e14: DUP2 00000e15: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e2a: AND 00000e2b: EQ 00000e2c: ISZERO 00000e2d: PUSH2 0x0e35 00000e30: JUMPI 00000e31: PUSH1 0x00 00000e33: DUP1 00000e34: REVERT 00000e35: JUMPDEST 00000e36: PUSH1 0x01 00000e38: PUSH1 0x03 00000e3a: DUP1 00000e3b: SLOAD 00000e3c: SWAP1 00000e3d: POP 00000e3e: ADD 00000e3f: PUSH1 0x04 00000e41: SLOAD 00000e42: PUSH1 0x32 00000e44: DUP3 00000e45: GT 00000e46: DUP1 00000e47: PUSH2 0x0e4f 00000e4a: JUMPI 00000e4b: POP 00000e4c: DUP2 00000e4d: DUP2 00000e4e: GT 00000e4f: JUMPDEST 00000e50: DUP1 00000e51: PUSH2 0x0e5a 00000e54: JUMPI 00000e55: POP 00000e56: PUSH1 0x00 00000e58: DUP2 00000e59: EQ 00000e5a: JUMPDEST 00000e5b: DUP1 00000e5c: PUSH2 0x0e65 00000e5f: JUMPI 00000e60: POP 00000e61: PUSH1 0x00 00000e63: DUP3 00000e64: EQ 00000e65: JUMPDEST 00000e66: ISZERO 00000e67: PUSH2 0x0e6f 00000e6a: JUMPI 00000e6b: PUSH1 0x00 00000e6d: DUP1 00000e6e: REVERT 00000e6f: JUMPDEST 00000e70: PUSH1 0x01 00000e72: PUSH1 0x02 00000e74: PUSH1 0x00 00000e76: DUP8 00000e77: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e8c: AND 00000e8d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ea2: AND 00000ea3: DUP2 00000ea4: MSTORE 00000ea5: PUSH1 0x20 00000ea7: ADD 00000ea8: SWAP1 00000ea9: DUP2 00000eaa: MSTORE 00000eab: PUSH1 0x20 00000ead: ADD 00000eae: PUSH1 0x00 00000eb0: KECCAK256 00000eb1: PUSH1 0x00 00000eb3: PUSH2 0x0100 00000eb6: EXP 00000eb7: DUP2 00000eb8: SLOAD 00000eb9: DUP2 00000eba: PUSH1 0xff 00000ebc: MUL 00000ebd: NOT 00000ebe: AND 00000ebf: SWAP1 00000ec0: DUP4 00000ec1: ISZERO 00000ec2: ISZERO 00000ec3: MUL 00000ec4: OR 00000ec5: SWAP1 00000ec6: SSTORE 00000ec7: POP 00000ec8: PUSH1 0x03 00000eca: DUP1 00000ecb: SLOAD 00000ecc: DUP1 00000ecd: PUSH1 0x01 00000ecf: ADD 00000ed0: DUP3 00000ed1: DUP2 00000ed2: PUSH2 0x0edb 00000ed5: SWAP2 00000ed6: SWAP1 00000ed7: PUSH2 0x1f7f 00000eda: JUMP 00000edb: JUMPDEST 00000edc: SWAP2 00000edd: PUSH1 0x00 00000edf: MSTORE 00000ee0: PUSH1 0x20 00000ee2: PUSH1 0x00 00000ee4: KECCAK256 00000ee5: SWAP1 00000ee6: ADD 00000ee7: PUSH1 0x00 00000ee9: DUP8 00000eea: SWAP1 00000eeb: SWAP2 00000eec: SWAP1 00000eed: SWAP2 00000eee: PUSH2 0x0100 00000ef1: EXP 00000ef2: DUP2 00000ef3: SLOAD 00000ef4: DUP2 00000ef5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f0a: MUL 00000f0b: NOT 00000f0c: AND 00000f0d: SWAP1 00000f0e: DUP4 00000f0f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f24: AND 00000f25: MUL 00000f26: OR 00000f27: SWAP1 00000f28: SSTORE 00000f29: POP 00000f2a: POP 00000f2b: DUP5 00000f2c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f41: AND 00000f42: PUSH32 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d 00000f63: PUSH1 0x40 00000f65: MLOAD 00000f66: PUSH1 0x40 00000f68: MLOAD 00000f69: DUP1 00000f6a: SWAP2 00000f6b: SUB 00000f6c: SWAP1 00000f6d: LOG2 00000f6e: POP 00000f6f: POP 00000f70: POP 00000f71: POP 00000f72: POP 00000f73: JUMP 00000f74: JUMPDEST 00000f75: PUSH1 0x00 00000f77: DUP1 00000f78: PUSH1 0x00 00000f7a: DUP1 00000f7b: SWAP2 00000f7c: POP 00000f7d: PUSH1 0x00 00000f7f: SWAP1 00000f80: POP 00000f81: JUMPDEST 00000f82: PUSH1 0x03 00000f84: DUP1 00000f85: SLOAD 00000f86: SWAP1 00000f87: POP 00000f88: DUP2 00000f89: LT 00000f8a: ISZERO 00000f8b: PUSH2 0x1052 00000f8e: JUMPI 00000f8f: PUSH1 0x01 00000f91: PUSH1 0x00 00000f93: DUP6 00000f94: DUP2 00000f95: MSTORE 00000f96: PUSH1 0x20 00000f98: ADD 00000f99: SWAP1 00000f9a: DUP2 00000f9b: MSTORE 00000f9c: PUSH1 0x20 00000f9e: ADD 00000f9f: PUSH1 0x00 00000fa1: KECCAK256 00000fa2: PUSH1 0x00 00000fa4: PUSH1 0x03 00000fa6: DUP4 00000fa7: DUP2 00000fa8: SLOAD 00000fa9: DUP2 00000faa: LT 00000fab: ISZERO 00000fac: ISZERO 00000fad: PUSH2 0x0fb2 00000fb0: JUMPI 00000fb1: INVALID 00000fb2: JUMPDEST 00000fb3: SWAP1 00000fb4: PUSH1 0x00 00000fb6: MSTORE 00000fb7: PUSH1 0x20 00000fb9: PUSH1 0x00 00000fbb: KECCAK256 00000fbc: SWAP1 00000fbd: ADD 00000fbe: PUSH1 0x00 00000fc0: SWAP1 00000fc1: SLOAD 00000fc2: SWAP1 00000fc3: PUSH2 0x0100 00000fc6: EXP 00000fc7: SWAP1 00000fc8: DIV 00000fc9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fde: AND 00000fdf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ff4: AND 00000ff5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000100a: AND 0000100b: DUP2 0000100c: MSTORE 0000100d: PUSH1 0x20 0000100f: ADD 00001010: SWAP1 00001011: DUP2 00001012: MSTORE 00001013: PUSH1 0x20 00001015: ADD 00001016: PUSH1 0x00 00001018: KECCAK256 00001019: PUSH1 0x00 0000101b: SWAP1 0000101c: SLOAD 0000101d: SWAP1 0000101e: PUSH2 0x0100 00001021: EXP 00001022: SWAP1 00001023: DIV 00001024: PUSH1 0xff 00001026: AND 00001027: ISZERO 00001028: PUSH2 0x1032 0000102b: JUMPI 0000102c: PUSH1 0x01 0000102e: DUP3 0000102f: ADD 00001030: SWAP2 00001031: POP 00001032: JUMPDEST 00001033: PUSH1 0x04 00001035: SLOAD 00001036: DUP3 00001037: EQ 00001038: ISZERO 00001039: PUSH2 0x1045 0000103c: JUMPI 0000103d: PUSH1 0x01 0000103f: SWAP3 00001040: POP 00001041: PUSH2 0x1053 00001044: JUMP 00001045: JUMPDEST 00001046: DUP1 00001047: DUP1 00001048: PUSH1 0x01 0000104a: ADD 0000104b: SWAP2 0000104c: POP 0000104d: POP 0000104e: PUSH2 0x0f81 00001051: JUMP 00001052: JUMPDEST 00001053: JUMPDEST 00001054: POP 00001055: POP 00001056: SWAP2 00001057: SWAP1 00001058: POP 00001059: JUMP 0000105a: JUMPDEST 0000105b: PUSH1 0x00 0000105d: DUP1 0000105e: PUSH1 0x00 00001060: SWAP1 00001061: POP 00001062: JUMPDEST 00001063: PUSH1 0x03 00001065: DUP1 00001066: SLOAD 00001067: SWAP1 00001068: POP 00001069: DUP2 0000106a: LT 0000106b: ISZERO 0000106c: PUSH2 0x1120 0000106f: JUMPI 00001070: PUSH1 0x01 00001072: PUSH1 0x00 00001074: DUP5 00001075: DUP2 00001076: MSTORE 00001077: PUSH1 0x20 00001079: ADD 0000107a: SWAP1 0000107b: DUP2 0000107c: MSTORE 0000107d: PUSH1 0x20 0000107f: ADD 00001080: PUSH1 0x00 00001082: KECCAK256 00001083: PUSH1 0x00 00001085: PUSH1 0x03 00001087: DUP4 00001088: DUP2 00001089: SLOAD 0000108a: DUP2 0000108b: LT 0000108c: ISZERO 0000108d: ISZERO 0000108e: PUSH2 0x1093 00001091: JUMPI 00001092: INVALID 00001093: JUMPDEST 00001094: SWAP1 00001095: PUSH1 0x00 00001097: MSTORE 00001098: PUSH1 0x20 0000109a: PUSH1 0x00 0000109c: KECCAK256 0000109d: SWAP1 0000109e: ADD 0000109f: PUSH1 0x00 000010a1: SWAP1 000010a2: SLOAD 000010a3: SWAP1 000010a4: PUSH2 0x0100 000010a7: EXP 000010a8: SWAP1 000010a9: DIV 000010aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010bf: AND 000010c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010d5: AND 000010d6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010eb: AND 000010ec: DUP2 000010ed: MSTORE 000010ee: PUSH1 0x20 000010f0: ADD 000010f1: SWAP1 000010f2: DUP2 000010f3: MSTORE 000010f4: PUSH1 0x20 000010f6: ADD 000010f7: PUSH1 0x00 000010f9: KECCAK256 000010fa: PUSH1 0x00 000010fc: SWAP1 000010fd: SLOAD 000010fe: SWAP1 000010ff: PUSH2 0x0100 00001102: EXP 00001103: SWAP1 00001104: DIV 00001105: PUSH1 0xff 00001107: AND 00001108: ISZERO 00001109: PUSH2 0x1113 0000110c: JUMPI 0000110d: PUSH1 0x01 0000110f: DUP3 00001110: ADD 00001111: SWAP2 00001112: POP 00001113: JUMPDEST 00001114: DUP1 00001115: DUP1 00001116: PUSH1 0x01 00001118: ADD 00001119: SWAP2 0000111a: POP 0000111b: POP 0000111c: PUSH2 0x1062 0000111f: JUMP 00001120: JUMPDEST 00001121: POP 00001122: SWAP2 00001123: SWAP1 00001124: POP 00001125: JUMP 00001126: JUMPDEST 00001127: PUSH1 0x00 00001129: PUSH1 0x20 0000112b: MSTORE 0000112c: DUP1 0000112d: PUSH1 0x00 0000112f: MSTORE 00001130: PUSH1 0x40 00001132: PUSH1 0x00 00001134: KECCAK256 00001135: PUSH1 0x00 00001137: SWAP2 00001138: POP 00001139: SWAP1 0000113a: POP 0000113b: DUP1 0000113c: PUSH1 0x00 0000113e: ADD 0000113f: PUSH1 0x00 00001141: SWAP1 00001142: SLOAD 00001143: SWAP1 00001144: PUSH2 0x0100 00001147: EXP 00001148: SWAP1 00001149: DIV 0000114a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000115f: AND 00001160: SWAP1 00001161: DUP1 00001162: PUSH1 0x01 00001164: ADD 00001165: SLOAD 00001166: SWAP1 00001167: DUP1 00001168: PUSH1 0x02 0000116a: ADD 0000116b: SWAP1 0000116c: DUP1 0000116d: PUSH1 0x03 0000116f: ADD 00001170: PUSH1 0x00 00001172: SWAP1 00001173: SLOAD 00001174: SWAP1 00001175: PUSH2 0x0100 00001178: EXP 00001179: SWAP1 0000117a: DIV 0000117b: PUSH1 0xff 0000117d: AND 0000117e: SWAP1 0000117f: POP 00001180: DUP5 00001181: JUMP 00001182: JUMPDEST 00001183: PUSH2 0x118a 00001186: PUSH2 0x1fab 00001189: JUMP 0000118a: JUMPDEST 0000118b: PUSH1 0x03 0000118d: DUP1 0000118e: SLOAD 0000118f: DUP1 00001190: PUSH1 0x20 00001192: MUL 00001193: PUSH1 0x20 00001195: ADD 00001196: PUSH1 0x40 00001198: MLOAD 00001199: SWAP1 0000119a: DUP2 0000119b: ADD 0000119c: PUSH1 0x40 0000119e: MSTORE 0000119f: DUP1 000011a0: SWAP3 000011a1: SWAP2 000011a2: SWAP1 000011a3: DUP2 000011a4: DUP2 000011a5: MSTORE 000011a6: PUSH1 0x20 000011a8: ADD 000011a9: DUP3 000011aa: DUP1 000011ab: SLOAD 000011ac: DUP1 000011ad: ISZERO 000011ae: PUSH2 0x120c 000011b1: JUMPI 000011b2: PUSH1 0x20 000011b4: MUL 000011b5: DUP3 000011b6: ADD 000011b7: SWAP2 000011b8: SWAP1 000011b9: PUSH1 0x00 000011bb: MSTORE 000011bc: PUSH1 0x20 000011be: PUSH1 0x00 000011c0: KECCAK256 000011c1: SWAP1 000011c2: JUMPDEST 000011c3: DUP2 000011c4: PUSH1 0x00 000011c6: SWAP1 000011c7: SLOAD 000011c8: SWAP1 000011c9: PUSH2 0x0100 000011cc: EXP 000011cd: SWAP1 000011ce: DIV 000011cf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011e4: AND 000011e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011fa: AND 000011fb: DUP2 000011fc: MSTORE 000011fd: PUSH1 0x20 000011ff: ADD 00001200: SWAP1 00001201: PUSH1 0x01 00001203: ADD 00001204: SWAP1 00001205: DUP1 00001206: DUP4 00001207: GT 00001208: PUSH2 0x11c2 0000120b: JUMPI 0000120c: JUMPDEST 0000120d: POP 0000120e: POP 0000120f: POP 00001210: POP 00001211: POP 00001212: SWAP1 00001213: POP 00001214: SWAP1 00001215: JUMP 00001216: JUMPDEST 00001217: PUSH2 0x121e 0000121a: PUSH2 0x1fbf 0000121d: JUMP 0000121e: JUMPDEST 0000121f: PUSH2 0x1226 00001222: PUSH2 0x1fbf 00001225: JUMP 00001226: JUMPDEST 00001227: PUSH1 0x00 00001229: DUP1 0000122a: PUSH1 0x05 0000122c: SLOAD 0000122d: PUSH1 0x40 0000122f: MLOAD 00001230: DUP1 00001231: MSIZE 00001232: LT 00001233: PUSH2 0x1239 00001236: JUMPI 00001237: POP 00001238: MSIZE 00001239: JUMPDEST 0000123a: SWAP1 0000123b: DUP1 0000123c: DUP3 0000123d: MSTORE 0000123e: DUP1 0000123f: PUSH1 0x20 00001241: MUL 00001242: PUSH1 0x20 00001244: ADD 00001245: DUP3 00001246: ADD 00001247: PUSH1 0x40 00001249: MSTORE 0000124a: POP 0000124b: SWAP3 0000124c: POP 0000124d: PUSH1 0x00 0000124f: SWAP2 00001250: POP 00001251: PUSH1 0x00 00001253: SWAP1 00001254: POP 00001255: JUMPDEST 00001256: PUSH1 0x05 00001258: SLOAD 00001259: DUP2 0000125a: LT 0000125b: ISZERO 0000125c: PUSH2 0x12f5 0000125f: JUMPI 00001260: DUP6 00001261: DUP1 00001262: ISZERO 00001263: PUSH2 0x128c 00001266: JUMPI 00001267: POP 00001268: PUSH1 0x00 0000126a: DUP1 0000126b: DUP3 0000126c: DUP2 0000126d: MSTORE 0000126e: PUSH1 0x20 00001270: ADD 00001271: SWAP1 00001272: DUP2 00001273: MSTORE 00001274: PUSH1 0x20 00001276: ADD 00001277: PUSH1 0x00 00001279: KECCAK256 0000127a: PUSH1 0x03 0000127c: ADD 0000127d: PUSH1 0x00 0000127f: SWAP1 00001280: SLOAD 00001281: SWAP1 00001282: PUSH2 0x0100 00001285: EXP 00001286: SWAP1 00001287: DIV 00001288: PUSH1 0xff 0000128a: AND 0000128b: ISZERO 0000128c: JUMPDEST 0000128d: DUP1 0000128e: PUSH2 0x12bf 00001291: JUMPI 00001292: POP 00001293: DUP5 00001294: DUP1 00001295: ISZERO 00001296: PUSH2 0x12be 00001299: JUMPI 0000129a: POP 0000129b: PUSH1 0x00 0000129d: DUP1 0000129e: DUP3 0000129f: DUP2 000012a0: MSTORE 000012a1: PUSH1 0x20 000012a3: ADD 000012a4: SWAP1 000012a5: DUP2 000012a6: MSTORE 000012a7: PUSH1 0x20 000012a9: ADD 000012aa: PUSH1 0x00 000012ac: KECCAK256 000012ad: PUSH1 0x03 000012af: ADD 000012b0: PUSH1 0x00 000012b2: SWAP1 000012b3: SLOAD 000012b4: SWAP1 000012b5: PUSH2 0x0100 000012b8: EXP 000012b9: SWAP1 000012ba: DIV 000012bb: PUSH1 0xff 000012bd: AND 000012be: JUMPDEST 000012bf: JUMPDEST 000012c0: ISZERO 000012c1: PUSH2 0x12e8 000012c4: JUMPI 000012c5: DUP1 000012c6: DUP4 000012c7: DUP4 000012c8: DUP2 000012c9: MLOAD 000012ca: DUP2 000012cb: LT 000012cc: ISZERO 000012cd: ISZERO 000012ce: PUSH2 0x12d3 000012d1: JUMPI 000012d2: INVALID 000012d3: JUMPDEST 000012d4: SWAP1 000012d5: PUSH1 0x20 000012d7: ADD 000012d8: SWAP1 000012d9: PUSH1 0x20 000012db: MUL 000012dc: ADD 000012dd: DUP2 000012de: DUP2 000012df: MSTORE 000012e0: POP 000012e1: POP 000012e2: PUSH1 0x01 000012e4: DUP3 000012e5: ADD 000012e6: SWAP2 000012e7: POP 000012e8: JUMPDEST 000012e9: DUP1 000012ea: DUP1 000012eb: PUSH1 0x01 000012ed: ADD 000012ee: SWAP2 000012ef: POP 000012f0: POP 000012f1: PUSH2 0x1255 000012f4: JUMP 000012f5: JUMPDEST 000012f6: DUP8 000012f7: DUP8 000012f8: SUB 000012f9: PUSH1 0x40 000012fb: MLOAD 000012fc: DUP1 000012fd: MSIZE 000012fe: LT 000012ff: PUSH2 0x1305 00001302: JUMPI 00001303: POP 00001304: MSIZE 00001305: JUMPDEST 00001306: SWAP1 00001307: DUP1 00001308: DUP3 00001309: MSTORE 0000130a: DUP1 0000130b: PUSH1 0x20 0000130d: MUL 0000130e: PUSH1 0x20 00001310: ADD 00001311: DUP3 00001312: ADD 00001313: PUSH1 0x40 00001315: MSTORE 00001316: POP 00001317: SWAP4 00001318: POP 00001319: DUP8 0000131a: SWAP1 0000131b: POP 0000131c: JUMPDEST 0000131d: DUP7 0000131e: DUP2 0000131f: LT 00001320: ISZERO 00001321: PUSH2 0x1367 00001324: JUMPI 00001325: DUP3 00001326: DUP2 00001327: DUP2 00001328: MLOAD 00001329: DUP2 0000132a: LT 0000132b: ISZERO 0000132c: ISZERO 0000132d: PUSH2 0x1332 00001330: JUMPI 00001331: INVALID 00001332: JUMPDEST 00001333: SWAP1 00001334: PUSH1 0x20 00001336: ADD 00001337: SWAP1 00001338: PUSH1 0x20 0000133a: MUL 0000133b: ADD 0000133c: MLOAD 0000133d: DUP5 0000133e: DUP10 0000133f: DUP4 00001340: SUB 00001341: DUP2 00001342: MLOAD 00001343: DUP2 00001344: LT 00001345: ISZERO 00001346: ISZERO 00001347: PUSH2 0x134c 0000134a: JUMPI 0000134b: INVALID 0000134c: JUMPDEST 0000134d: SWAP1 0000134e: PUSH1 0x20 00001350: ADD 00001351: SWAP1 00001352: PUSH1 0x20 00001354: MUL 00001355: ADD 00001356: DUP2 00001357: DUP2 00001358: MSTORE 00001359: POP 0000135a: POP 0000135b: DUP1 0000135c: DUP1 0000135d: PUSH1 0x01 0000135f: ADD 00001360: SWAP2 00001361: POP 00001362: POP 00001363: PUSH2 0x131c 00001366: JUMP 00001367: JUMPDEST 00001368: POP 00001369: POP 0000136a: POP 0000136b: SWAP5 0000136c: SWAP4 0000136d: POP 0000136e: POP 0000136f: POP 00001370: POP 00001371: JUMP 00001372: JUMPDEST 00001373: PUSH2 0x137a 00001376: PUSH2 0x1fab 00001379: JUMP 0000137a: JUMPDEST 0000137b: PUSH2 0x1382 0000137e: PUSH2 0x1fab 00001381: JUMP 00001382: JUMPDEST 00001383: PUSH1 0x00 00001385: DUP1 00001386: PUSH1 0x03 00001388: DUP1 00001389: SLOAD 0000138a: SWAP1 0000138b: POP 0000138c: PUSH1 0x40 0000138e: MLOAD 0000138f: DUP1 00001390: MSIZE 00001391: LT 00001392: PUSH2 0x1398 00001395: JUMPI 00001396: POP 00001397: MSIZE 00001398: JUMPDEST 00001399: SWAP1 0000139a: DUP1 0000139b: DUP3 0000139c: MSTORE 0000139d: DUP1 0000139e: PUSH1 0x20 000013a0: MUL 000013a1: PUSH1 0x20 000013a3: ADD 000013a4: DUP3 000013a5: ADD 000013a6: PUSH1 0x40 000013a8: MSTORE 000013a9: POP 000013aa: SWAP3 000013ab: POP 000013ac: PUSH1 0x00 000013ae: SWAP2 000013af: POP 000013b0: PUSH1 0x00 000013b2: SWAP1 000013b3: POP 000013b4: JUMPDEST 000013b5: PUSH1 0x03 000013b7: DUP1 000013b8: SLOAD 000013b9: SWAP1 000013ba: POP 000013bb: DUP2 000013bc: LT 000013bd: ISZERO 000013be: PUSH2 0x14f7 000013c1: JUMPI 000013c2: PUSH1 0x01 000013c4: PUSH1 0x00 000013c6: DUP7 000013c7: DUP2 000013c8: MSTORE 000013c9: PUSH1 0x20 000013cb: ADD 000013cc: SWAP1 000013cd: DUP2 000013ce: MSTORE 000013cf: PUSH1 0x20 000013d1: ADD 000013d2: PUSH1 0x00 000013d4: KECCAK256 000013d5: PUSH1 0x00 000013d7: PUSH1 0x03 000013d9: DUP4 000013da: DUP2 000013db: SLOAD 000013dc: DUP2 000013dd: LT 000013de: ISZERO 000013df: ISZERO 000013e0: PUSH2 0x13e5 000013e3: JUMPI 000013e4: INVALID 000013e5: JUMPDEST 000013e6: SWAP1 000013e7: PUSH1 0x00 000013e9: MSTORE 000013ea: PUSH1 0x20 000013ec: PUSH1 0x00 000013ee: KECCAK256 000013ef: SWAP1 000013f0: ADD 000013f1: PUSH1 0x00 000013f3: SWAP1 000013f4: SLOAD 000013f5: SWAP1 000013f6: PUSH2 0x0100 000013f9: EXP 000013fa: SWAP1 000013fb: DIV 000013fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001411: AND 00001412: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001427: AND 00001428: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000143d: AND 0000143e: DUP2 0000143f: MSTORE 00001440: PUSH1 0x20 00001442: ADD 00001443: SWAP1 00001444: DUP2 00001445: MSTORE 00001446: PUSH1 0x20 00001448: ADD 00001449: PUSH1 0x00 0000144b: KECCAK256 0000144c: PUSH1 0x00 0000144e: SWAP1 0000144f: SLOAD 00001450: SWAP1 00001451: PUSH2 0x0100 00001454: EXP 00001455: SWAP1 00001456: DIV 00001457: PUSH1 0xff 00001459: AND 0000145a: ISZERO 0000145b: PUSH2 0x14ea 0000145e: JUMPI 0000145f: PUSH1 0x03 00001461: DUP2 00001462: DUP2 00001463: SLOAD 00001464: DUP2 00001465: LT 00001466: ISZERO 00001467: ISZERO 00001468: PUSH2 0x146d 0000146b: JUMPI 0000146c: INVALID 0000146d: JUMPDEST 0000146e: SWAP1 0000146f: PUSH1 0x00 00001471: MSTORE 00001472: PUSH1 0x20 00001474: PUSH1 0x00 00001476: KECCAK256 00001477: SWAP1 00001478: ADD 00001479: PUSH1 0x00 0000147b: SWAP1 0000147c: SLOAD 0000147d: SWAP1 0000147e: PUSH2 0x0100 00001481: EXP 00001482: SWAP1 00001483: DIV 00001484: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001499: AND 0000149a: DUP4 0000149b: DUP4 0000149c: DUP2 0000149d: MLOAD 0000149e: DUP2 0000149f: LT 000014a0: ISZERO 000014a1: ISZERO 000014a2: PUSH2 0x14a7 000014a5: JUMPI 000014a6: INVALID 000014a7: JUMPDEST 000014a8: SWAP1 000014a9: PUSH1 0x20 000014ab: ADD 000014ac: SWAP1 000014ad: PUSH1 0x20 000014af: MUL 000014b0: ADD 000014b1: SWAP1 000014b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014c7: AND 000014c8: SWAP1 000014c9: DUP2 000014ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014df: AND 000014e0: DUP2 000014e1: MSTORE 000014e2: POP 000014e3: POP 000014e4: PUSH1 0x01 000014e6: DUP3 000014e7: ADD 000014e8: SWAP2 000014e9: POP 000014ea: JUMPDEST 000014eb: DUP1 000014ec: DUP1 000014ed: PUSH1 0x01 000014ef: ADD 000014f0: SWAP2 000014f1: POP 000014f2: POP 000014f3: PUSH2 0x13b4 000014f6: JUMP 000014f7: JUMPDEST 000014f8: DUP2 000014f9: PUSH1 0x40 000014fb: MLOAD 000014fc: DUP1 000014fd: MSIZE 000014fe: LT 000014ff: PUSH2 0x1505 00001502: JUMPI 00001503: POP 00001504: MSIZE 00001505: JUMPDEST 00001506: SWAP1 00001507: DUP1 00001508: DUP3 00001509: MSTORE 0000150a: DUP1 0000150b: PUSH1 0x20 0000150d: MUL 0000150e: PUSH1 0x20 00001510: ADD 00001511: DUP3 00001512: ADD 00001513: PUSH1 0x40 00001515: MSTORE 00001516: POP 00001517: SWAP4 00001518: POP 00001519: PUSH1 0x00 0000151b: SWAP1 0000151c: POP 0000151d: JUMPDEST 0000151e: DUP2 0000151f: DUP2 00001520: LT 00001521: ISZERO 00001522: PUSH2 0x1594 00001525: JUMPI 00001526: DUP3 00001527: DUP2 00001528: DUP2 00001529: MLOAD 0000152a: DUP2 0000152b: LT 0000152c: ISZERO 0000152d: ISZERO 0000152e: PUSH2 0x1533 00001531: JUMPI 00001532: INVALID 00001533: JUMPDEST 00001534: SWAP1 00001535: PUSH1 0x20 00001537: ADD 00001538: SWAP1 00001539: PUSH1 0x20 0000153b: MUL 0000153c: ADD 0000153d: MLOAD 0000153e: DUP5 0000153f: DUP3 00001540: DUP2 00001541: MLOAD 00001542: DUP2 00001543: LT 00001544: ISZERO 00001545: ISZERO 00001546: PUSH2 0x154b 00001549: JUMPI 0000154a: INVALID 0000154b: JUMPDEST 0000154c: SWAP1 0000154d: PUSH1 0x20 0000154f: ADD 00001550: SWAP1 00001551: PUSH1 0x20 00001553: MUL 00001554: ADD 00001555: SWAP1 00001556: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000156b: AND 0000156c: SWAP1 0000156d: DUP2 0000156e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001583: AND 00001584: DUP2 00001585: MSTORE 00001586: POP 00001587: POP 00001588: DUP1 00001589: DUP1 0000158a: PUSH1 0x01 0000158c: ADD 0000158d: SWAP2 0000158e: POP 0000158f: POP 00001590: PUSH2 0x151d 00001593: JUMP 00001594: JUMPDEST 00001595: POP 00001596: POP 00001597: POP 00001598: SWAP2 00001599: SWAP1 0000159a: POP 0000159b: JUMP 0000159c: JUMPDEST 0000159d: PUSH1 0x05 0000159f: SLOAD 000015a0: DUP2 000015a1: JUMP 000015a2: JUMPDEST 000015a3: ADDRESS 000015a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015b9: AND 000015ba: CALLER 000015bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015d0: AND 000015d1: EQ 000015d2: ISZERO 000015d3: ISZERO 000015d4: PUSH2 0x15dc 000015d7: JUMPI 000015d8: PUSH1 0x00 000015da: DUP1 000015db: REVERT 000015dc: JUMPDEST 000015dd: PUSH1 0x03 000015df: DUP1 000015e0: SLOAD 000015e1: SWAP1 000015e2: POP 000015e3: DUP2 000015e4: PUSH1 0x32 000015e6: DUP3 000015e7: GT 000015e8: DUP1 000015e9: PUSH2 0x15f1 000015ec: JUMPI 000015ed: POP 000015ee: DUP2 000015ef: DUP2 000015f0: GT 000015f1: JUMPDEST 000015f2: DUP1 000015f3: PUSH2 0x15fc 000015f6: JUMPI 000015f7: POP 000015f8: PUSH1 0x00 000015fa: DUP2 000015fb: EQ 000015fc: JUMPDEST 000015fd: DUP1 000015fe: PUSH2 0x1607 00001601: JUMPI 00001602: POP 00001603: PUSH1 0x00 00001605: DUP3 00001606: EQ 00001607: JUMPDEST 00001608: ISZERO 00001609: PUSH2 0x1611 0000160c: JUMPI 0000160d: PUSH1 0x00 0000160f: DUP1 00001610: REVERT 00001611: JUMPDEST 00001612: DUP3 00001613: PUSH1 0x04 00001615: DUP2 00001616: SWAP1 00001617: SSTORE 00001618: POP 00001619: PUSH32 0xa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a 0000163a: DUP4 0000163b: PUSH1 0x40 0000163d: MLOAD 0000163e: DUP1 0000163f: DUP3 00001640: DUP2 00001641: MSTORE 00001642: PUSH1 0x20 00001644: ADD 00001645: SWAP2 00001646: POP 00001647: POP 00001648: PUSH1 0x40 0000164a: MLOAD 0000164b: DUP1 0000164c: SWAP2 0000164d: SUB 0000164e: SWAP1 0000164f: LOG1 00001650: POP 00001651: POP 00001652: POP 00001653: JUMP 00001654: JUMPDEST 00001655: CALLER 00001656: PUSH1 0x02 00001658: PUSH1 0x00 0000165a: DUP3 0000165b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001670: AND 00001671: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001686: AND 00001687: DUP2 00001688: MSTORE 00001689: PUSH1 0x20 0000168b: ADD 0000168c: SWAP1 0000168d: DUP2 0000168e: MSTORE 0000168f: PUSH1 0x20 00001691: ADD 00001692: PUSH1 0x00 00001694: KECCAK256 00001695: PUSH1 0x00 00001697: SWAP1 00001698: SLOAD 00001699: SWAP1 0000169a: PUSH2 0x0100 0000169d: EXP 0000169e: SWAP1 0000169f: DIV 000016a0: PUSH1 0xff 000016a2: AND 000016a3: ISZERO 000016a4: ISZERO 000016a5: PUSH2 0x16ad 000016a8: JUMPI 000016a9: PUSH1 0x00 000016ab: DUP1 000016ac: REVERT 000016ad: JUMPDEST 000016ae: DUP2 000016af: PUSH1 0x00 000016b1: DUP1 000016b2: PUSH1 0x00 000016b4: DUP4 000016b5: DUP2 000016b6: MSTORE 000016b7: PUSH1 0x20 000016b9: ADD 000016ba: SWAP1 000016bb: DUP2 000016bc: MSTORE 000016bd: PUSH1 0x20 000016bf: ADD 000016c0: PUSH1 0x00 000016c2: KECCAK256 000016c3: PUSH1 0x00 000016c5: ADD 000016c6: PUSH1 0x00 000016c8: SWAP1 000016c9: SLOAD 000016ca: SWAP1 000016cb: PUSH2 0x0100 000016ce: EXP 000016cf: SWAP1 000016d0: DIV 000016d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016e6: AND 000016e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016fc: AND 000016fd: EQ 000016fe: ISZERO 000016ff: PUSH2 0x1707 00001702: JUMPI 00001703: PUSH1 0x00 00001705: DUP1 00001706: REVERT 00001707: JUMPDEST 00001708: DUP3 00001709: CALLER 0000170a: PUSH1 0x01 0000170c: PUSH1 0x00 0000170e: DUP4 0000170f: DUP2 00001710: MSTORE 00001711: PUSH1 0x20 00001713: ADD 00001714: SWAP1 00001715: DUP2 00001716: MSTORE 00001717: PUSH1 0x20 00001719: ADD 0000171a: PUSH1 0x00 0000171c: KECCAK256 0000171d: PUSH1 0x00 0000171f: DUP3 00001720: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001735: AND 00001736: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000174b: AND 0000174c: DUP2 0000174d: MSTORE 0000174e: PUSH1 0x20 00001750: ADD 00001751: SWAP1 00001752: DUP2 00001753: MSTORE 00001754: PUSH1 0x20 00001756: ADD 00001757: PUSH1 0x00 00001759: KECCAK256 0000175a: PUSH1 0x00 0000175c: SWAP1 0000175d: SLOAD 0000175e: SWAP1 0000175f: PUSH2 0x0100 00001762: EXP 00001763: SWAP1 00001764: DIV 00001765: PUSH1 0xff 00001767: AND 00001768: ISZERO 00001769: PUSH2 0x1771 0000176c: JUMPI 0000176d: PUSH1 0x00 0000176f: DUP1 00001770: REVERT 00001771: JUMPDEST 00001772: PUSH1 0x01 00001774: DUP1 00001775: PUSH1 0x00 00001777: DUP8 00001778: DUP2 00001779: MSTORE 0000177a: PUSH1 0x20 0000177c: ADD 0000177d: SWAP1 0000177e: DUP2 0000177f: MSTORE 00001780: PUSH1 0x20 00001782: ADD 00001783: PUSH1 0x00 00001785: KECCAK256 00001786: PUSH1 0x00 00001788: CALLER 00001789: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000179e: AND 0000179f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017b4: AND 000017b5: DUP2 000017b6: MSTORE 000017b7: PUSH1 0x20 000017b9: ADD 000017ba: SWAP1 000017bb: DUP2 000017bc: MSTORE 000017bd: PUSH1 0x20 000017bf: ADD 000017c0: PUSH1 0x00 000017c2: KECCAK256 000017c3: PUSH1 0x00 000017c5: PUSH2 0x0100 000017c8: EXP 000017c9: DUP2 000017ca: SLOAD 000017cb: DUP2 000017cc: PUSH1 0xff 000017ce: MUL 000017cf: NOT 000017d0: AND 000017d1: SWAP1 000017d2: DUP4 000017d3: ISZERO 000017d4: ISZERO 000017d5: MUL 000017d6: OR 000017d7: SWAP1 000017d8: SSTORE 000017d9: POP 000017da: DUP5 000017db: CALLER 000017dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017f1: AND 000017f2: PUSH32 0x4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef 00001813: PUSH1 0x40 00001815: MLOAD 00001816: PUSH1 0x40 00001818: MLOAD 00001819: DUP1 0000181a: SWAP2 0000181b: SUB 0000181c: SWAP1 0000181d: LOG3 0000181e: PUSH2 0x1826 00001821: DUP6 00001822: PUSH2 0x0f74 00001825: JUMP 00001826: JUMPDEST 00001827: ISZERO 00001828: PUSH2 0x1835 0000182b: JUMPI 0000182c: PUSH2 0x1834 0000182f: DUP6 00001830: PUSH2 0x1b7b 00001833: JUMP 00001834: JUMPDEST 00001835: JUMPDEST 00001836: POP 00001837: POP 00001838: POP 00001839: POP 0000183a: POP 0000183b: JUMP 0000183c: JUMPDEST 0000183d: PUSH1 0x00 0000183f: PUSH2 0x1849 00001842: DUP5 00001843: DUP5 00001844: DUP5 00001845: PUSH2 0x1e03 00001848: JUMP 00001849: JUMPDEST 0000184a: SWAP1 0000184b: POP 0000184c: PUSH2 0x1854 0000184f: DUP2 00001850: PUSH2 0x1654 00001853: JUMP 00001854: JUMPDEST 00001855: SWAP4 00001856: SWAP3 00001857: POP 00001858: POP 00001859: POP 0000185a: JUMP 0000185b: JUMPDEST 0000185c: PUSH1 0x32 0000185e: DUP2 0000185f: JUMP 00001860: JUMPDEST 00001861: PUSH1 0x04 00001863: SLOAD 00001864: DUP2 00001865: JUMP 00001866: JUMPDEST 00001867: PUSH1 0x00 00001869: ADDRESS 0000186a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000187f: AND 00001880: CALLER 00001881: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001896: AND 00001897: EQ 00001898: ISZERO 00001899: ISZERO 0000189a: PUSH2 0x18a2 0000189d: JUMPI 0000189e: PUSH1 0x00 000018a0: DUP1 000018a1: REVERT 000018a2: JUMPDEST 000018a3: DUP3 000018a4: PUSH1 0x02 000018a6: PUSH1 0x00 000018a8: DUP3 000018a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018be: AND 000018bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018d4: AND 000018d5: DUP2 000018d6: MSTORE 000018d7: PUSH1 0x20 000018d9: ADD 000018da: SWAP1 000018db: DUP2 000018dc: MSTORE 000018dd: PUSH1 0x20 000018df: ADD 000018e0: PUSH1 0x00 000018e2: KECCAK256 000018e3: PUSH1 0x00 000018e5: SWAP1 000018e6: SLOAD 000018e7: SWAP1 000018e8: PUSH2 0x0100 000018eb: EXP 000018ec: SWAP1 000018ed: DIV 000018ee: PUSH1 0xff 000018f0: AND 000018f1: ISZERO 000018f2: ISZERO 000018f3: PUSH2 0x18fb 000018f6: JUMPI 000018f7: PUSH1 0x00 000018f9: DUP1 000018fa: REVERT 000018fb: JUMPDEST 000018fc: DUP3 000018fd: PUSH1 0x02 000018ff: PUSH1 0x00 00001901: DUP3 00001902: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001917: AND 00001918: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000192d: AND 0000192e: DUP2 0000192f: MSTORE 00001930: PUSH1 0x20 00001932: ADD 00001933: SWAP1 00001934: DUP2 00001935: MSTORE 00001936: PUSH1 0x20 00001938: ADD 00001939: PUSH1 0x00 0000193b: KECCAK256 0000193c: PUSH1 0x00 0000193e: SWAP1 0000193f: SLOAD 00001940: SWAP1 00001941: PUSH2 0x0100 00001944: EXP 00001945: SWAP1 00001946: DIV 00001947: PUSH1 0xff 00001949: AND 0000194a: ISZERO 0000194b: PUSH2 0x1953 0000194e: JUMPI 0000194f: PUSH1 0x00 00001951: DUP1 00001952: REVERT 00001953: JUMPDEST 00001954: PUSH1 0x00 00001956: SWAP3 00001957: POP 00001958: JUMPDEST 00001959: PUSH1 0x03 0000195b: DUP1 0000195c: SLOAD 0000195d: SWAP1 0000195e: POP 0000195f: DUP4 00001960: LT 00001961: ISZERO 00001962: PUSH2 0x1a3e 00001965: JUMPI 00001966: DUP5 00001967: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000197c: AND 0000197d: PUSH1 0x03 0000197f: DUP5 00001980: DUP2 00001981: SLOAD 00001982: DUP2 00001983: LT 00001984: ISZERO 00001985: ISZERO 00001986: PUSH2 0x198b 00001989: JUMPI 0000198a: INVALID 0000198b: JUMPDEST 0000198c: SWAP1 0000198d: PUSH1 0x00 0000198f: MSTORE 00001990: PUSH1 0x20 00001992: PUSH1 0x00 00001994: KECCAK256 00001995: SWAP1 00001996: ADD 00001997: PUSH1 0x00 00001999: SWAP1 0000199a: SLOAD 0000199b: SWAP1 0000199c: PUSH2 0x0100 0000199f: EXP 000019a0: SWAP1 000019a1: DIV 000019a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019b7: AND 000019b8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019cd: AND 000019ce: EQ 000019cf: ISZERO 000019d0: PUSH2 0x1a31 000019d3: JUMPI 000019d4: DUP4 000019d5: PUSH1 0x03 000019d7: DUP5 000019d8: DUP2 000019d9: SLOAD 000019da: DUP2 000019db: LT 000019dc: ISZERO 000019dd: ISZERO 000019de: PUSH2 0x19e3 000019e1: JUMPI 000019e2: INVALID 000019e3: JUMPDEST 000019e4: SWAP1 000019e5: PUSH1 0x00 000019e7: MSTORE 000019e8: PUSH1 0x20 000019ea: PUSH1 0x00 000019ec: KECCAK256 000019ed: SWAP1 000019ee: ADD 000019ef: PUSH1 0x00 000019f1: PUSH2 0x0100 000019f4: EXP 000019f5: DUP2 000019f6: SLOAD 000019f7: DUP2 000019f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a0d: MUL 00001a0e: NOT 00001a0f: AND 00001a10: SWAP1 00001a11: DUP4 00001a12: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a27: AND 00001a28: MUL 00001a29: OR 00001a2a: SWAP1 00001a2b: SSTORE 00001a2c: POP 00001a2d: PUSH2 0x1a3e 00001a30: JUMP 00001a31: JUMPDEST 00001a32: DUP3 00001a33: DUP1 00001a34: PUSH1 0x01 00001a36: ADD 00001a37: SWAP4 00001a38: POP 00001a39: POP 00001a3a: PUSH2 0x1958 00001a3d: JUMP 00001a3e: JUMPDEST 00001a3f: PUSH1 0x00 00001a41: PUSH1 0x02 00001a43: PUSH1 0x00 00001a45: DUP8 00001a46: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a5b: AND 00001a5c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a71: AND 00001a72: DUP2 00001a73: MSTORE 00001a74: PUSH1 0x20 00001a76: ADD 00001a77: SWAP1 00001a78: DUP2 00001a79: MSTORE 00001a7a: PUSH1 0x20 00001a7c: ADD 00001a7d: PUSH1 0x00 00001a7f: KECCAK256 00001a80: PUSH1 0x00 00001a82: PUSH2 0x0100 00001a85: EXP 00001a86: DUP2 00001a87: SLOAD 00001a88: DUP2 00001a89: PUSH1 0xff 00001a8b: MUL 00001a8c: NOT 00001a8d: AND 00001a8e: SWAP1 00001a8f: DUP4 00001a90: ISZERO 00001a91: ISZERO 00001a92: MUL 00001a93: OR 00001a94: SWAP1 00001a95: SSTORE 00001a96: POP 00001a97: PUSH1 0x01 00001a99: PUSH1 0x02 00001a9b: PUSH1 0x00 00001a9d: DUP7 00001a9e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ab3: AND 00001ab4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ac9: AND 00001aca: DUP2 00001acb: MSTORE 00001acc: PUSH1 0x20 00001ace: ADD 00001acf: SWAP1 00001ad0: DUP2 00001ad1: MSTORE 00001ad2: PUSH1 0x20 00001ad4: ADD 00001ad5: PUSH1 0x00 00001ad7: KECCAK256 00001ad8: PUSH1 0x00 00001ada: PUSH2 0x0100 00001add: EXP 00001ade: DUP2 00001adf: SLOAD 00001ae0: DUP2 00001ae1: PUSH1 0xff 00001ae3: MUL 00001ae4: NOT 00001ae5: AND 00001ae6: SWAP1 00001ae7: DUP4 00001ae8: ISZERO 00001ae9: ISZERO 00001aea: MUL 00001aeb: OR 00001aec: SWAP1 00001aed: SSTORE 00001aee: POP 00001aef: DUP5 00001af0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b05: AND 00001b06: PUSH32 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90 00001b27: PUSH1 0x40 00001b29: MLOAD 00001b2a: PUSH1 0x40 00001b2c: MLOAD 00001b2d: DUP1 00001b2e: SWAP2 00001b2f: SUB 00001b30: SWAP1 00001b31: LOG2 00001b32: DUP4 00001b33: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b48: AND 00001b49: PUSH32 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d 00001b6a: PUSH1 0x40 00001b6c: MLOAD 00001b6d: PUSH1 0x40 00001b6f: MLOAD 00001b70: DUP1 00001b71: SWAP2 00001b72: SUB 00001b73: SWAP1 00001b74: LOG2 00001b75: POP 00001b76: POP 00001b77: POP 00001b78: POP 00001b79: POP 00001b7a: JUMP 00001b7b: JUMPDEST 00001b7c: PUSH1 0x00 00001b7e: CALLER 00001b7f: PUSH1 0x02 00001b81: PUSH1 0x00 00001b83: DUP3 00001b84: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b99: AND 00001b9a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001baf: AND 00001bb0: DUP2 00001bb1: MSTORE 00001bb2: PUSH1 0x20 00001bb4: ADD 00001bb5: SWAP1 00001bb6: DUP2 00001bb7: MSTORE 00001bb8: PUSH1 0x20 00001bba: ADD 00001bbb: PUSH1 0x00 00001bbd: KECCAK256 00001bbe: PUSH1 0x00 00001bc0: SWAP1 00001bc1: SLOAD 00001bc2: SWAP1 00001bc3: PUSH2 0x0100 00001bc6: EXP 00001bc7: SWAP1 00001bc8: DIV 00001bc9: PUSH1 0xff 00001bcb: AND 00001bcc: ISZERO 00001bcd: ISZERO 00001bce: PUSH2 0x1bd6 00001bd1: JUMPI 00001bd2: PUSH1 0x00 00001bd4: DUP1 00001bd5: REVERT 00001bd6: JUMPDEST 00001bd7: DUP3 00001bd8: CALLER 00001bd9: PUSH1 0x01 00001bdb: PUSH1 0x00 00001bdd: DUP4 00001bde: DUP2 00001bdf: MSTORE 00001be0: PUSH1 0x20 00001be2: ADD 00001be3: SWAP1 00001be4: DUP2 00001be5: MSTORE 00001be6: PUSH1 0x20 00001be8: ADD 00001be9: PUSH1 0x00 00001beb: KECCAK256 00001bec: PUSH1 0x00 00001bee: DUP3 00001bef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c04: AND 00001c05: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c1a: AND 00001c1b: DUP2 00001c1c: MSTORE 00001c1d: PUSH1 0x20 00001c1f: ADD 00001c20: SWAP1 00001c21: DUP2 00001c22: MSTORE 00001c23: PUSH1 0x20 00001c25: ADD 00001c26: PUSH1 0x00 00001c28: KECCAK256 00001c29: PUSH1 0x00 00001c2b: SWAP1 00001c2c: SLOAD 00001c2d: SWAP1 00001c2e: PUSH2 0x0100 00001c31: EXP 00001c32: SWAP1 00001c33: DIV 00001c34: PUSH1 0xff 00001c36: AND 00001c37: ISZERO 00001c38: ISZERO 00001c39: PUSH2 0x1c41 00001c3c: JUMPI 00001c3d: PUSH1 0x00 00001c3f: DUP1 00001c40: REVERT 00001c41: JUMPDEST 00001c42: DUP5 00001c43: PUSH1 0x00 00001c45: DUP1 00001c46: DUP3 00001c47: DUP2 00001c48: MSTORE 00001c49: PUSH1 0x20 00001c4b: ADD 00001c4c: SWAP1 00001c4d: DUP2 00001c4e: MSTORE 00001c4f: PUSH1 0x20 00001c51: ADD 00001c52: PUSH1 0x00 00001c54: KECCAK256 00001c55: PUSH1 0x03 00001c57: ADD 00001c58: PUSH1 0x00 00001c5a: SWAP1 00001c5b: SLOAD 00001c5c: SWAP1 00001c5d: PUSH2 0x0100 00001c60: EXP 00001c61: SWAP1 00001c62: DIV 00001c63: PUSH1 0xff 00001c65: AND 00001c66: ISZERO 00001c67: PUSH2 0x1c6f 00001c6a: JUMPI 00001c6b: PUSH1 0x00 00001c6d: DUP1 00001c6e: REVERT 00001c6f: JUMPDEST 00001c70: DUP6 00001c71: PUSH2 0x1c79 00001c74: DUP2 00001c75: PUSH2 0x0f74 00001c78: JUMP 00001c79: JUMPDEST 00001c7a: ISZERO 00001c7b: ISZERO 00001c7c: PUSH2 0x1c84 00001c7f: JUMPI 00001c80: PUSH1 0x00 00001c82: DUP1 00001c83: REVERT 00001c84: JUMPDEST 00001c85: PUSH1 0x00 00001c87: DUP1 00001c88: DUP9 00001c89: DUP2 00001c8a: MSTORE 00001c8b: PUSH1 0x20 00001c8d: ADD 00001c8e: SWAP1 00001c8f: DUP2 00001c90: MSTORE 00001c91: PUSH1 0x20 00001c93: ADD 00001c94: PUSH1 0x00 00001c96: KECCAK256 00001c97: SWAP6 00001c98: POP 00001c99: PUSH1 0x01 00001c9b: DUP7 00001c9c: PUSH1 0x03 00001c9e: ADD 00001c9f: PUSH1 0x00 00001ca1: PUSH2 0x0100 00001ca4: EXP 00001ca5: DUP2 00001ca6: SLOAD 00001ca7: DUP2 00001ca8: PUSH1 0xff 00001caa: MUL 00001cab: NOT 00001cac: AND 00001cad: SWAP1 00001cae: DUP4 00001caf: ISZERO 00001cb0: ISZERO 00001cb1: MUL 00001cb2: OR 00001cb3: SWAP1 00001cb4: SSTORE 00001cb5: POP 00001cb6: DUP6 00001cb7: PUSH1 0x00 00001cb9: ADD 00001cba: PUSH1 0x00 00001cbc: SWAP1 00001cbd: SLOAD 00001cbe: SWAP1 00001cbf: PUSH2 0x0100 00001cc2: EXP 00001cc3: SWAP1 00001cc4: DIV 00001cc5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001cda: AND 00001cdb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001cf0: AND 00001cf1: DUP7 00001cf2: PUSH1 0x01 00001cf4: ADD 00001cf5: SLOAD 00001cf6: DUP8 00001cf7: PUSH1 0x02 00001cf9: ADD 00001cfa: PUSH1 0x40 00001cfc: MLOAD 00001cfd: DUP1 00001cfe: DUP3 00001cff: DUP1 00001d00: SLOAD 00001d01: PUSH1 0x01 00001d03: DUP2 00001d04: PUSH1 0x01 00001d06: AND 00001d07: ISZERO 00001d08: PUSH2 0x0100 00001d0b: MUL 00001d0c: SUB 00001d0d: AND 00001d0e: PUSH1 0x02 00001d10: SWAP1 00001d11: DIV 00001d12: DUP1 00001d13: ISZERO 00001d14: PUSH2 0x1d5e 00001d17: JUMPI 00001d18: DUP1 00001d19: PUSH1 0x1f 00001d1b: LT 00001d1c: PUSH2 0x1d33 00001d1f: JUMPI 00001d20: PUSH2 0x0100 00001d23: DUP1 00001d24: DUP4 00001d25: SLOAD 00001d26: DIV 00001d27: MUL 00001d28: DUP4 00001d29: MSTORE 00001d2a: SWAP2 00001d2b: PUSH1 0x20 00001d2d: ADD 00001d2e: SWAP2 00001d2f: PUSH2 0x1d5e 00001d32: JUMP 00001d33: JUMPDEST 00001d34: DUP3 00001d35: ADD 00001d36: SWAP2 00001d37: SWAP1 00001d38: PUSH1 0x00 00001d3a: MSTORE 00001d3b: PUSH1 0x20 00001d3d: PUSH1 0x00 00001d3f: KECCAK256 00001d40: SWAP1 00001d41: JUMPDEST 00001d42: DUP2 00001d43: SLOAD 00001d44: DUP2 00001d45: MSTORE 00001d46: SWAP1 00001d47: PUSH1 0x01 00001d49: ADD 00001d4a: SWAP1 00001d4b: PUSH1 0x20 00001d4d: ADD 00001d4e: DUP1 00001d4f: DUP4 00001d50: GT 00001d51: PUSH2 0x1d41 00001d54: JUMPI 00001d55: DUP3 00001d56: SWAP1 00001d57: SUB 00001d58: PUSH1 0x1f 00001d5a: AND 00001d5b: DUP3 00001d5c: ADD 00001d5d: SWAP2 00001d5e: JUMPDEST 00001d5f: POP 00001d60: POP 00001d61: SWAP2 00001d62: POP 00001d63: POP 00001d64: PUSH1 0x00 00001d66: PUSH1 0x40 00001d68: MLOAD 00001d69: DUP1 00001d6a: DUP4 00001d6b: SUB 00001d6c: DUP2 00001d6d: DUP6 00001d6e: DUP8 00001d6f: PUSH2 0x8796 00001d72: GAS 00001d73: SUB 00001d74: CALL 00001d75: SWAP3 00001d76: POP 00001d77: POP 00001d78: POP 00001d79: ISZERO 00001d7a: PUSH2 0x1daf 00001d7d: JUMPI 00001d7e: DUP7 00001d7f: PUSH32 0x33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75 00001da0: PUSH1 0x40 00001da2: MLOAD 00001da3: PUSH1 0x40 00001da5: MLOAD 00001da6: DUP1 00001da7: SWAP2 00001da8: SUB 00001da9: SWAP1 00001daa: LOG2 00001dab: PUSH2 0x1dfa 00001dae: JUMP 00001daf: JUMPDEST 00001db0: DUP7 00001db1: PUSH32 0x526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b79236 00001dd2: PUSH1 0x40 00001dd4: MLOAD 00001dd5: PUSH1 0x40 00001dd7: MLOAD 00001dd8: DUP1 00001dd9: SWAP2 00001dda: SUB 00001ddb: SWAP1 00001ddc: LOG2 00001ddd: PUSH1 0x00 00001ddf: DUP7 00001de0: PUSH1 0x03 00001de2: ADD 00001de3: PUSH1 0x00 00001de5: PUSH2 0x0100 00001de8: EXP 00001de9: DUP2 00001dea: SLOAD 00001deb: DUP2 00001dec: PUSH1 0xff 00001dee: MUL 00001def: NOT 00001df0: AND 00001df1: SWAP1 00001df2: DUP4 00001df3: ISZERO 00001df4: ISZERO 00001df5: MUL 00001df6: OR 00001df7: SWAP1 00001df8: SSTORE 00001df9: POP 00001dfa: JUMPDEST 00001dfb: POP 00001dfc: POP 00001dfd: POP 00001dfe: POP 00001dff: POP 00001e00: POP 00001e01: POP 00001e02: JUMP 00001e03: JUMPDEST 00001e04: PUSH1 0x00 00001e06: DUP4 00001e07: PUSH1 0x00 00001e09: DUP2 00001e0a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e1f: AND 00001e20: EQ 00001e21: ISZERO 00001e22: PUSH2 0x1e2a 00001e25: JUMPI 00001e26: PUSH1 0x00 00001e28: DUP1 00001e29: REVERT 00001e2a: JUMPDEST 00001e2b: PUSH1 0x05 00001e2d: SLOAD 00001e2e: SWAP2 00001e2f: POP 00001e30: PUSH1 0x80 00001e32: PUSH1 0x40 00001e34: MLOAD 00001e35: SWAP1 00001e36: DUP2 00001e37: ADD 00001e38: PUSH1 0x40 00001e3a: MSTORE 00001e3b: DUP1 00001e3c: DUP7 00001e3d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e52: AND 00001e53: DUP2 00001e54: MSTORE 00001e55: PUSH1 0x20 00001e57: ADD 00001e58: DUP6 00001e59: DUP2 00001e5a: MSTORE 00001e5b: PUSH1 0x20 00001e5d: ADD 00001e5e: DUP5 00001e5f: DUP2 00001e60: MSTORE 00001e61: PUSH1 0x20 00001e63: ADD 00001e64: PUSH1 0x00 00001e66: ISZERO 00001e67: ISZERO 00001e68: DUP2 00001e69: MSTORE 00001e6a: POP 00001e6b: PUSH1 0x00 00001e6d: DUP1 00001e6e: DUP5 00001e6f: DUP2 00001e70: MSTORE 00001e71: PUSH1 0x20 00001e73: ADD 00001e74: SWAP1 00001e75: DUP2 00001e76: MSTORE 00001e77: PUSH1 0x20 00001e79: ADD 00001e7a: PUSH1 0x00 00001e7c: KECCAK256 00001e7d: PUSH1 0x00 00001e7f: DUP3 00001e80: ADD 00001e81: MLOAD 00001e82: DUP2 00001e83: PUSH1 0x00 00001e85: ADD 00001e86: PUSH1 0x00 00001e88: PUSH2 0x0100 00001e8b: EXP 00001e8c: DUP2 00001e8d: SLOAD 00001e8e: DUP2 00001e8f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ea4: MUL 00001ea5: NOT 00001ea6: AND 00001ea7: SWAP1 00001ea8: DUP4 00001ea9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ebe: AND 00001ebf: MUL 00001ec0: OR 00001ec1: SWAP1 00001ec2: SSTORE 00001ec3: POP 00001ec4: PUSH1 0x20 00001ec6: DUP3 00001ec7: ADD 00001ec8: MLOAD 00001ec9: DUP2 00001eca: PUSH1 0x01 00001ecc: ADD 00001ecd: SSTORE 00001ece: PUSH1 0x40 00001ed0: DUP3 00001ed1: ADD 00001ed2: MLOAD 00001ed3: DUP2 00001ed4: PUSH1 0x02 00001ed6: ADD 00001ed7: SWAP1 00001ed8: DUP1 00001ed9: MLOAD 00001eda: SWAP1 00001edb: PUSH1 0x20 00001edd: ADD 00001ede: SWAP1 00001edf: PUSH2 0x1ee9 00001ee2: SWAP3 00001ee3: SWAP2 00001ee4: SWAP1 00001ee5: PUSH2 0x1fd3 00001ee8: JUMP 00001ee9: JUMPDEST 00001eea: POP 00001eeb: PUSH1 0x60 00001eed: DUP3 00001eee: ADD 00001eef: MLOAD 00001ef0: DUP2 00001ef1: PUSH1 0x03 00001ef3: ADD 00001ef4: PUSH1 0x00 00001ef6: PUSH2 0x0100 00001ef9: EXP 00001efa: DUP2 00001efb: SLOAD 00001efc: DUP2 00001efd: PUSH1 0xff 00001eff: MUL 00001f00: NOT 00001f01: AND 00001f02: SWAP1 00001f03: DUP4 00001f04: ISZERO 00001f05: ISZERO 00001f06: MUL 00001f07: OR 00001f08: SWAP1 00001f09: SSTORE 00001f0a: POP 00001f0b: SWAP1 00001f0c: POP 00001f0d: POP 00001f0e: PUSH1 0x01 00001f10: PUSH1 0x05 00001f12: PUSH1 0x00 00001f14: DUP3 00001f15: DUP3 00001f16: SLOAD 00001f17: ADD 00001f18: SWAP3 00001f19: POP 00001f1a: POP 00001f1b: DUP2 00001f1c: SWAP1 00001f1d: SSTORE 00001f1e: POP 00001f1f: DUP2 00001f20: PUSH32 0xc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e51 00001f41: PUSH1 0x40 00001f43: MLOAD 00001f44: PUSH1 0x40 00001f46: MLOAD 00001f47: DUP1 00001f48: SWAP2 00001f49: SUB 00001f4a: SWAP1 00001f4b: LOG2 00001f4c: POP 00001f4d: SWAP4 00001f4e: SWAP3 00001f4f: POP 00001f50: POP 00001f51: POP 00001f52: JUMP 00001f53: JUMPDEST 00001f54: DUP2 00001f55: SLOAD 00001f56: DUP2 00001f57: DUP4 00001f58: SSTORE 00001f59: DUP2 00001f5a: DUP2 00001f5b: ISZERO 00001f5c: GT 00001f5d: PUSH2 0x1f7a 00001f60: JUMPI 00001f61: DUP2 00001f62: DUP4 00001f63: PUSH1 0x00 00001f65: MSTORE 00001f66: PUSH1 0x20 00001f68: PUSH1 0x00 00001f6a: KECCAK256 00001f6b: SWAP2 00001f6c: DUP3 00001f6d: ADD 00001f6e: SWAP2 00001f6f: ADD 00001f70: PUSH2 0x1f79 00001f73: SWAP2 00001f74: SWAP1 00001f75: PUSH2 0x2053 00001f78: JUMP 00001f79: JUMPDEST 00001f7a: JUMPDEST 00001f7b: POP 00001f7c: POP 00001f7d: POP 00001f7e: JUMP 00001f7f: JUMPDEST 00001f80: DUP2 00001f81: SLOAD 00001f82: DUP2 00001f83: DUP4 00001f84: SSTORE 00001f85: DUP2 00001f86: DUP2 00001f87: ISZERO 00001f88: GT 00001f89: PUSH2 0x1fa6 00001f8c: JUMPI 00001f8d: DUP2 00001f8e: DUP4 00001f8f: PUSH1 0x00 00001f91: MSTORE 00001f92: PUSH1 0x20 00001f94: PUSH1 0x00 00001f96: KECCAK256 00001f97: SWAP2 00001f98: DUP3 00001f99: ADD 00001f9a: SWAP2 00001f9b: ADD 00001f9c: PUSH2 0x1fa5 00001f9f: SWAP2 00001fa0: SWAP1 00001fa1: PUSH2 0x2053 00001fa4: JUMP 00001fa5: JUMPDEST 00001fa6: JUMPDEST 00001fa7: POP 00001fa8: POP 00001fa9: POP 00001faa: JUMP 00001fab: JUMPDEST 00001fac: PUSH1 0x20 00001fae: PUSH1 0x40 00001fb0: MLOAD 00001fb1: SWAP1 00001fb2: DUP2 00001fb3: ADD 00001fb4: PUSH1 0x40 00001fb6: MSTORE 00001fb7: DUP1 00001fb8: PUSH1 0x00 00001fba: DUP2 00001fbb: MSTORE 00001fbc: POP 00001fbd: SWAP1 00001fbe: JUMP 00001fbf: JUMPDEST 00001fc0: PUSH1 0x20 00001fc2: PUSH1 0x40 00001fc4: MLOAD 00001fc5: SWAP1 00001fc6: DUP2 00001fc7: ADD 00001fc8: PUSH1 0x40 00001fca: MSTORE 00001fcb: DUP1 00001fcc: PUSH1 0x00 00001fce: DUP2 00001fcf: MSTORE 00001fd0: POP 00001fd1: SWAP1 00001fd2: JUMP 00001fd3: JUMPDEST 00001fd4: DUP3 00001fd5: DUP1 00001fd6: SLOAD 00001fd7: PUSH1 0x01 00001fd9: DUP2 00001fda: PUSH1 0x01 00001fdc: AND 00001fdd: ISZERO 00001fde: PUSH2 0x0100 00001fe1: MUL 00001fe2: SUB 00001fe3: AND 00001fe4: PUSH1 0x02 00001fe6: SWAP1 00001fe7: DIV 00001fe8: SWAP1 00001fe9: PUSH1 0x00 00001feb: MSTORE 00001fec: PUSH1 0x20 00001fee: PUSH1 0x00 00001ff0: KECCAK256 00001ff1: SWAP1 00001ff2: PUSH1 0x1f 00001ff4: ADD 00001ff5: PUSH1 0x20 00001ff7: SWAP1 00001ff8: DIV 00001ff9: DUP2 00001ffa: ADD 00001ffb: SWAP3 00001ffc: DUP3 00001ffd: PUSH1 0x1f 00001fff: LT 00002000: PUSH2 0x2014 00002003: JUMPI 00002004: DUP1 00002005: MLOAD 00002006: PUSH1 0xff 00002008: NOT 00002009: AND 0000200a: DUP4 0000200b: DUP1 0000200c: ADD 0000200d: OR 0000200e: DUP6 0000200f: SSTORE 00002010: PUSH2 0x2042 00002013: JUMP 00002014: JUMPDEST 00002015: DUP3 00002016: DUP1 00002017: ADD 00002018: PUSH1 0x01 0000201a: ADD 0000201b: DUP6 0000201c: SSTORE 0000201d: DUP3 0000201e: ISZERO 0000201f: PUSH2 0x2042 00002022: JUMPI 00002023: SWAP2 00002024: DUP3 00002025: ADD 00002026: JUMPDEST 00002027: DUP3 00002028: DUP2 00002029: GT 0000202a: ISZERO 0000202b: PUSH2 0x2041 0000202e: JUMPI 0000202f: DUP3 00002030: MLOAD 00002031: DUP3 00002032: SSTORE 00002033: SWAP2 00002034: PUSH1 0x20 00002036: ADD 00002037: SWAP2 00002038: SWAP1 00002039: PUSH1 0x01 0000203b: ADD 0000203c: SWAP1 0000203d: PUSH2 0x2026 00002040: JUMP 00002041: JUMPDEST 00002042: JUMPDEST 00002043: POP 00002044: SWAP1 00002045: POP 00002046: PUSH2 0x204f 00002049: SWAP2 0000204a: SWAP1 0000204b: PUSH2 0x2053 0000204e: JUMP 0000204f: JUMPDEST 00002050: POP 00002051: SWAP1 00002052: JUMP 00002053: JUMPDEST 00002054: PUSH2 0x2075 00002057: SWAP2 00002058: SWAP1 00002059: JUMPDEST 0000205a: DUP1 0000205b: DUP3 0000205c: GT 0000205d: ISZERO 0000205e: PUSH2 0x2071 00002061: JUMPI 00002062: PUSH1 0x00 00002064: DUP2 00002065: PUSH1 0x00 00002067: SWAP1 00002068: SSTORE 00002069: POP 0000206a: PUSH1 0x01 0000206c: ADD 0000206d: PUSH2 0x2059 00002070: JUMP 00002071: JUMPDEST 00002072: POP 00002073: SWAP1 00002074: JUMP 00002075: JUMPDEST 00002076: SWAP1 00002077: JUMP 00002078: STOP 00002079: LOG1 0000207a: PUSH6 0x627a7a723058 00002081: KECCAK256 00002082: UNKNOWN(0xE1) 00002083: UNKNOWN(0xCF) 00002084: EXP 00002085: UNKNOWN(0xE6) 00002086: EXTCODEHASH 00002087: UNKNOWN(0xBE) 00002088: PUSH12 0xe734a070f0f94b5c9415e148 00002095: DUP13 00002096: EXTCODEHASH 00002097: UNKNOWN(0x0E) 00002098: DUP5 00002099: PUSH25
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x14852263f2d907f500d21761065fb40395eed43cc4e805779b23468c1cc9e6a3
call_targets:
0x91bd62e48282ea188998d04570ed8a3e237d3a6a
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x14852263f2d907f500d21761065fb40395eed43cc4e805779b23468c1cc9e6a3",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x91bd62e48282ea188998d04570ed8a3e237d3a6a"
],
"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": "0xffffffff",
"selector": "0xffffffff",
"calldata_variants": [
"0xffffffff",
"0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x025e7c27",
"selector": "0x025e7c27",
"calldata_variants": [
"0x025e7c27",
"0x025e7c270000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x173825d9",
"selector": "0x173825d9",
"calldata_variants": [
"0x173825d9",
"0x173825d90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x20ea8d86",
"selector": "0x20ea8d86",
"calldata_variants": [
"0x20ea8d86",
"0x20ea8d860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2f54bf6e",
"selector": "0x2f54bf6e",
"calldata_variants": [
"0x2f54bf6e",
"0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3411c81c",
"selector": "0x3411c81c",
"calldata_variants": [
"0x3411c81c",
"0x3411c81c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x54741525",
"selector": "0x54741525",
"calldata_variants": [
"0x54741525",
"0x547415250000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7065cb48",
"selector": "0x7065cb48",
"calldata_variants": [
"0x7065cb48",
"0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 7540,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [
{
"pc": 2165,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3478,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 5562,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 6272,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 1
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x14852263f2d907f500d21761065fb40395eed43cc4e805779b23468c1cc9e6a3
call_targets:
0x91bd62e48282ea188998d04570ed8a3e237d3a6a
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x14852263f2d907f500d21761065fb40395eed43cc4e805779b23468c1cc9e6a3",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x91bd62e48282ea188998d04570ed8a3e237d3a6a"
],
"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": "0xffffffff",
"selector": "0xffffffff",
"calldata_variants": [
"0xffffffff",
"0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x025e7c27",
"selector": "0x025e7c27",
"calldata_variants": [
"0x025e7c27",
"0x025e7c270000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x173825d9",
"selector": "0x173825d9",
"calldata_variants": [
"0x173825d9",
"0x173825d90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x20ea8d86",
"selector": "0x20ea8d86",
"calldata_variants": [
"0x20ea8d86",
"0x20ea8d860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2f54bf6e",
"selector": "0x2f54bf6e",
"calldata_variants": [
"0x2f54bf6e",
"0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3411c81c",
"selector": "0x3411c81c",
"calldata_variants": [
"0x3411c81c",
"0x3411c81c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x54741525",
"selector": "0x54741525",
"calldata_variants": [
"0x54741525",
"0x547415250000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7065cb48",
"selector": "0x7065cb48",
"calldata_variants": [
"0x7065cb48",
"0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 7540,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": [
{
"pc": 2165,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3478,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 5562,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 6272,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|