832463d7-9e93-4b74-bdd3-6d4bfa44b44d
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 |
|---|---|---|---|---|
| 31707 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 95665 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 95666 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 95667 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 95668 | capability.graph | complete | 1 / 3 | 1 week ago |
| 95669 | detector.run | complete | 1 / 3 | 1 week ago |
| 95670 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:593263] OpenAI Codex v0.77.0 (research preview)
[codex:593263] --------
[codex:593263] workdir: /tmp/codex-multi-jd318ejh
[codex:593263] model: gpt-5.2-codex
[codex:593263] provider: openai
[codex:593263] approval: never
[codex:593263] sandbox: read-only
[codex:593263] reasoning effort: xhigh
[codex:593263] reasoning summaries: auto
[codex:593263] session id: 019b8ccb-24f6-74b2-afdd-8ab5c827e014
[codex:593263] --------
[codex:593263] user
[codex:593263] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:593263]
[codex:593263] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:593263]
[codex:593263] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:593263] - Gas inefficiency, code quality, naming, or best practices
[codex:593263] - Theoretical vulnerabilities without a clear extraction path
[codex:593263] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:593263] - Front-running unless it enables theft beyond MEV
[codex:593263] - DoS, griefing, or issues that don't result in attacker profit
[codex:593263] - Missing events, view function issues, or informational findings
[codex:593263]
[codex:593263] HIGH-VALUE PATTERNS TO HUNT:
[codex:593263] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:593263] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:593263] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:593263] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:593263] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:593263] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:593263] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:593263] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:593263] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:593263]
[codex:593263] For each finding, you MUST provide:
[codex:593263] 1. Exact file and line numbers of vulnerable code
[codex:593263] 2. Step-by-step exploit transaction sequence
[codex:593263] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:593263]
[codex:593263] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:593263]
[codex:593263] Output MUST be valid JSON matching the provided schema.
[codex:593263] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:593263] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:593263] mcp startup: no servers
[codex:593263]
[codex:593263] thinking
[codex:593263] **Preparing to review AGENTS instructions**
[codex:593263] exec
[codex:593263] /bin/bash -lc ls in /tmp/codex-multi-jd318ejh succeeded in 6ms:
[codex:593263] AUDIT_BUNDLE.txt
[codex:593263] codex-output-schema.json
[codex:593263] contracts
[codex:593263]
[codex:593263] thinking
[codex:593263] **Reading AUDIT_BUNDLE.txt**
[codex:593263] exec
[codex:593263] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-jd318ejh succeeded in 5ms:
[codex:593263] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:593263]
[codex:593263] ================================================================================
[codex:593263] FILE: contracts/contracts/BlootElves.sol
[codex:593263] ================================================================================
[codex:593263] // contracts/BlootElves.sol
[codex:593263] // SPDX-License-Identifier: MIT
[codex:593263] pragma solidity ^0.6.6;
[codex:593263]
[codex:593263] import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
[codex:593263] import "@openzeppelin/contracts/access/Ownable.sol";
[codex:593263] import "@openzeppelin/contracts/utils/Strings.sol";
[codex:593263]
[codex:593263] contract BlootElves is ERC721, Ownable {
[codex:593263] using SafeMath for uint256;
[codex:593263] using Strings for string;
[codex:593263]
[codex:593263] ERC721 bloot = ERC721(0x4F8730E0b32B04beaa5757e5aea3aeF970E5B613);
[codex:593263]
[codex:593263] uint256 MINT_PER_BLOOT = 2;
[codex:593263]
[codex:593263] thinking
[codex:593263] **Analyzing NFT minting restriction bypass**
[codex:593263] exec
[codex:593263] /bin/bash -lc 'nl -ba contracts/contracts/BlootElves.sol' in /tmp/codex-multi-jd318ejh succeeded in 6ms:
[codex:593263] 1 // contracts/BlootElves.sol
[codex:593263] 2 // SPDX-License-Identifier: MIT
[codex:593263] 3 pragma solidity ^0.6.6;
[codex:593263] 4
[codex:593263] 5 import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
[codex:593263] 6 import "@openzeppelin/contracts/access/Ownable.sol";
[codex:593263] 7 import "@openzeppelin/contracts/utils/Strings.sol";
[codex:593263] 8
[codex:593263] 9 contract BlootElves is ERC721, Ownable {
[codex:593263] 10 using SafeMath for uint256;
[codex:593263] 11 using Strings for string;
[codex:593263] 12
[codex:593263] 13 ERC721 bloot = ERC721(0x4F8730E0b32B04beaa5757e5aea3aeF970E5B613);
[codex:593263] 14
[codex:593263] 15 uint256 MINT_PER_BLOOT = 2;
[codex:593263] 16 uint256 MAX_SUPPLY = 5000;
[codex:593263] 17
[codex:593263] 18 constructor()
[codex:593263] 19 public
[codex:593263] 20 ERC721("BlootElves", "B&Elves")
[codex:593263]
[codex:593263] thinking
[codex:593263] **Summarizing exploit scenario and crafting JSON report**
[codex:593263]
[codex:593263] I'm outlining a detailed exploit where the per-Bloot mint cap is bypassed by transferring minted tokens, which fools the balance-based limit. I'll document the step-by-step attack, assess the severity as high since the entire NFT supply can be minted illegitimately, and prepare a precise JSON report with evidence, locations, category "math," and recommendations to fix the mint tracking logic.
[codex:593263] codex
[codex:593263] {"no_findings":false,"summary":"Found a concrete mint-limit bypass that lets a single Bloot holder mint the full 5,000 NFT supply and extract all value.","findings":[{"severity":"high","category":"math","title":"Per-Bloot mint cap bypass via balance-based check enables full supply capture","exploit_scenario":"1) Attacker acquires or borrows 1 Bloot in address A. 2) Call requestNewBloot twice to mint 2 BlootElves to A (allowed because A’s BlootElves balance < 2). 3) Transfer the minted BlootElves from A to another address B, reducing A’s BlootElves balance below 2. 4) Repeat steps 2–3 to mint additional tokens because the check only looks at current balance, not total minted. 5) Continue until totalSupply reaches MAX_SUPPLY, capturing up to the full 5,000 NFTs and selling them for profit.","recommendation":"Track total minted per address (e.g., mapping mintedBy) and enforce mintedBy[msg.sender] < bloot.balanceOf(msg.sender) * MINT_PER_BLOOT; do not reduce mintedBy on transfers. Alternatively, enforce one-time claims per Bloot tokenId.","evidence":"Mint limit is enforced by current balance, not cumulative mints: `require(super.balanceOf(msg.sender) < bloot.balanceOf(msg.sender) * MINT_PER_BLOOT, ...)`","locations":["contracts/contracts/BlootElves.sol:29","contracts/contracts/BlootElves.sol:31"]}]}
[codex:593263] tokens used
[codex:593263] 5,465
[codex:593263] {"no_findings":false,"summary":"Found a concrete mint-limit bypass that lets a single Bloot holder mint the full 5,000 NFT supply and extract all value.","findings":[{"severity":"high","category":"math","title":"Per-Bloot mint cap bypass via balance-based check enables full supply capture","exploit_scenario":"1) Attacker acquires or borrows 1 Bloot in address A. 2) Call requestNewBloot twice to mint 2 BlootElves to A (allowed because A’s BlootElves balance < 2). 3) Transfer the minted BlootElves from A to another address B, reducing A’s BlootElves balance below 2. 4) Repeat steps 2–3 to mint additional tokens because the check only looks at current balance, not total minted. 5) Continue until totalSupply reaches MAX_SUPPLY, capturing up to the full 5,000 NFTs and selling them for profit.","recommendation":"Track total minted per address (e.g., mapping mintedBy) and enforce mintedBy[msg.sender] < bloot.balanceOf(msg.sender) * MINT_PER_BLOOT; do not reduce mintedBy on transfers. Alternatively, enforce one-time claims per Bloot tokenId.","evidence":"Mint limit is enforced by current balance, not cumulative mints: `require(super.balanceOf(msg.sender) < bloot.balanceOf(msg.sender) * MINT_PER_BLOOT, ...)`","locations":["contracts/contracts/BlootElves.sol:29","contracts/contracts/BlootElves.sol:31"]}]}
{
"codex": {
"ran_at": "2026-01-05T06:15:33.022997+00:00",
"returncode": 0
},
"summary": "Found a concrete mint-limit bypass that lets a single Bloot holder mint the full 5,000 NFT supply and extract all value.",
"raw_final": {
"summary": "Found a concrete mint-limit bypass that lets a single Bloot holder mint the full 5,000 NFT supply and extract all value.",
"findings": [
{
"title": "Per-Bloot mint cap bypass via balance-based check enables full supply capture",
"category": "math",
"evidence": "Mint limit is enforced by current balance, not cumulative mints: `require(super.balanceOf(msg.sender) < bloot.balanceOf(msg.sender) * MINT_PER_BLOOT, ...)`",
"severity": "high",
"locations": [
"contracts/contracts/BlootElves.sol:29",
"contracts/contracts/BlootElves.sol:31"
],
"recommendation": "Track total minted per address (e.g., mapping mintedBy) and enforce mintedBy[msg.sender] < bloot.balanceOf(msg.sender) * MINT_PER_BLOOT; do not reduce mintedBy on transfers. Alternatively, enforce one-time claims per Bloot tokenId.",
"exploit_scenario": "1) Attacker acquires or borrows 1 Bloot in address A. 2) Call requestNewBloot twice to mint 2 BlootElves to A (allowed because A\u2019s BlootElves balance < 2). 3) Transfer the minted BlootElves from A to another address B, reducing A\u2019s BlootElves balance below 2. 4) Repeat steps 2\u20133 to mint additional tokens because the check only looks at current balance, not total minted. 5) Continue until totalSupply reaches MAX_SUPPLY, capturing up to the full 5,000 NFTs and selling them for profit."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x014b 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x6352211e 00000019: GT 0000001a: PUSH2 0x00b6 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0x95d89b41 00000024: GT 00000025: PUSH2 0x006f 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0x95d89b41 0000002f: EQ 00000030: PUSH2 0x0995 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xa22cb465 0000003a: EQ 0000003b: PUSH2 0x0a25 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xb88d4fde 00000045: EQ 00000046: PUSH2 0x0a82 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xc87b56dd 00000050: EQ 00000051: PUSH2 0x0b94 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xe985e9c5 0000005b: EQ 0000005c: PUSH2 0x0c48 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xf2fde38b 00000066: EQ 00000067: PUSH2 0x0cd1 0000006a: JUMPI 0000006b: PUSH2 0x014b 0000006e: JUMP 0000006f: JUMPDEST 00000070: DUP1 00000071: PUSH4 0x6352211e 00000076: EQ 00000077: PUSH2 0x0752 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0x6c0360eb 00000081: EQ 00000082: PUSH2 0x07cd 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0x70a08231 0000008c: EQ 0000008d: PUSH2 0x085d 00000090: JUMPI 00000091: DUP1 00000092: PUSH4 0x715018a6 00000097: EQ 00000098: PUSH2 0x08c2 0000009b: JUMPI 0000009c: DUP1 0000009d: PUSH4 0x82371f20 000000a2: EQ 000000a3: PUSH2 0x08d9 000000a6: JUMPI 000000a7: DUP1 000000a8: PUSH4 0x8da5cb5b 000000ad: EQ 000000ae: PUSH2 0x093e 000000b1: JUMPI 000000b2: PUSH2 0x014b 000000b5: JUMP 000000b6: JUMPDEST 000000b7: DUP1 000000b8: PUSH4 0x23b872dd 000000bd: GT 000000be: PUSH2 0x0108 000000c1: JUMPI 000000c2: DUP1 000000c3: PUSH4 0x23b872dd 000000c8: EQ 000000c9: PUSH2 0x0425 000000cc: JUMPI 000000cd: DUP1 000000ce: PUSH4 0x25f014ac 000000d3: EQ 000000d4: PUSH2 0x04a0 000000d7: JUMPI 000000d8: DUP1 000000d9: PUSH4 0x2f745c59 000000de: EQ 000000df: PUSH2 0x0565 000000e2: JUMPI 000000e3: DUP1 000000e4: PUSH4 0x3bb3a24d 000000e9: EQ 000000ea: PUSH2 0x05d4 000000ed: JUMPI 000000ee: DUP1 000000ef: PUSH4 0x42842e0e 000000f4: EQ 000000f5: PUSH2 0x0688 000000f8: JUMPI 000000f9: DUP1 000000fa: PUSH4 0x4f6ccce7 000000ff: EQ 00000100: PUSH2 0x0703 00000103: JUMPI 00000104: PUSH2 0x014b 00000107: JUMP 00000108: JUMPDEST 00000109: DUP1 0000010a: PUSH4 0x01ffc9a7 0000010f: EQ 00000110: PUSH2 0x0150 00000113: JUMPI 00000114: DUP1 00000115: PUSH4 0x06fdde03 0000011a: EQ 0000011b: PUSH2 0x01c2 0000011e: JUMPI 0000011f: DUP1 00000120: PUSH4 0x081812fc 00000125: EQ 00000126: PUSH2 0x0252 00000129: JUMPI 0000012a: DUP1 0000012b: PUSH4 0x095ea7b3 00000130: EQ 00000131: PUSH2 0x02cd 00000134: JUMPI 00000135: DUP1 00000136: PUSH4 0x162094c4 0000013b: EQ 0000013c: PUSH2 0x0328 0000013f: JUMPI 00000140: DUP1 00000141: PUSH4 0x18160ddd 00000146: EQ 00000147: PUSH2 0x03fa 0000014a: JUMPI 0000014b: JUMPDEST 0000014c: PUSH1 0x00 0000014e: DUP1 0000014f: REVERT 00000150: JUMPDEST 00000151: CALLVALUE 00000152: DUP1 00000153: ISZERO 00000154: PUSH2 0x015c 00000157: JUMPI 00000158: PUSH1 0x00 0000015a: DUP1 0000015b: REVERT 0000015c: JUMPDEST 0000015d: POP 0000015e: PUSH2 0x01a8 00000161: PUSH1 0x04 00000163: DUP1 00000164: CALLDATASIZE 00000165: SUB 00000166: PUSH1 0x20 00000168: DUP2 00000169: LT 0000016a: ISZERO 0000016b: PUSH2 0x0173 0000016e: JUMPI 0000016f: PUSH1 0x00 00000171: DUP1 00000172: REVERT 00000173: JUMPDEST 00000174: DUP2 00000175: ADD 00000176: SWAP1 00000177: DUP1 00000178: DUP1 00000179: CALLDATALOAD 0000017a: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000197: NOT 00000198: AND 00000199: SWAP1 0000019a: PUSH1 0x20 0000019c: ADD 0000019d: SWAP1 0000019e: SWAP3 0000019f: SWAP2 000001a0: SWAP1 000001a1: POP 000001a2: POP 000001a3: POP 000001a4: PUSH2 0x0d22 000001a7: JUMP 000001a8: JUMPDEST 000001a9: PUSH1 0x40 000001ab: MLOAD 000001ac: DUP1 000001ad: DUP3 000001ae: ISZERO 000001af: ISZERO 000001b0: ISZERO 000001b1: ISZERO 000001b2: DUP2 000001b3: MSTORE 000001b4: PUSH1 0x20 000001b6: ADD 000001b7: SWAP2 000001b8: POP 000001b9: POP 000001ba: PUSH1 0x40 000001bc: MLOAD 000001bd: DUP1 000001be: SWAP2 000001bf: SUB 000001c0: SWAP1 000001c1: RETURN 000001c2: JUMPDEST 000001c3: CALLVALUE 000001c4: DUP1 000001c5: ISZERO 000001c6: PUSH2 0x01ce 000001c9: JUMPI 000001ca: PUSH1 0x00 000001cc: DUP1 000001cd: REVERT 000001ce: JUMPDEST 000001cf: POP 000001d0: PUSH2 0x01d7 000001d3: PUSH2 0x0d89 000001d6: JUMP 000001d7: JUMPDEST 000001d8: PUSH1 0x40 000001da: MLOAD 000001db: DUP1 000001dc: DUP1 000001dd: PUSH1 0x20 000001df: ADD 000001e0: DUP3 000001e1: DUP2 000001e2: SUB 000001e3: DUP3 000001e4: MSTORE 000001e5: DUP4 000001e6: DUP2 000001e7: DUP2 000001e8: MLOAD 000001e9: DUP2 000001ea: MSTORE 000001eb: PUSH1 0x20 000001ed: ADD 000001ee: SWAP2 000001ef: POP 000001f0: DUP1 000001f1: MLOAD 000001f2: SWAP1 000001f3: PUSH1 0x20 000001f5: ADD 000001f6: SWAP1 000001f7: DUP1 000001f8: DUP4 000001f9: DUP4 000001fa: PUSH1 0x00 000001fc: JUMPDEST 000001fd: DUP4 000001fe: DUP2 000001ff: LT 00000200: ISZERO 00000201: PUSH2 0x0217 00000204: JUMPI 00000205: DUP1 00000206: DUP3 00000207: ADD 00000208: MLOAD 00000209: DUP2 0000020a: DUP5 0000020b: ADD 0000020c: MSTORE 0000020d: PUSH1 0x20 0000020f: DUP2 00000210: ADD 00000211: SWAP1 00000212: POP 00000213: PUSH2 0x01fc 00000216: JUMP 00000217: JUMPDEST 00000218: POP 00000219: POP 0000021a: POP 0000021b: POP 0000021c: SWAP1 0000021d: POP 0000021e: SWAP1 0000021f: DUP2 00000220: ADD 00000221: SWAP1 00000222: PUSH1 0x1f 00000224: AND 00000225: DUP1 00000226: ISZERO 00000227: PUSH2 0x0244 0000022a: JUMPI 0000022b: DUP1 0000022c: DUP3 0000022d: SUB 0000022e: DUP1 0000022f: MLOAD 00000230: PUSH1 0x01 00000232: DUP4 00000233: PUSH1 0x20 00000235: SUB 00000236: PUSH2 0x0100 00000239: EXP 0000023a: SUB 0000023b: NOT 0000023c: AND 0000023d: DUP2 0000023e: MSTORE 0000023f: PUSH1 0x20 00000241: ADD 00000242: SWAP2 00000243: POP 00000244: JUMPDEST 00000245: POP 00000246: SWAP3 00000247: POP 00000248: POP 00000249: POP 0000024a: PUSH1 0x40 0000024c: MLOAD 0000024d: DUP1 0000024e: SWAP2 0000024f: SUB 00000250: SWAP1 00000251: RETURN 00000252: JUMPDEST 00000253: CALLVALUE 00000254: DUP1 00000255: ISZERO 00000256: PUSH2 0x025e 00000259: JUMPI 0000025a: PUSH1 0x00 0000025c: DUP1 0000025d: REVERT 0000025e: JUMPDEST 0000025f: POP 00000260: PUSH2 0x028b 00000263: PUSH1 0x04 00000265: DUP1 00000266: CALLDATASIZE 00000267: SUB 00000268: PUSH1 0x20 0000026a: DUP2 0000026b: LT 0000026c: ISZERO 0000026d: PUSH2 0x0275 00000270: JUMPI 00000271: PUSH1 0x00 00000273: DUP1 00000274: REVERT 00000275: JUMPDEST 00000276: DUP2 00000277: ADD 00000278: SWAP1 00000279: DUP1 0000027a: DUP1 0000027b: CALLDATALOAD 0000027c: SWAP1 0000027d: PUSH1 0x20 0000027f: ADD 00000280: SWAP1 00000281: SWAP3 00000282: SWAP2 00000283: SWAP1 00000284: POP 00000285: POP 00000286: POP 00000287: PUSH2 0x0e2b 0000028a: JUMP 0000028b: JUMPDEST 0000028c: PUSH1 0x40 0000028e: MLOAD 0000028f: DUP1 00000290: DUP3 00000291: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002a6: AND 000002a7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002bc: AND 000002bd: DUP2 000002be: MSTORE 000002bf: PUSH1 0x20 000002c1: ADD 000002c2: SWAP2 000002c3: POP 000002c4: POP 000002c5: PUSH1 0x40 000002c7: MLOAD 000002c8: DUP1 000002c9: SWAP2 000002ca: SUB 000002cb: SWAP1 000002cc: RETURN 000002cd: JUMPDEST 000002ce: CALLVALUE 000002cf: DUP1 000002d0: ISZERO 000002d1: PUSH2 0x02d9 000002d4: JUMPI 000002d5: PUSH1 0x00 000002d7: DUP1 000002d8: REVERT 000002d9: JUMPDEST 000002da: POP 000002db: PUSH2 0x0326 000002de: PUSH1 0x04 000002e0: DUP1 000002e1: CALLDATASIZE 000002e2: SUB 000002e3: PUSH1 0x40 000002e5: DUP2 000002e6: LT 000002e7: ISZERO 000002e8: PUSH2 0x02f0 000002eb: JUMPI 000002ec: PUSH1 0x00 000002ee: DUP1 000002ef: REVERT 000002f0: JUMPDEST 000002f1: DUP2 000002f2: ADD 000002f3: SWAP1 000002f4: DUP1 000002f5: DUP1 000002f6: CALLDATALOAD 000002f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000030c: AND 0000030d: SWAP1 0000030e: PUSH1 0x20 00000310: ADD 00000311: SWAP1 00000312: SWAP3 00000313: SWAP2 00000314: SWAP1 00000315: DUP1 00000316: CALLDATALOAD 00000317: SWAP1 00000318: PUSH1 0x20 0000031a: ADD 0000031b: SWAP1 0000031c: SWAP3 0000031d: SWAP2 0000031e: SWAP1 0000031f: POP 00000320: POP 00000321: POP 00000322: PUSH2 0x0ec6 00000325: JUMP 00000326: JUMPDEST 00000327: STOP 00000328: JUMPDEST 00000329: CALLVALUE 0000032a: DUP1 0000032b: ISZERO 0000032c: PUSH2 0x0334 0000032f: JUMPI 00000330: PUSH1 0x00 00000332: DUP1 00000333: REVERT 00000334: JUMPDEST 00000335: POP 00000336: PUSH2 0x03f8 00000339: PUSH1 0x04 0000033b: DUP1 0000033c: CALLDATASIZE 0000033d: SUB 0000033e: PUSH1 0x40 00000340: DUP2 00000341: LT 00000342: ISZERO 00000343: PUSH2 0x034b 00000346: JUMPI 00000347: PUSH1 0x00 00000349: DUP1 0000034a: REVERT 0000034b: JUMPDEST 0000034c: DUP2 0000034d: ADD 0000034e: SWAP1 0000034f: DUP1 00000350: DUP1 00000351: CALLDATALOAD 00000352: SWAP1 00000353: PUSH1 0x20 00000355: ADD 00000356: SWAP1 00000357: SWAP3 00000358: SWAP2 00000359: SWAP1 0000035a: DUP1 0000035b: CALLDATALOAD 0000035c: SWAP1 0000035d: PUSH1 0x20 0000035f: ADD 00000360: SWAP1 00000361: PUSH5 0x0100000000 00000367: DUP2 00000368: GT 00000369: ISZERO 0000036a: PUSH2 0x0372 0000036d: JUMPI 0000036e: PUSH1 0x00 00000370: DUP1 00000371: REVERT 00000372: JUMPDEST 00000373: DUP3 00000374: ADD 00000375: DUP4 00000376: PUSH1 0x20 00000378: DUP3 00000379: ADD 0000037a: GT 0000037b: ISZERO 0000037c: PUSH2 0x0384 0000037f: JUMPI 00000380: PUSH1 0x00 00000382: DUP1 00000383: REVERT 00000384: JUMPDEST 00000385: DUP1 00000386: CALLDATALOAD 00000387: SWAP1 00000388: PUSH1 0x20 0000038a: ADD 0000038b: SWAP2 0000038c: DUP5 0000038d: PUSH1 0x01 0000038f: DUP4 00000390: MUL 00000391: DUP5 00000392: ADD 00000393: GT 00000394: PUSH5 0x0100000000 0000039a: DUP4 0000039b: GT 0000039c: OR 0000039d: ISZERO 0000039e: PUSH2 0x03a6 000003a1: JUMPI 000003a2: PUSH1 0x00 000003a4: DUP1 000003a5: REVERT 000003a6: JUMPDEST 000003a7: SWAP2 000003a8: SWAP1 000003a9: DUP1 000003aa: DUP1 000003ab: PUSH1 0x1f 000003ad: ADD 000003ae: PUSH1 0x20 000003b0: DUP1 000003b1: SWAP2 000003b2: DIV 000003b3: MUL 000003b4: PUSH1 0x20 000003b6: ADD 000003b7: PUSH1 0x40 000003b9: MLOAD 000003ba: SWAP1 000003bb: DUP2 000003bc: ADD 000003bd: PUSH1 0x40 000003bf: MSTORE 000003c0: DUP1 000003c1: SWAP4 000003c2: SWAP3 000003c3: SWAP2 000003c4: SWAP1 000003c5: DUP2 000003c6: DUP2 000003c7: MSTORE 000003c8: PUSH1 0x20 000003ca: ADD 000003cb: DUP4 000003cc: DUP4 000003cd: DUP1 000003ce: DUP3 000003cf: DUP5 000003d0: CALLDATACOPY 000003d1: PUSH1 0x00 000003d3: DUP2 000003d4: DUP5 000003d5: ADD 000003d6: MSTORE 000003d7: PUSH1 0x1f 000003d9: NOT 000003da: PUSH1 0x1f 000003dc: DUP3 000003dd: ADD 000003de: AND 000003df: SWAP1 000003e0: POP 000003e1: DUP1 000003e2: DUP4 000003e3: ADD 000003e4: SWAP3 000003e5: POP 000003e6: POP 000003e7: POP 000003e8: POP 000003e9: POP 000003ea: POP 000003eb: POP 000003ec: SWAP2 000003ed: SWAP3 000003ee: SWAP2 000003ef: SWAP3 000003f0: SWAP1 000003f1: POP 000003f2: POP 000003f3: POP 000003f4: PUSH2 0x100a 000003f7: JUMP 000003f8: JUMPDEST 000003f9: STOP 000003fa: JUMPDEST 000003fb: CALLVALUE 000003fc: DUP1 000003fd: ISZERO 000003fe: PUSH2 0x0406 00000401: JUMPI 00000402: PUSH1 0x00 00000404: DUP1 00000405: REVERT 00000406: JUMPDEST 00000407: POP 00000408: PUSH2 0x040f 0000040b: PUSH2 0x107e 0000040e: JUMP 0000040f: JUMPDEST 00000410: PUSH1 0x40 00000412: MLOAD 00000413: DUP1 00000414: DUP3 00000415: DUP2 00000416: MSTORE 00000417: PUSH1 0x20 00000419: ADD 0000041a: SWAP2 0000041b: POP 0000041c: POP 0000041d: PUSH1 0x40 0000041f: MLOAD 00000420: DUP1 00000421: SWAP2 00000422: SUB 00000423: SWAP1 00000424: RETURN 00000425: JUMPDEST 00000426: CALLVALUE 00000427: DUP1 00000428: ISZERO 00000429: PUSH2 0x0431 0000042c: JUMPI 0000042d: PUSH1 0x00 0000042f: DUP1 00000430: REVERT 00000431: JUMPDEST 00000432: POP 00000433: PUSH2 0x049e 00000436: PUSH1 0x04 00000438: DUP1 00000439: CALLDATASIZE 0000043a: SUB 0000043b: PUSH1 0x60 0000043d: DUP2 0000043e: LT 0000043f: ISZERO 00000440: PUSH2 0x0448 00000443: JUMPI 00000444: PUSH1 0x00 00000446: DUP1 00000447: REVERT 00000448: JUMPDEST 00000449: DUP2 0000044a: ADD 0000044b: SWAP1 0000044c: DUP1 0000044d: DUP1 0000044e: CALLDATALOAD 0000044f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000464: AND 00000465: SWAP1 00000466: PUSH1 0x20 00000468: ADD 00000469: SWAP1 0000046a: SWAP3 0000046b: SWAP2 0000046c: SWAP1 0000046d: DUP1 0000046e: CALLDATALOAD 0000046f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000484: AND 00000485: SWAP1 00000486: PUSH1 0x20 00000488: ADD 00000489: SWAP1 0000048a: SWAP3 0000048b: SWAP2 0000048c: SWAP1 0000048d: DUP1 0000048e: CALLDATALOAD 0000048f: SWAP1 00000490: PUSH1 0x20 00000492: ADD 00000493: SWAP1 00000494: SWAP3 00000495: SWAP2 00000496: SWAP1 00000497: POP 00000498: POP 00000499: POP 0000049a: PUSH2 0x108f 0000049d: JUMP 0000049e: JUMPDEST 0000049f: STOP 000004a0: JUMPDEST 000004a1: PUSH2 0x0563 000004a4: PUSH1 0x04 000004a6: DUP1 000004a7: CALLDATASIZE 000004a8: SUB 000004a9: PUSH1 0x40 000004ab: DUP2 000004ac: LT 000004ad: ISZERO 000004ae: PUSH2 0x04b6 000004b1: JUMPI 000004b2: PUSH1 0x00 000004b4: DUP1 000004b5: REVERT 000004b6: JUMPDEST 000004b7: DUP2 000004b8: ADD 000004b9: SWAP1 000004ba: DUP1 000004bb: DUP1 000004bc: CALLDATALOAD 000004bd: SWAP1 000004be: PUSH1 0x20 000004c0: ADD 000004c1: SWAP1 000004c2: SWAP3 000004c3: SWAP2 000004c4: SWAP1 000004c5: DUP1 000004c6: CALLDATALOAD 000004c7: SWAP1 000004c8: PUSH1 0x20 000004ca: ADD 000004cb: SWAP1 000004cc: PUSH5 0x0100000000 000004d2: DUP2 000004d3: GT 000004d4: ISZERO 000004d5: PUSH2 0x04dd 000004d8: JUMPI 000004d9: PUSH1 0x00 000004db: DUP1 000004dc: REVERT 000004dd: JUMPDEST 000004de: DUP3 000004df: ADD 000004e0: DUP4 000004e1: PUSH1 0x20 000004e3: DUP3 000004e4: ADD 000004e5: GT 000004e6: ISZERO 000004e7: PUSH2 0x04ef 000004ea: JUMPI 000004eb: PUSH1 0x00 000004ed: DUP1 000004ee: REVERT 000004ef: JUMPDEST 000004f0: DUP1 000004f1: CALLDATALOAD 000004f2: SWAP1 000004f3: PUSH1 0x20 000004f5: ADD 000004f6: SWAP2 000004f7: DUP5 000004f8: PUSH1 0x01 000004fa: DUP4 000004fb: MUL 000004fc: DUP5 000004fd: ADD 000004fe: GT 000004ff: PUSH5 0x0100000000 00000505: DUP4 00000506: GT 00000507: OR 00000508: ISZERO 00000509: PUSH2 0x0511 0000050c: JUMPI 0000050d: PUSH1 0x00 0000050f: DUP1 00000510: REVERT 00000511: JUMPDEST 00000512: SWAP2 00000513: SWAP1 00000514: DUP1 00000515: DUP1 00000516: PUSH1 0x1f 00000518: ADD 00000519: PUSH1 0x20 0000051b: DUP1 0000051c: SWAP2 0000051d: DIV 0000051e: MUL 0000051f: PUSH1 0x20 00000521: ADD 00000522: PUSH1 0x40 00000524: MLOAD 00000525: SWAP1 00000526: DUP2 00000527: ADD 00000528: PUSH1 0x40 0000052a: MSTORE 0000052b: DUP1 0000052c: SWAP4 0000052d: SWAP3 0000052e: SWAP2 0000052f: SWAP1 00000530: DUP2 00000531: DUP2 00000532: MSTORE 00000533: PUSH1 0x20 00000535: ADD 00000536: DUP4 00000537: DUP4 00000538: DUP1 00000539: DUP3 0000053a: DUP5 0000053b: CALLDATACOPY 0000053c: PUSH1 0x00 0000053e: DUP2 0000053f: DUP5 00000540: ADD 00000541: MSTORE 00000542: PUSH1 0x1f 00000544: NOT 00000545: PUSH1 0x1f 00000547: DUP3 00000548: ADD 00000549: AND 0000054a: SWAP1 0000054b: POP 0000054c: DUP1 0000054d: DUP4 0000054e: ADD 0000054f: SWAP3 00000550: POP 00000551: POP 00000552: POP 00000553: POP 00000554: POP 00000555: POP 00000556: POP 00000557: SWAP2 00000558: SWAP3 00000559: SWAP2 0000055a: SWAP3 0000055b: SWAP1 0000055c: POP 0000055d: POP 0000055e: POP 0000055f: PUSH2 0x1105 00000562: JUMP 00000563: JUMPDEST 00000564: STOP 00000565: JUMPDEST 00000566: CALLVALUE 00000567: DUP1 00000568: ISZERO 00000569: PUSH2 0x0571 0000056c: JUMPI 0000056d: PUSH1 0x00 0000056f: DUP1 00000570: REVERT 00000571: JUMPDEST 00000572: POP 00000573: PUSH2 0x05be 00000576: PUSH1 0x04 00000578: DUP1 00000579: CALLDATASIZE 0000057a: SUB 0000057b: PUSH1 0x40 0000057d: DUP2 0000057e: LT 0000057f: ISZERO 00000580: PUSH2 0x0588 00000583: JUMPI 00000584: PUSH1 0x00 00000586: DUP1 00000587: REVERT 00000588: JUMPDEST 00000589: DUP2 0000058a: ADD 0000058b: SWAP1 0000058c: DUP1 0000058d: DUP1 0000058e: CALLDATALOAD 0000058f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005a4: AND 000005a5: SWAP1 000005a6: PUSH1 0x20 000005a8: ADD 000005a9: SWAP1 000005aa: SWAP3 000005ab: SWAP2 000005ac: SWAP1 000005ad: DUP1 000005ae: CALLDATALOAD 000005af: SWAP1 000005b0: PUSH1 0x20 000005b2: ADD 000005b3: SWAP1 000005b4: SWAP3 000005b5: SWAP2 000005b6: SWAP1 000005b7: POP 000005b8: POP 000005b9: POP 000005ba: PUSH2 0x1445 000005bd: JUMP 000005be: JUMPDEST 000005bf: PUSH1 0x40 000005c1: MLOAD 000005c2: DUP1 000005c3: DUP3 000005c4: DUP2 000005c5: MSTORE 000005c6: PUSH1 0x20 000005c8: ADD 000005c9: SWAP2 000005ca: POP 000005cb: POP 000005cc: PUSH1 0x40 000005ce: MLOAD 000005cf: DUP1 000005d0: SWAP2 000005d1: SUB 000005d2: SWAP1 000005d3: RETURN 000005d4: JUMPDEST 000005d5: CALLVALUE 000005d6: DUP1 000005d7: ISZERO 000005d8: PUSH2 0x05e0 000005db: JUMPI 000005dc: PUSH1 0x00 000005de: DUP1 000005df: REVERT 000005e0: JUMPDEST 000005e1: POP 000005e2: PUSH2 0x060d 000005e5: PUSH1 0x04 000005e7: DUP1 000005e8: CALLDATASIZE 000005e9: SUB 000005ea: PUSH1 0x20 000005ec: DUP2 000005ed: LT 000005ee: ISZERO 000005ef: PUSH2 0x05f7 000005f2: JUMPI 000005f3: PUSH1 0x00 000005f5: DUP1 000005f6: REVERT 000005f7: JUMPDEST 000005f8: DUP2 000005f9: ADD 000005fa: SWAP1 000005fb: DUP1 000005fc: DUP1 000005fd: CALLDATALOAD 000005fe: SWAP1 000005ff: PUSH1 0x20 00000601: ADD 00000602: SWAP1 00000603: SWAP3 00000604: SWAP2 00000605: SWAP1 00000606: POP 00000607: POP 00000608: POP 00000609: PUSH2 0x14a0 0000060c: JUMP 0000060d: JUMPDEST 0000060e: PUSH1 0x40 00000610: MLOAD 00000611: DUP1 00000612: DUP1 00000613: PUSH1 0x20 00000615: ADD 00000616: DUP3 00000617: DUP2 00000618: SUB 00000619: DUP3 0000061a: MSTORE 0000061b: DUP4 0000061c: DUP2 0000061d: DUP2 0000061e: MLOAD 0000061f: DUP2 00000620: MSTORE 00000621: PUSH1 0x20 00000623: ADD 00000624: SWAP2 00000625: POP 00000626: DUP1 00000627: MLOAD 00000628: SWAP1 00000629: PUSH1 0x20 0000062b: ADD 0000062c: SWAP1 0000062d: DUP1 0000062e: DUP4 0000062f: DUP4 00000630: PUSH1 0x00 00000632: JUMPDEST 00000633: DUP4 00000634: DUP2 00000635: LT 00000636: ISZERO 00000637: PUSH2 0x064d 0000063a: JUMPI 0000063b: DUP1 0000063c: DUP3 0000063d: ADD 0000063e: MLOAD 0000063f: DUP2 00000640: DUP5 00000641: ADD 00000642: MSTORE 00000643: PUSH1 0x20 00000645: DUP2 00000646: ADD 00000647: SWAP1 00000648: POP 00000649: PUSH2 0x0632 0000064c: JUMP 0000064d: JUMPDEST 0000064e: POP 0000064f: POP 00000650: POP 00000651: POP 00000652: SWAP1 00000653: POP 00000654: SWAP1 00000655: DUP2 00000656: ADD 00000657: SWAP1 00000658: PUSH1 0x1f 0000065a: AND 0000065b: DUP1 0000065c: ISZERO 0000065d: PUSH2 0x067a 00000660: JUMPI 00000661: DUP1 00000662: DUP3 00000663: SUB 00000664: DUP1 00000665: MLOAD 00000666: PUSH1 0x01 00000668: DUP4 00000669: PUSH1 0x20 0000066b: SUB 0000066c: PUSH2 0x0100 0000066f: EXP 00000670: SUB 00000671: NOT 00000672: AND 00000673: DUP2 00000674: MSTORE 00000675: PUSH1 0x20 00000677: ADD 00000678: SWAP2 00000679: POP 0000067a: JUMPDEST 0000067b: POP 0000067c: SWAP3 0000067d: POP 0000067e: POP 0000067f: POP 00000680: PUSH1 0x40 00000682: MLOAD 00000683: DUP1 00000684: SWAP2 00000685: SUB 00000686: SWAP1 00000687: RETURN 00000688: JUMPDEST 00000689: CALLVALUE 0000068a: DUP1 0000068b: ISZERO 0000068c: PUSH2 0x0694 0000068f: JUMPI 00000690: PUSH1 0x00 00000692: DUP1 00000693: REVERT 00000694: JUMPDEST 00000695: POP 00000696: PUSH2 0x0701 00000699: PUSH1 0x04 0000069b: DUP1 0000069c: CALLDATASIZE 0000069d: SUB 0000069e: PUSH1 0x60 000006a0: DUP2 000006a1: LT 000006a2: ISZERO 000006a3: PUSH2 0x06ab 000006a6: JUMPI 000006a7: PUSH1 0x00 000006a9: DUP1 000006aa: REVERT 000006ab: JUMPDEST 000006ac: DUP2 000006ad: ADD 000006ae: SWAP1 000006af: DUP1 000006b0: DUP1 000006b1: CALLDATALOAD 000006b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006c7: AND 000006c8: SWAP1 000006c9: PUSH1 0x20 000006cb: ADD 000006cc: SWAP1 000006cd: SWAP3 000006ce: SWAP2 000006cf: SWAP1 000006d0: DUP1 000006d1: CALLDATALOAD 000006d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006e7: AND 000006e8: SWAP1 000006e9: PUSH1 0x20 000006eb: ADD 000006ec: SWAP1 000006ed: SWAP3 000006ee: SWAP2 000006ef: SWAP1 000006f0: DUP1 000006f1: CALLDATALOAD 000006f2: SWAP1 000006f3: PUSH1 0x20 000006f5: ADD 000006f6: SWAP1 000006f7: SWAP3 000006f8: SWAP2 000006f9: SWAP1 000006fa: POP 000006fb: POP 000006fc: POP 000006fd: PUSH2 0x14b2 00000700: JUMP 00000701: JUMPDEST 00000702: STOP 00000703: JUMPDEST 00000704: CALLVALUE 00000705: DUP1 00000706: ISZERO 00000707: PUSH2 0x070f 0000070a: JUMPI 0000070b: PUSH1 0x00 0000070d: DUP1 0000070e: REVERT 0000070f: JUMPDEST 00000710: POP 00000711: PUSH2 0x073c 00000714: PUSH1 0x04 00000716: DUP1 00000717: CALLDATASIZE 00000718: SUB 00000719: PUSH1 0x20 0000071b: DUP2 0000071c: LT 0000071d: ISZERO 0000071e: PUSH2 0x0726 00000721: JUMPI 00000722: PUSH1 0x00 00000724: DUP1 00000725: REVERT 00000726: JUMPDEST 00000727: DUP2 00000728: ADD 00000729: SWAP1 0000072a: DUP1 0000072b: DUP1 0000072c: CALLDATALOAD 0000072d: SWAP1 0000072e: PUSH1 0x20 00000730: ADD 00000731: SWAP1 00000732: SWAP3 00000733: SWAP2 00000734: SWAP1 00000735: POP 00000736: POP 00000737: POP 00000738: PUSH2 0x14d2 0000073b: JUMP 0000073c: JUMPDEST 0000073d: PUSH1 0x40 0000073f: MLOAD 00000740: DUP1 00000741: DUP3 00000742: DUP2 00000743: MSTORE 00000744: PUSH1 0x20 00000746: ADD 00000747: SWAP2 00000748: POP 00000749: POP 0000074a: PUSH1 0x40 0000074c: MLOAD 0000074d: DUP1 0000074e: SWAP2 0000074f: SUB 00000750: SWAP1 00000751: RETURN 00000752: JUMPDEST 00000753: CALLVALUE 00000754: DUP1 00000755: ISZERO 00000756: PUSH2 0x075e 00000759: JUMPI 0000075a: PUSH1 0x00 0000075c: DUP1 0000075d: REVERT 0000075e: JUMPDEST 0000075f: POP 00000760: PUSH2 0x078b 00000763: PUSH1 0x04 00000765: DUP1 00000766: CALLDATASIZE 00000767: SUB 00000768: PUSH1 0x20 0000076a: DUP2 0000076b: LT 0000076c: ISZERO 0000076d: PUSH2 0x0775 00000770: JUMPI 00000771: PUSH1 0x00 00000773: DUP1 00000774: REVERT 00000775: JUMPDEST 00000776: DUP2 00000777: ADD 00000778: SWAP1 00000779: DUP1 0000077a: DUP1 0000077b: CALLDATALOAD 0000077c: SWAP1 0000077d: PUSH1 0x20 0000077f: ADD 00000780: SWAP1 00000781: SWAP3 00000782: SWAP2 00000783: SWAP1 00000784: POP 00000785: POP 00000786: POP 00000787: PUSH2 0x14f5 0000078a: JUMP 0000078b: JUMPDEST 0000078c: PUSH1 0x40 0000078e: MLOAD 0000078f: DUP1 00000790: DUP3 00000791: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007a6: AND 000007a7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007bc: AND 000007bd: DUP2 000007be: MSTORE 000007bf: PUSH1 0x20 000007c1: ADD 000007c2: SWAP2 000007c3: POP 000007c4: POP 000007c5: PUSH1 0x40 000007c7: MLOAD 000007c8: DUP1 000007c9: SWAP2 000007ca: SUB 000007cb: SWAP1 000007cc: RETURN 000007cd: JUMPDEST 000007ce: CALLVALUE 000007cf: DUP1 000007d0: ISZERO 000007d1: PUSH2 0x07d9 000007d4: JUMPI 000007d5: PUSH1 0x00 000007d7: DUP1 000007d8: REVERT 000007d9: JUMPDEST 000007da: POP 000007db: PUSH2 0x07e2 000007de: PUSH2 0x152c 000007e1: JUMP 000007e2: JUMPDEST 000007e3: PUSH1 0x40 000007e5: MLOAD 000007e6: DUP1 000007e7: DUP1 000007e8: PUSH1 0x20 000007ea: ADD 000007eb: DUP3 000007ec: DUP2 000007ed: SUB 000007ee: DUP3 000007ef: MSTORE 000007f0: DUP4 000007f1: DUP2 000007f2: DUP2 000007f3: MLOAD 000007f4: DUP2 000007f5: MSTORE 000007f6: PUSH1 0x20 000007f8: ADD 000007f9: SWAP2 000007fa: POP 000007fb: DUP1 000007fc: MLOAD 000007fd: SWAP1 000007fe: PUSH1 0x20 00000800: ADD 00000801: SWAP1 00000802: DUP1 00000803: DUP4 00000804: DUP4 00000805: PUSH1 0x00 00000807: JUMPDEST 00000808: DUP4 00000809: DUP2 0000080a: LT 0000080b: ISZERO 0000080c: PUSH2 0x0822 0000080f: JUMPI 00000810: DUP1 00000811: DUP3 00000812: ADD 00000813: MLOAD 00000814: DUP2 00000815: DUP5 00000816: ADD 00000817: MSTORE 00000818: PUSH1 0x20 0000081a: DUP2 0000081b: ADD 0000081c: SWAP1 0000081d: POP 0000081e: PUSH2 0x0807 00000821: JUMP 00000822: JUMPDEST 00000823: POP 00000824: POP 00000825: POP 00000826: POP 00000827: SWAP1 00000828: POP 00000829: SWAP1 0000082a: DUP2 0000082b: ADD 0000082c: SWAP1 0000082d: PUSH1 0x1f 0000082f: AND 00000830: DUP1 00000831: ISZERO 00000832: PUSH2 0x084f 00000835: JUMPI 00000836: DUP1 00000837: DUP3 00000838: SUB 00000839: DUP1 0000083a: MLOAD 0000083b: PUSH1 0x01 0000083d: DUP4 0000083e: PUSH1 0x20 00000840: SUB 00000841: PUSH2 0x0100 00000844: EXP 00000845: SUB 00000846: NOT 00000847: AND 00000848: DUP2 00000849: MSTORE 0000084a: PUSH1 0x20 0000084c: ADD 0000084d: SWAP2 0000084e: POP 0000084f: JUMPDEST 00000850: POP 00000851: SWAP3 00000852: POP 00000853: POP 00000854: POP 00000855: PUSH1 0x40 00000857: MLOAD 00000858: DUP1 00000859: SWAP2 0000085a: SUB 0000085b: SWAP1 0000085c: RETURN 0000085d: JUMPDEST 0000085e: CALLVALUE 0000085f: DUP1 00000860: ISZERO 00000861: PUSH2 0x0869 00000864: JUMPI 00000865: PUSH1 0x00 00000867: DUP1 00000868: REVERT 00000869: JUMPDEST 0000086a: POP 0000086b: PUSH2 0x08ac 0000086e: PUSH1 0x04 00000870: DUP1 00000871: CALLDATASIZE 00000872: SUB 00000873: PUSH1 0x20 00000875: DUP2 00000876: LT 00000877: ISZERO 00000878: PUSH2 0x0880 0000087b: JUMPI 0000087c: PUSH1 0x00 0000087e: DUP1 0000087f: REVERT 00000880: JUMPDEST 00000881: DUP2 00000882: ADD 00000883: SWAP1 00000884: DUP1 00000885: DUP1 00000886: CALLDATALOAD 00000887: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000089c: AND 0000089d: SWAP1 0000089e: PUSH1 0x20 000008a0: ADD 000008a1: SWAP1 000008a2: SWAP3 000008a3: SWAP2 000008a4: SWAP1 000008a5: POP 000008a6: POP 000008a7: POP 000008a8: PUSH2 0x15ce 000008ab: JUMP 000008ac: JUMPDEST 000008ad: PUSH1 0x40 000008af: MLOAD 000008b0: DUP1 000008b1: DUP3 000008b2: DUP2 000008b3: MSTORE 000008b4: PUSH1 0x20 000008b6: ADD 000008b7: SWAP2 000008b8: POP 000008b9: POP 000008ba: PUSH1 0x40 000008bc: MLOAD 000008bd: DUP1 000008be: SWAP2 000008bf: SUB 000008c0: SWAP1 000008c1: RETURN 000008c2: JUMPDEST 000008c3: CALLVALUE 000008c4: DUP1 000008c5: ISZERO 000008c6: PUSH2 0x08ce 000008c9: JUMPI 000008ca: PUSH1 0x00 000008cc: DUP1 000008cd: REVERT 000008ce: JUMPDEST 000008cf: POP 000008d0: PUSH2 0x08d7 000008d3: PUSH2 0x16a3 000008d6: JUMP 000008d7: JUMPDEST 000008d8: STOP 000008d9: JUMPDEST 000008da: CALLVALUE 000008db: DUP1 000008dc: ISZERO 000008dd: PUSH2 0x08e5 000008e0: JUMPI 000008e1: PUSH1 0x00 000008e3: DUP1 000008e4: REVERT 000008e5: JUMPDEST 000008e6: POP 000008e7: PUSH2 0x0928 000008ea: PUSH1 0x04 000008ec: DUP1 000008ed: CALLDATASIZE 000008ee: SUB 000008ef: PUSH1 0x20 000008f1: DUP2 000008f2: LT 000008f3: ISZERO 000008f4: PUSH2 0x08fc 000008f7: JUMPI 000008f8: PUSH1 0x00 000008fa: DUP1 000008fb: REVERT 000008fc: JUMPDEST 000008fd: DUP2 000008fe: ADD 000008ff: SWAP1 00000900: DUP1 00000901: DUP1 00000902: CALLDATALOAD 00000903: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000918: AND 00000919: SWAP1 0000091a: PUSH1 0x20 0000091c: ADD 0000091d: SWAP1 0000091e: SWAP3 0000091f: SWAP2 00000920: SWAP1 00000921: POP 00000922: POP 00000923: POP 00000924: PUSH2 0x1813 00000927: JUMP 00000928: JUMPDEST 00000929: PUSH1 0x40 0000092b: MLOAD 0000092c: DUP1 0000092d: DUP3 0000092e: DUP2 0000092f: MSTORE 00000930: PUSH1 0x20 00000932: ADD 00000933: SWAP2 00000934: POP 00000935: POP 00000936: PUSH1 0x40 00000938: MLOAD 00000939: DUP1 0000093a: SWAP2 0000093b: SUB 0000093c: SWAP1 0000093d: RETURN 0000093e: JUMPDEST 0000093f: CALLVALUE 00000940: DUP1 00000941: ISZERO 00000942: PUSH2 0x094a 00000945: JUMPI 00000946: PUSH1 0x00 00000948: DUP1 00000949: REVERT 0000094a: JUMPDEST 0000094b: POP 0000094c: PUSH2 0x0953 0000094f: PUSH2 0x197b 00000952: JUMP 00000953: JUMPDEST 00000954: PUSH1 0x40 00000956: MLOAD 00000957: DUP1 00000958: DUP3 00000959: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000096e: AND 0000096f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000984: AND 00000985: DUP2 00000986: MSTORE 00000987: PUSH1 0x20 00000989: ADD 0000098a: SWAP2 0000098b: POP 0000098c: POP 0000098d: PUSH1 0x40 0000098f: MLOAD 00000990: DUP1 00000991: SWAP2 00000992: SUB 00000993: SWAP1 00000994: RETURN 00000995: JUMPDEST 00000996: CALLVALUE 00000997: DUP1 00000998: ISZERO 00000999: PUSH2 0x09a1 0000099c: JUMPI 0000099d: PUSH1 0x00 0000099f: DUP1 000009a0: REVERT 000009a1: JUMPDEST 000009a2: POP 000009a3: PUSH2 0x09aa 000009a6: PUSH2 0x19a5 000009a9: JUMP 000009aa: JUMPDEST 000009ab: PUSH1 0x40 000009ad: MLOAD 000009ae: DUP1 000009af: DUP1 000009b0: PUSH1 0x20 000009b2: ADD 000009b3: DUP3 000009b4: DUP2 000009b5: SUB 000009b6: DUP3 000009b7: MSTORE 000009b8: DUP4 000009b9: DUP2 000009ba: DUP2 000009bb: MLOAD 000009bc: DUP2 000009bd: MSTORE 000009be: PUSH1 0x20 000009c0: ADD 000009c1: SWAP2 000009c2: POP 000009c3: DUP1 000009c4: MLOAD 000009c5: SWAP1 000009c6: PUSH1 0x20 000009c8: ADD 000009c9: SWAP1 000009ca: DUP1 000009cb: DUP4 000009cc: DUP4 000009cd: PUSH1 0x00 000009cf: JUMPDEST 000009d0: DUP4 000009d1: DUP2 000009d2: LT 000009d3: ISZERO 000009d4: PUSH2 0x09ea 000009d7: JUMPI 000009d8: DUP1 000009d9: DUP3 000009da: ADD 000009db: MLOAD 000009dc: DUP2 000009dd: DUP5 000009de: ADD 000009df: MSTORE 000009e0: PUSH1 0x20 000009e2: DUP2 000009e3: ADD 000009e4: SWAP1 000009e5: POP 000009e6: PUSH2 0x09cf 000009e9: JUMP 000009ea: JUMPDEST 000009eb: POP 000009ec: POP 000009ed: POP 000009ee: POP 000009ef: SWAP1 000009f0: POP 000009f1: SWAP1 000009f2: DUP2 000009f3: ADD 000009f4: SWAP1 000009f5: PUSH1 0x1f 000009f7: AND 000009f8: DUP1 000009f9: ISZERO 000009fa: PUSH2 0x0a17 000009fd: JUMPI 000009fe: DUP1 000009ff: DUP3 00000a00: SUB 00000a01: DUP1 00000a02: MLOAD 00000a03: PUSH1 0x01 00000a05: DUP4 00000a06: PUSH1 0x20 00000a08: SUB 00000a09: PUSH2 0x0100 00000a0c: EXP 00000a0d: SUB 00000a0e: NOT 00000a0f: AND 00000a10: DUP2 00000a11: MSTORE 00000a12: PUSH1 0x20 00000a14: ADD 00000a15: SWAP2 00000a16: POP 00000a17: JUMPDEST 00000a18: POP 00000a19: SWAP3 00000a1a: POP 00000a1b: POP 00000a1c: POP 00000a1d: PUSH1 0x40 00000a1f: MLOAD 00000a20: DUP1 00000a21: SWAP2 00000a22: SUB 00000a23: SWAP1 00000a24: RETURN 00000a25: JUMPDEST 00000a26: CALLVALUE 00000a27: DUP1 00000a28: ISZERO 00000a29: PUSH2 0x0a31 00000a2c: JUMPI 00000a2d: PUSH1 0x00 00000a2f: DUP1 00000a30: REVERT 00000a31: JUMPDEST 00000a32: POP 00000a33: PUSH2 0x0a80 00000a36: PUSH1 0x04 00000a38: DUP1 00000a39: CALLDATASIZE 00000a3a: SUB 00000a3b: PUSH1 0x40 00000a3d: DUP2 00000a3e: LT 00000a3f: ISZERO 00000a40: PUSH2 0x0a48 00000a43: JUMPI 00000a44: PUSH1 0x00 00000a46: DUP1 00000a47: REVERT 00000a48: JUMPDEST 00000a49: DUP2 00000a4a: ADD 00000a4b: SWAP1 00000a4c: DUP1 00000a4d: DUP1 00000a4e: CALLDATALOAD 00000a4f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a64: AND 00000a65: SWAP1 00000a66: PUSH1 0x20 00000a68: ADD 00000a69: SWAP1 00000a6a: SWAP3 00000a6b: SWAP2 00000a6c: SWAP1 00000a6d: DUP1 00000a6e: CALLDATALOAD 00000a6f: ISZERO 00000a70: ISZERO 00000a71: SWAP1 00000a72: PUSH1 0x20 00000a74: ADD 00000a75: SWAP1 00000a76: SWAP3 00000a77: SWAP2 00000a78: SWAP1 00000a79: POP 00000a7a: POP 00000a7b: POP 00000a7c: PUSH2 0x1a47 00000a7f: JUMP 00000a80: JUMPDEST 00000a81: STOP 00000a82: JUMPDEST 00000a83: CALLVALUE 00000a84: DUP1 00000a85: ISZERO 00000a86: PUSH2 0x0a8e 00000a89: JUMPI 00000a8a: PUSH1 0x00 00000a8c: DUP1 00000a8d: REVERT 00000a8e: JUMPDEST 00000a8f: POP 00000a90: PUSH2 0x0b92 00000a93: PUSH1 0x04 00000a95: DUP1 00000a96: CALLDATASIZE 00000a97: SUB 00000a98: PUSH1 0x80 00000a9a: DUP2 00000a9b: LT 00000a9c: ISZERO 00000a9d: PUSH2 0x0aa5 00000aa0: JUMPI 00000aa1: PUSH1 0x00 00000aa3: DUP1 00000aa4: REVERT 00000aa5: JUMPDEST 00000aa6: DUP2 00000aa7: ADD 00000aa8: SWAP1 00000aa9: DUP1 00000aaa: DUP1 00000aab: CALLDATALOAD 00000aac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ac1: AND 00000ac2: SWAP1 00000ac3: PUSH1 0x20 00000ac5: ADD 00000ac6: SWAP1 00000ac7: SWAP3 00000ac8: SWAP2 00000ac9: SWAP1 00000aca: DUP1 00000acb: CALLDATALOAD 00000acc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ae1: AND 00000ae2: SWAP1 00000ae3: PUSH1 0x20 00000ae5: ADD 00000ae6: SWAP1 00000ae7: SWAP3 00000ae8: SWAP2 00000ae9: SWAP1 00000aea: DUP1 00000aeb: CALLDATALOAD 00000aec: SWAP1 00000aed: PUSH1 0x20 00000aef: ADD 00000af0: SWAP1 00000af1: SWAP3 00000af2: SWAP2 00000af3: SWAP1 00000af4: DUP1 00000af5: CALLDATALOAD 00000af6: SWAP1 00000af7: PUSH1 0x20 00000af9: ADD 00000afa: SWAP1 00000afb: PUSH5 0x0100000000 00000b01: DUP2 00000b02: GT 00000b03: ISZERO 00000b04: PUSH2 0x0b0c 00000b07: JUMPI 00000b08: PUSH1 0x00 00000b0a: DUP1 00000b0b: REVERT 00000b0c: JUMPDEST 00000b0d: DUP3 00000b0e: ADD 00000b0f: DUP4 00000b10: PUSH1 0x20 00000b12: DUP3 00000b13: ADD 00000b14: GT 00000b15: ISZERO 00000b16: PUSH2 0x0b1e 00000b19: JUMPI 00000b1a: PUSH1 0x00 00000b1c: DUP1 00000b1d: REVERT 00000b1e: JUMPDEST 00000b1f: DUP1 00000b20: CALLDATALOAD 00000b21: SWAP1 00000b22: PUSH1 0x20 00000b24: ADD 00000b25: SWAP2 00000b26: DUP5 00000b27: PUSH1 0x01 00000b29: DUP4 00000b2a: MUL 00000b2b: DUP5 00000b2c: ADD 00000b2d: GT 00000b2e: PUSH5 0x0100000000 00000b34: DUP4 00000b35: GT 00000b36: OR 00000b37: ISZERO 00000b38: PUSH2 0x0b40 00000b3b: JUMPI 00000b3c: PUSH1 0x00 00000b3e: DUP1 00000b3f: REVERT 00000b40: JUMPDEST 00000b41: SWAP2 00000b42: SWAP1 00000b43: DUP1 00000b44: DUP1 00000b45: PUSH1 0x1f 00000b47: ADD 00000b48: PUSH1 0x20 00000b4a: DUP1 00000b4b: SWAP2 00000b4c: DIV 00000b4d: MUL 00000b4e: PUSH1 0x20 00000b50: ADD 00000b51: PUSH1 0x40 00000b53: MLOAD 00000b54: SWAP1 00000b55: DUP2 00000b56: ADD 00000b57: PUSH1 0x40 00000b59: MSTORE 00000b5a: DUP1 00000b5b: SWAP4 00000b5c: SWAP3 00000b5d: SWAP2 00000b5e: SWAP1 00000b5f: DUP2 00000b60: DUP2 00000b61: MSTORE 00000b62: PUSH1 0x20 00000b64: ADD 00000b65: DUP4 00000b66: DUP4 00000b67: DUP1 00000b68: DUP3 00000b69: DUP5 00000b6a: CALLDATACOPY 00000b6b: PUSH1 0x00 00000b6d: DUP2 00000b6e: DUP5 00000b6f: ADD 00000b70: MSTORE 00000b71: PUSH1 0x1f 00000b73: NOT 00000b74: PUSH1 0x1f 00000b76: DUP3 00000b77: ADD 00000b78: AND 00000b79: SWAP1 00000b7a: POP 00000b7b: DUP1 00000b7c: DUP4 00000b7d: ADD 00000b7e: SWAP3 00000b7f: POP 00000b80: POP 00000b81: POP 00000b82: POP 00000b83: POP 00000b84: POP 00000b85: POP 00000b86: SWAP2 00000b87: SWAP3 00000b88: SWAP2 00000b89: SWAP3 00000b8a: SWAP1 00000b8b: POP 00000b8c: POP 00000b8d: POP 00000b8e: PUSH2 0x1bff 00000b91: JUMP 00000b92: JUMPDEST 00000b93: STOP 00000b94: JUMPDEST 00000b95: CALLVALUE 00000b96: DUP1 00000b97: ISZERO 00000b98: PUSH2 0x0ba0 00000b9b: JUMPI 00000b9c: PUSH1 0x00 00000b9e: DUP1 00000b9f: REVERT 00000ba0: JUMPDEST 00000ba1: POP 00000ba2: PUSH2 0x0bcd 00000ba5: PUSH1 0x04 00000ba7: DUP1 00000ba8: CALLDATASIZE 00000ba9: SUB 00000baa: PUSH1 0x20 00000bac: DUP2 00000bad: LT 00000bae: ISZERO 00000baf: PUSH2 0x0bb7 00000bb2: JUMPI 00000bb3: PUSH1 0x00 00000bb5: DUP1 00000bb6: REVERT 00000bb7: JUMPDEST 00000bb8: DUP2 00000bb9: ADD 00000bba: SWAP1 00000bbb: DUP1 00000bbc: DUP1 00000bbd: CALLDATALOAD 00000bbe: SWAP1 00000bbf: PUSH1 0x20 00000bc1: ADD 00000bc2: SWAP1 00000bc3: SWAP3 00000bc4: SWAP2 00000bc5: SWAP1 00000bc6: POP 00000bc7: POP 00000bc8: POP 00000bc9: PUSH2 0x1c77 00000bcc: JUMP 00000bcd: JUMPDEST 00000bce: PUSH1 0x40 00000bd0: MLOAD 00000bd1: DUP1 00000bd2: DUP1 00000bd3: PUSH1 0x20 00000bd5: ADD 00000bd6: DUP3 00000bd7: DUP2 00000bd8: SUB 00000bd9: DUP3 00000bda: MSTORE 00000bdb: DUP4 00000bdc: DUP2 00000bdd: DUP2 00000bde: MLOAD 00000bdf: DUP2 00000be0: MSTORE 00000be1: PUSH1 0x20 00000be3: ADD 00000be4: SWAP2 00000be5: POP 00000be6: DUP1 00000be7: MLOAD 00000be8: SWAP1 00000be9: PUSH1 0x20 00000beb: ADD 00000bec: SWAP1 00000bed: DUP1 00000bee: DUP4 00000bef: DUP4 00000bf0: PUSH1 0x00 00000bf2: JUMPDEST 00000bf3: DUP4 00000bf4: DUP2 00000bf5: LT 00000bf6: ISZERO 00000bf7: PUSH2 0x0c0d 00000bfa: JUMPI 00000bfb: DUP1 00000bfc: DUP3 00000bfd: ADD 00000bfe: MLOAD 00000bff: DUP2 00000c00: DUP5 00000c01: ADD 00000c02: MSTORE 00000c03: PUSH1 0x20 00000c05: DUP2 00000c06: ADD 00000c07: SWAP1 00000c08: POP 00000c09: PUSH2 0x0bf2 00000c0c: JUMP 00000c0d: JUMPDEST 00000c0e: POP 00000c0f: POP 00000c10: POP 00000c11: POP 00000c12: SWAP1 00000c13: POP 00000c14: SWAP1 00000c15: DUP2 00000c16: ADD 00000c17: SWAP1 00000c18: PUSH1 0x1f 00000c1a: AND 00000c1b: DUP1 00000c1c: ISZERO 00000c1d: PUSH2 0x0c3a 00000c20: JUMPI 00000c21: DUP1 00000c22: DUP3 00000c23: SUB 00000c24: DUP1 00000c25: MLOAD 00000c26: PUSH1 0x01 00000c28: DUP4 00000c29: PUSH1 0x20 00000c2b: SUB 00000c2c: PUSH2 0x0100 00000c2f: EXP 00000c30: SUB 00000c31: NOT 00000c32: AND 00000c33: DUP2 00000c34: MSTORE 00000c35: PUSH1 0x20 00000c37: ADD 00000c38: SWAP2 00000c39: POP 00000c3a: JUMPDEST 00000c3b: POP 00000c3c: SWAP3 00000c3d: POP 00000c3e: POP 00000c3f: POP 00000c40: PUSH1 0x40 00000c42: MLOAD 00000c43: DUP1 00000c44: SWAP2 00000c45: SUB 00000c46: SWAP1 00000c47: RETURN 00000c48: JUMPDEST 00000c49: CALLVALUE 00000c4a: DUP1 00000c4b: ISZERO 00000c4c: PUSH2 0x0c54 00000c4f: JUMPI 00000c50: PUSH1 0x00 00000c52: DUP1 00000c53: REVERT 00000c54: JUMPDEST 00000c55: POP 00000c56: PUSH2 0x0cb7 00000c59: PUSH1 0x04 00000c5b: DUP1 00000c5c: CALLDATASIZE 00000c5d: SUB 00000c5e: PUSH1 0x40 00000c60: DUP2 00000c61: LT 00000c62: ISZERO 00000c63: PUSH2 0x0c6b 00000c66: JUMPI 00000c67: PUSH1 0x00 00000c69: DUP1 00000c6a: REVERT 00000c6b: JUMPDEST 00000c6c: DUP2 00000c6d: ADD 00000c6e: SWAP1 00000c6f: DUP1 00000c70: DUP1 00000c71: CALLDATALOAD 00000c72: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c87: AND 00000c88: SWAP1 00000c89: PUSH1 0x20 00000c8b: ADD 00000c8c: SWAP1 00000c8d: SWAP3 00000c8e: SWAP2 00000c8f: SWAP1 00000c90: DUP1 00000c91: CALLDATALOAD 00000c92: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ca7: AND 00000ca8: SWAP1 00000ca9: PUSH1 0x20 00000cab: ADD 00000cac: SWAP1 00000cad: SWAP3 00000cae: SWAP2 00000caf: SWAP1 00000cb0: POP 00000cb1: POP 00000cb2: POP 00000cb3: PUSH2 0x1f48 00000cb6: JUMP 00000cb7: JUMPDEST 00000cb8: PUSH1 0x40 00000cba: MLOAD 00000cbb: DUP1 00000cbc: DUP3 00000cbd: ISZERO 00000cbe: ISZERO 00000cbf: ISZERO 00000cc0: ISZERO 00000cc1: DUP2 00000cc2: MSTORE 00000cc3: PUSH1 0x20 00000cc5: ADD 00000cc6: SWAP2 00000cc7: POP 00000cc8: POP 00000cc9: PUSH1 0x40 00000ccb: MLOAD 00000ccc: DUP1 00000ccd: SWAP2 00000cce: SUB 00000ccf: SWAP1 00000cd0: RETURN 00000cd1: JUMPDEST 00000cd2: CALLVALUE 00000cd3: DUP1 00000cd4: ISZERO 00000cd5: PUSH2 0x0cdd 00000cd8: JUMPI 00000cd9: PUSH1 0x00 00000cdb: DUP1 00000cdc: REVERT 00000cdd: JUMPDEST 00000cde: POP 00000cdf: PUSH2 0x0d20 00000ce2: PUSH1 0x04 00000ce4: DUP1 00000ce5: CALLDATASIZE 00000ce6: SUB 00000ce7: PUSH1 0x20 00000ce9: DUP2 00000cea: LT 00000ceb: ISZERO 00000cec: PUSH2 0x0cf4 00000cef: JUMPI 00000cf0: PUSH1 0x00 00000cf2: DUP1 00000cf3: REVERT 00000cf4: JUMPDEST 00000cf5: DUP2 00000cf6: ADD 00000cf7: SWAP1 00000cf8: DUP1 00000cf9: DUP1 00000cfa: CALLDATALOAD 00000cfb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d10: AND 00000d11: SWAP1 00000d12: PUSH1 0x20 00000d14: ADD 00000d15: SWAP1 00000d16: SWAP3 00000d17: SWAP2 00000d18: SWAP1 00000d19: POP 00000d1a: POP 00000d1b: POP 00000d1c: PUSH2 0x1fdc 00000d1f: JUMP 00000d20: JUMPDEST 00000d21: STOP 00000d22: JUMPDEST 00000d23: PUSH1 0x00 00000d25: DUP1 00000d26: PUSH1 0x00 00000d28: DUP4 00000d29: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000d46: NOT 00000d47: AND 00000d48: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000d65: NOT 00000d66: AND 00000d67: DUP2 00000d68: MSTORE 00000d69: PUSH1 0x20 00000d6b: ADD 00000d6c: SWAP1 00000d6d: DUP2 00000d6e: MSTORE 00000d6f: PUSH1 0x20 00000d71: ADD 00000d72: PUSH1 0x00 00000d74: KECCAK256 00000d75: PUSH1 0x00 00000d77: SWAP1 00000d78: SLOAD 00000d79: SWAP1 00000d7a: PUSH2 0x0100 00000d7d: EXP 00000d7e: SWAP1 00000d7f: DIV 00000d80: PUSH1 0xff 00000d82: AND 00000d83: SWAP1 00000d84: POP 00000d85: SWAP2 00000d86: SWAP1 00000d87: POP 00000d88: JUMP 00000d89: JUMPDEST 00000d8a: PUSH1 0x60 00000d8c: PUSH1 0x06 00000d8e: DUP1 00000d8f: SLOAD 00000d90: PUSH1 0x01 00000d92: DUP2 00000d93: PUSH1 0x01 00000d95: AND 00000d96: ISZERO 00000d97: PUSH2 0x0100 00000d9a: MUL 00000d9b: SUB 00000d9c: AND 00000d9d: PUSH1 0x02 00000d9f: SWAP1 00000da0: DIV 00000da1: DUP1 00000da2: PUSH1 0x1f 00000da4: ADD 00000da5: PUSH1 0x20 00000da7: DUP1 00000da8: SWAP2 00000da9: DIV 00000daa: MUL 00000dab: PUSH1 0x20 00000dad: ADD 00000dae: PUSH1 0x40 00000db0: MLOAD 00000db1: SWAP1 00000db2: DUP2 00000db3: ADD 00000db4: PUSH1 0x40 00000db6: MSTORE 00000db7: DUP1 00000db8: SWAP3 00000db9: SWAP2 00000dba: SWAP1 00000dbb: DUP2 00000dbc: DUP2 00000dbd: MSTORE 00000dbe: PUSH1 0x20 00000dc0: ADD 00000dc1: DUP3 00000dc2: DUP1 00000dc3: SLOAD 00000dc4: PUSH1 0x01 00000dc6: DUP2 00000dc7: PUSH1 0x01 00000dc9: AND 00000dca: ISZERO 00000dcb: PUSH2 0x0100 00000dce: MUL 00000dcf: SUB 00000dd0: AND 00000dd1: PUSH1 0x02 00000dd3: SWAP1 00000dd4: DIV 00000dd5: DUP1 00000dd6: ISZERO 00000dd7: PUSH2 0x0e21 00000dda: JUMPI 00000ddb: DUP1 00000ddc: PUSH1 0x1f 00000dde: LT 00000ddf: PUSH2 0x0df6 00000de2: JUMPI 00000de3: PUSH2 0x0100 00000de6: DUP1 00000de7: DUP4 00000de8: SLOAD 00000de9: DIV 00000dea: MUL 00000deb: DUP4 00000dec: MSTORE 00000ded: SWAP2 00000dee: PUSH1 0x20 00000df0: ADD 00000df1: SWAP2 00000df2: PUSH2 0x0e21 00000df5: JUMP 00000df6: JUMPDEST 00000df7: DUP3 00000df8: ADD 00000df9: SWAP2 00000dfa: SWAP1 00000dfb: PUSH1 0x00 00000dfd: MSTORE 00000dfe: PUSH1 0x20 00000e00: PUSH1 0x00 00000e02: KECCAK256 00000e03: SWAP1 00000e04: JUMPDEST 00000e05: DUP2 00000e06: SLOAD 00000e07: DUP2 00000e08: MSTORE 00000e09: SWAP1 00000e0a: PUSH1 0x01 00000e0c: ADD 00000e0d: SWAP1 00000e0e: PUSH1 0x20 00000e10: ADD 00000e11: DUP1 00000e12: DUP4 00000e13: GT 00000e14: PUSH2 0x0e04 00000e17: JUMPI 00000e18: DUP3 00000e19: SWAP1 00000e1a: SUB 00000e1b: PUSH1 0x1f 00000e1d: AND 00000e1e: DUP3 00000e1f: ADD 00000e20: SWAP2 00000e21: JUMPDEST 00000e22: POP 00000e23: POP 00000e24: POP 00000e25: POP 00000e26: POP 00000e27: SWAP1 00000e28: POP 00000e29: SWAP1 00000e2a: JUMP 00000e2b: JUMPDEST 00000e2c: PUSH1 0x00 00000e2e: PUSH2 0x0e36 00000e31: DUP3 00000e32: PUSH2 0x21d1 00000e35: JUMP 00000e36: JUMPDEST 00000e37: PUSH2 0x0e8b 00000e3a: JUMPI 00000e3b: PUSH1 0x40 00000e3d: MLOAD 00000e3e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000e5f: DUP2 00000e60: MSTORE 00000e61: PUSH1 0x04 00000e63: ADD 00000e64: DUP1 00000e65: DUP1 00000e66: PUSH1 0x20 00000e68: ADD 00000e69: DUP3 00000e6a: DUP2 00000e6b: SUB 00000e6c: DUP3 00000e6d: MSTORE 00000e6e: PUSH1 0x2c 00000e70: DUP2 00000e71: MSTORE 00000e72: PUSH1 0x20 00000e74: ADD 00000e75: DUP1 00000e76: PUSH2 0x379c 00000e79: PUSH1 0x2c 00000e7b: SWAP2 00000e7c: CODECOPY 00000e7d: PUSH1 0x40 00000e7f: ADD 00000e80: SWAP2 00000e81: POP 00000e82: POP 00000e83: PUSH1 0x40 00000e85: MLOAD 00000e86: DUP1 00000e87: SWAP2 00000e88: SUB 00000e89: SWAP1 00000e8a: REVERT 00000e8b: JUMPDEST 00000e8c: PUSH1 0x04 00000e8e: PUSH1 0x00 00000e90: DUP4 00000e91: DUP2 00000e92: MSTORE 00000e93: PUSH1 0x20 00000e95: ADD 00000e96: SWAP1 00000e97: DUP2 00000e98: MSTORE 00000e99: PUSH1 0x20 00000e9b: ADD 00000e9c: PUSH1 0x00 00000e9e: KECCAK256 00000e9f: PUSH1 0x00 00000ea1: SWAP1 00000ea2: SLOAD 00000ea3: SWAP1 00000ea4: PUSH2 0x0100 00000ea7: EXP 00000ea8: SWAP1 00000ea9: DIV 00000eaa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ebf: AND 00000ec0: SWAP1 00000ec1: POP 00000ec2: SWAP2 00000ec3: SWAP1 00000ec4: POP 00000ec5: JUMP 00000ec6: JUMPDEST 00000ec7: PUSH1 0x00 00000ec9: PUSH2 0x0ed1 00000ecc: DUP3 00000ecd: PUSH2 0x14f5 00000ed0: JUMP 00000ed1: JUMPDEST 00000ed2: SWAP1 00000ed3: POP 00000ed4: DUP1 00000ed5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000eea: AND 00000eeb: DUP4 00000eec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f01: AND 00000f02: EQ 00000f03: ISZERO 00000f04: PUSH2 0x0f58 00000f07: JUMPI 00000f08: PUSH1 0x40 00000f0a: MLOAD 00000f0b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000f2c: DUP2 00000f2d: MSTORE 00000f2e: PUSH1 0x04 00000f30: ADD 00000f31: DUP1 00000f32: DUP1 00000f33: PUSH1 0x20 00000f35: ADD 00000f36: DUP3 00000f37: DUP2 00000f38: SUB 00000f39: DUP3 00000f3a: MSTORE 00000f3b: PUSH1 0x21 00000f3d: DUP2 00000f3e: MSTORE 00000f3f: PUSH1 0x20 00000f41: ADD 00000f42: DUP1 00000f43: PUSH2 0x384c 00000f46: PUSH1 0x21 00000f48: SWAP2 00000f49: CODECOPY 00000f4a: PUSH1 0x40 00000f4c: ADD 00000f4d: SWAP2 00000f4e: POP 00000f4f: POP 00000f50: PUSH1 0x40 00000f52: MLOAD 00000f53: DUP1 00000f54: SWAP2 00000f55: SUB 00000f56: SWAP1 00000f57: REVERT 00000f58: JUMPDEST 00000f59: DUP1 00000f5a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f6f: AND 00000f70: PUSH2 0x0f77 00000f73: PUSH2 0x21ee 00000f76: JUMP 00000f77: JUMPDEST 00000f78: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f8d: AND 00000f8e: EQ 00000f8f: DUP1 00000f90: PUSH2 0x0fa6 00000f93: JUMPI 00000f94: POP 00000f95: PUSH2 0x0fa5 00000f98: DUP2 00000f99: PUSH2 0x0fa0 00000f9c: PUSH2 0x21ee 00000f9f: JUMP 00000fa0: JUMPDEST 00000fa1: PUSH2 0x1f48 00000fa4: JUMP 00000fa5: JUMPDEST 00000fa6: JUMPDEST 00000fa7: PUSH2 0x0ffb 00000faa: JUMPI 00000fab: PUSH1 0x40 00000fad: MLOAD 00000fae: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000fcf: DUP2 00000fd0: MSTORE 00000fd1: PUSH1 0x04 00000fd3: ADD 00000fd4: DUP1 00000fd5: DUP1 00000fd6: PUSH1 0x20 00000fd8: ADD 00000fd9: DUP3 00000fda: DUP2 00000fdb: SUB 00000fdc: DUP3 00000fdd: MSTORE 00000fde: PUSH1 0x38 00000fe0: DUP2 00000fe1: MSTORE 00000fe2: PUSH1 0x20 00000fe4: ADD 00000fe5: DUP1 00000fe6: PUSH2 0x36ef 00000fe9: PUSH1 0x38 00000feb: SWAP2 00000fec: CODECOPY 00000fed: PUSH1 0x40 00000fef: ADD 00000ff0: SWAP2 00000ff1: POP 00000ff2: POP 00000ff3: PUSH1 0x40 00000ff5: MLOAD 00000ff6: DUP1 00000ff7: SWAP2 00000ff8: SUB 00000ff9: SWAP1 00000ffa: REVERT 00000ffb: JUMPDEST 00000ffc: PUSH2 0x1005 00000fff: DUP4 00001000: DUP4 00001001: PUSH2 0x21f6 00001004: JUMP 00001005: JUMPDEST 00001006: POP 00001007: POP 00001008: POP 00001009: JUMP 0000100a: JUMPDEST 0000100b: PUSH2 0x101b 0000100e: PUSH2 0x1015 00001011: PUSH2 0x21ee 00001014: JUMP 00001015: JUMPDEST 00001016: DUP4 00001017: PUSH2 0x22af 0000101a: JUMP 0000101b: JUMPDEST 0000101c: PUSH2 0x1070 0000101f: JUMPI 00001020: PUSH1 0x40 00001022: MLOAD 00001023: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001044: DUP2 00001045: MSTORE 00001046: PUSH1 0x04 00001048: ADD 00001049: DUP1 0000104a: DUP1 0000104b: PUSH1 0x20 0000104d: ADD 0000104e: DUP3 0000104f: DUP2 00001050: SUB 00001051: DUP3 00001052: MSTORE 00001053: PUSH1 0x31 00001055: DUP2 00001056: MSTORE 00001057: PUSH1 0x20 00001059: ADD 0000105a: DUP1 0000105b: PUSH2 0x386d 0000105e: PUSH1 0x31 00001060: SWAP2 00001061: CODECOPY 00001062: PUSH1 0x40 00001064: ADD 00001065: SWAP2 00001066: POP 00001067: POP 00001068: PUSH1 0x40 0000106a: MLOAD 0000106b: DUP1 0000106c: SWAP2 0000106d: SUB 0000106e: SWAP1 0000106f: REVERT 00001070: JUMPDEST 00001071: PUSH2 0x107a 00001074: DUP3 00001075: DUP3 00001076: PUSH2 0x23a3 00001079: JUMP 0000107a: JUMPDEST 0000107b: POP 0000107c: POP 0000107d: JUMP 0000107e: JUMPDEST 0000107f: PUSH1 0x00 00001081: PUSH2 0x108a 00001084: PUSH1 0x02 00001086: PUSH2 0x242d 00001089: JUMP 0000108a: JUMPDEST 0000108b: SWAP1 0000108c: POP 0000108d: SWAP1 0000108e: JUMP 0000108f: JUMPDEST 00001090: PUSH2 0x10a0 00001093: PUSH2 0x109a 00001096: PUSH2 0x21ee 00001099: JUMP 0000109a: JUMPDEST 0000109b: DUP3 0000109c: PUSH2 0x22af 0000109f: JUMP 000010a0: JUMPDEST 000010a1: PUSH2 0x10f5 000010a4: JUMPI 000010a5: PUSH1 0x40 000010a7: MLOAD 000010a8: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000010c9: DUP2 000010ca: MSTORE 000010cb: PUSH1 0x04 000010cd: ADD 000010ce: DUP1 000010cf: DUP1 000010d0: PUSH1 0x20 000010d2: ADD 000010d3: DUP3 000010d4: DUP2 000010d5: SUB 000010d6: DUP3 000010d7: MSTORE 000010d8: PUSH1 0x31 000010da: DUP2 000010db: MSTORE 000010dc: PUSH1 0x20 000010de: ADD 000010df: DUP1 000010e0: PUSH2 0x386d 000010e3: PUSH1 0x31 000010e5: SWAP2 000010e6: CODECOPY 000010e7: PUSH1 0x40 000010e9: ADD 000010ea: SWAP2 000010eb: POP 000010ec: POP 000010ed: PUSH1 0x40 000010ef: MLOAD 000010f0: DUP1 000010f1: SWAP2 000010f2: SUB 000010f3: SWAP1 000010f4: REVERT 000010f5: JUMPDEST 000010f6: PUSH2 0x1100 000010f9: DUP4 000010fa: DUP4 000010fb: DUP4 000010fc: PUSH2 0x2442 000010ff: JUMP 00001100: JUMPDEST 00001101: POP 00001102: POP 00001103: POP 00001104: JUMP 00001105: JUMPDEST 00001106: PUSH1 0x01 00001108: PUSH1 0x0b 0000110a: PUSH1 0x00 0000110c: SWAP1 0000110d: SLOAD 0000110e: SWAP1 0000110f: PUSH2 0x0100 00001112: EXP 00001113: SWAP1 00001114: DIV 00001115: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000112a: AND 0000112b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001140: AND 00001141: PUSH4 0x70a08231 00001146: CALLER 00001147: PUSH1 0x40 00001149: MLOAD 0000114a: DUP3 0000114b: PUSH4 0xffffffff 00001150: AND 00001151: PUSH1 0xe0 00001153: SHL 00001154: DUP2 00001155: MSTORE 00001156: PUSH1 0x04 00001158: ADD 00001159: DUP1 0000115a: DUP3 0000115b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001170: AND 00001171: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001186: AND 00001187: DUP2 00001188: MSTORE 00001189: PUSH1 0x20 0000118b: ADD 0000118c: SWAP2 0000118d: POP 0000118e: POP 0000118f: PUSH1 0x20 00001191: PUSH1 0x40 00001193: MLOAD 00001194: DUP1 00001195: DUP4 00001196: SUB 00001197: DUP2 00001198: DUP7 00001199: DUP1 0000119a: EXTCODESIZE 0000119b: ISZERO 0000119c: DUP1 0000119d: ISZERO 0000119e: PUSH2 0x11a6 000011a1: JUMPI 000011a2: PUSH1 0x00 000011a4: DUP1 000011a5: REVERT 000011a6: JUMPDEST 000011a7: POP 000011a8: GAS 000011a9: STATICCALL 000011aa: ISZERO 000011ab: DUP1 000011ac: ISZERO 000011ad: PUSH2 0x11ba 000011b0: JUMPI 000011b1: RETURNDATASIZE 000011b2: PUSH1 0x00 000011b4: DUP1 000011b5: RETURNDATACOPY 000011b6: RETURNDATASIZE 000011b7: PUSH1 0x00 000011b9: REVERT 000011ba: JUMPDEST 000011bb: POP 000011bc: POP 000011bd: POP 000011be: POP 000011bf: PUSH1 0x40 000011c1: MLOAD 000011c2: RETURNDATASIZE 000011c3: PUSH1 0x20 000011c5: DUP2 000011c6: LT 000011c7: ISZERO 000011c8: PUSH2 0x11d0 000011cb: JUMPI 000011cc: PUSH1 0x00 000011ce: DUP1 000011cf: REVERT 000011d0: JUMPDEST 000011d1: DUP2 000011d2: ADD 000011d3: SWAP1 000011d4: DUP1 000011d5: DUP1 000011d6: MLOAD 000011d7: SWAP1 000011d8: PUSH1 0x20 000011da: ADD 000011db: SWAP1 000011dc: SWAP3 000011dd: SWAP2 000011de: SWAP1 000011df: POP 000011e0: POP 000011e1: POP 000011e2: LT 000011e3: ISZERO 000011e4: PUSH2 0x1255 000011e7: JUMPI 000011e8: PUSH1 0x40 000011ea: MLOAD 000011eb: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000120c: DUP2 0000120d: MSTORE 0000120e: PUSH1 0x04 00001210: ADD 00001211: DUP1 00001212: DUP1 00001213: PUSH1 0x20 00001215: ADD 00001216: DUP3 00001217: DUP2 00001218: SUB 00001219: DUP3 0000121a: MSTORE 0000121b: PUSH1 0x17 0000121d: DUP2 0000121e: MSTORE 0000121f: PUSH1 0x20 00001221: ADD 00001222: DUP1 00001223: PUSH32 0x4e656564206174206c65617374206f6e6520626c6f6f74000000000000000000 00001244: DUP2 00001245: MSTORE 00001246: POP 00001247: PUSH1 0x20 00001249: ADD 0000124a: SWAP2 0000124b: POP 0000124c: POP 0000124d: PUSH1 0x40 0000124f: MLOAD 00001250: DUP1 00001251: SWAP2 00001252: SUB 00001253: SWAP1 00001254: REVERT 00001255: JUMPDEST 00001256: PUSH1 0x0c 00001258: SLOAD 00001259: PUSH1 0x0b 0000125b: PUSH1 0x00 0000125d: SWAP1 0000125e: SLOAD 0000125f: SWAP1 00001260: PUSH2 0x0100 00001263: EXP 00001264: SWAP1 00001265: DIV 00001266: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000127b: AND 0000127c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001291: AND 00001292: PUSH4 0x70a08231 00001297: CALLER 00001298: PUSH1 0x40 0000129a: MLOAD 0000129b: DUP3 0000129c: PUSH4 0xffffffff 000012a1: AND 000012a2: PUSH1 0xe0 000012a4: SHL 000012a5: DUP2 000012a6: MSTORE 000012a7: PUSH1 0x04 000012a9: ADD 000012aa: DUP1 000012ab: DUP3 000012ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012c1: AND 000012c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012d7: AND 000012d8: DUP2 000012d9: MSTORE 000012da: PUSH1 0x20 000012dc: ADD 000012dd: SWAP2 000012de: POP 000012df: POP 000012e0: PUSH1 0x20 000012e2: PUSH1 0x40 000012e4: MLOAD 000012e5: DUP1 000012e6: DUP4 000012e7: SUB 000012e8: DUP2 000012e9: DUP7 000012ea: DUP1 000012eb: EXTCODESIZE 000012ec: ISZERO 000012ed: DUP1 000012ee: ISZERO 000012ef: PUSH2 0x12f7 000012f2: JUMPI 000012f3: PUSH1 0x00 000012f5: DUP1 000012f6: REVERT 000012f7: JUMPDEST 000012f8: POP 000012f9: GAS 000012fa: STATICCALL 000012fb: ISZERO 000012fc: DUP1 000012fd: ISZERO 000012fe: PUSH2 0x130b 00001301: JUMPI 00001302: RETURNDATASIZE 00001303: PUSH1 0x00 00001305: DUP1 00001306: RETURNDATACOPY 00001307: RETURNDATASIZE 00001308: PUSH1 0x00 0000130a: REVERT 0000130b: JUMPDEST 0000130c: POP 0000130d: POP 0000130e: POP 0000130f: POP 00001310: PUSH1 0x40 00001312: MLOAD 00001313: RETURNDATASIZE 00001314: PUSH1 0x20 00001316: DUP2 00001317: LT 00001318: ISZERO 00001319: PUSH2 0x1321 0000131c: JUMPI 0000131d: PUSH1 0x00 0000131f: DUP1 00001320: REVERT 00001321: JUMPDEST 00001322: DUP2 00001323: ADD 00001324: SWAP1 00001325: DUP1 00001326: DUP1 00001327: MLOAD 00001328: SWAP1 00001329: PUSH1 0x20 0000132b: ADD 0000132c: SWAP1 0000132d: SWAP3 0000132e: SWAP2 0000132f: SWAP1 00001330: POP 00001331: POP 00001332: POP 00001333: MUL 00001334: PUSH2 0x133c 00001337: CALLER 00001338: PUSH2 0x15ce 0000133b: JUMP 0000133c: JUMPDEST 0000133d: LT 0000133e: PUSH2 0x13af 00001341: JUMPI 00001342: PUSH1 0x40 00001344: MLOAD 00001345: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001366: DUP2 00001367: MSTORE 00001368: PUSH1 0x04 0000136a: ADD 0000136b: DUP1 0000136c: DUP1 0000136d: PUSH1 0x20 0000136f: ADD 00001370: DUP3 00001371: DUP2 00001372: SUB 00001373: DUP3 00001374: MSTORE 00001375: PUSH1 0x13 00001377: DUP2 00001378: MSTORE 00001379: PUSH1 0x20 0000137b: ADD 0000137c: DUP1 0000137d: PUSH32 0x5075726368617365206d6f726520626c6f6f7400000000000000000000000000 0000139e: DUP2 0000139f: MSTORE 000013a0: POP 000013a1: PUSH1 0x20 000013a3: ADD 000013a4: SWAP2 000013a5: POP 000013a6: POP 000013a7: PUSH1 0x40 000013a9: MLOAD 000013aa: DUP1 000013ab: SWAP2 000013ac: SUB 000013ad: SWAP1 000013ae: REVERT 000013af: JUMPDEST 000013b0: PUSH1 0x0d 000013b2: SLOAD 000013b3: PUSH2 0x13ba 000013b6: PUSH2 0x107e 000013b9: JUMP 000013ba: JUMPDEST 000013bb: LT 000013bc: PUSH2 0x142d 000013bf: JUMPI 000013c0: PUSH1 0x40 000013c2: MLOAD 000013c3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000013e4: DUP2 000013e5: MSTORE 000013e6: PUSH1 0x04 000013e8: ADD 000013e9: DUP1 000013ea: DUP1 000013eb: PUSH1 0x20 000013ed: ADD 000013ee: DUP3 000013ef: DUP2 000013f0: SUB 000013f1: DUP3 000013f2: MSTORE 000013f3: PUSH1 0x17 000013f5: DUP2 000013f6: MSTORE 000013f7: PUSH1 0x20 000013f9: ADD 000013fa: DUP1 000013fb: PUSH32 0x4d6178696d756d20737570706c7920726561636865642e000000000000000000 0000141c: DUP2 0000141d: MSTORE 0000141e: POP 0000141f: PUSH1 0x20 00001421: ADD 00001422: SWAP2 00001423: POP 00001424: POP 00001425: PUSH1 0x40 00001427: MLOAD 00001428: DUP1 00001429: SWAP2 0000142a: SUB 0000142b: SWAP1 0000142c: REVERT 0000142d: JUMPDEST 0000142e: PUSH2 0x1437 00001431: CALLER 00001432: DUP4 00001433: PUSH2 0x2685 00001436: JUMP 00001437: JUMPDEST 00001438: PUSH2 0x1441 0000143b: DUP3 0000143c: DUP3 0000143d: PUSH2 0x23a3 00001440: JUMP 00001441: JUMPDEST 00001442: POP 00001443: POP 00001444: JUMP 00001445: JUMPDEST 00001446: PUSH1 0x00 00001448: PUSH2 0x1498 0000144b: DUP3 0000144c: PUSH1 0x01 0000144e: PUSH1 0x00 00001450: DUP7 00001451: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001466: AND 00001467: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000147c: AND 0000147d: DUP2 0000147e: MSTORE 0000147f: PUSH1 0x20 00001481: ADD 00001482: SWAP1 00001483: DUP2 00001484: MSTORE 00001485: PUSH1 0x20 00001487: ADD 00001488: PUSH1 0x00 0000148a: KECCAK256 0000148b: PUSH2 0x26a3 0000148e: SWAP1 0000148f: SWAP2 00001490: SWAP1 00001491: PUSH4 0xffffffff 00001496: AND 00001497: JUMP 00001498: JUMPDEST 00001499: SWAP1 0000149a: POP 0000149b: SWAP3 0000149c: SWAP2 0000149d: POP 0000149e: POP 0000149f: JUMP 000014a0: JUMPDEST 000014a1: PUSH1 0x60 000014a3: PUSH2 0x14ab 000014a6: DUP3 000014a7: PUSH2 0x1c77 000014aa: JUMP 000014ab: JUMPDEST 000014ac: SWAP1 000014ad: POP 000014ae: SWAP2 000014af: SWAP1 000014b0: POP 000014b1: JUMP 000014b2: JUMPDEST 000014b3: PUSH2 0x14cd 000014b6: DUP4 000014b7: DUP4 000014b8: DUP4 000014b9: PUSH1 0x40 000014bb: MLOAD 000014bc: DUP1 000014bd: PUSH1 0x20 000014bf: ADD 000014c0: PUSH1 0x40 000014c2: MSTORE 000014c3: DUP1 000014c4: PUSH1 0x00 000014c6: DUP2 000014c7: MSTORE 000014c8: POP 000014c9: PUSH2 0x1bff 000014cc: JUMP 000014cd: JUMPDEST 000014ce: POP 000014cf: POP 000014d0: POP 000014d1: JUMP 000014d2: JUMPDEST 000014d3: PUSH1 0x00 000014d5: DUP1 000014d6: PUSH2 0x14e9 000014d9: DUP4 000014da: PUSH1 0x02 000014dc: PUSH2 0x26bd 000014df: SWAP1 000014e0: SWAP2 000014e1: SWAP1 000014e2: PUSH4 0xffffffff 000014e7: AND 000014e8: JUMP 000014e9: JUMPDEST 000014ea: POP 000014eb: SWAP1 000014ec: POP 000014ed: DUP1 000014ee: SWAP2 000014ef: POP 000014f0: POP 000014f1: SWAP2 000014f2: SWAP1 000014f3: POP 000014f4: JUMP 000014f5: JUMPDEST 000014f6: PUSH1 0x00 000014f8: PUSH2 0x1525 000014fb: DUP3 000014fc: PUSH1 0x40 000014fe: MLOAD 000014ff: DUP1 00001500: PUSH1 0x60 00001502: ADD 00001503: PUSH1 0x40 00001505: MSTORE 00001506: DUP1 00001507: PUSH1 0x29 00001509: DUP2 0000150a: MSTORE 0000150b: PUSH1 0x20 0000150d: ADD 0000150e: PUSH2 0x3751 00001511: PUSH1 0x29 00001513: SWAP2 00001514: CODECOPY 00001515: PUSH1 0x02 00001517: PUSH2 0x26ec 0000151a: SWAP1 0000151b: SWAP3 0000151c: SWAP2 0000151d: SWAP1 0000151e: PUSH4 0xffffffff 00001523: AND 00001524: JUMP 00001525: JUMPDEST 00001526: SWAP1 00001527: POP 00001528: SWAP2 00001529: SWAP1 0000152a: POP 0000152b: JUMP 0000152c: JUMPDEST 0000152d: PUSH1 0x60 0000152f: PUSH1 0x09 00001531: DUP1 00001532: SLOAD 00001533: PUSH1 0x01 00001535: DUP2 00001536: PUSH1 0x01 00001538: AND 00001539: ISZERO 0000153a: PUSH2 0x0100 0000153d: MUL 0000153e: SUB 0000153f: AND 00001540: PUSH1 0x02 00001542: SWAP1 00001543: DIV 00001544: DUP1 00001545: PUSH1 0x1f 00001547: ADD 00001548: PUSH1 0x20 0000154a: DUP1 0000154b: SWAP2 0000154c: DIV 0000154d: MUL 0000154e: PUSH1 0x20 00001550: ADD 00001551: PUSH1 0x40 00001553: MLOAD 00001554: SWAP1 00001555: DUP2 00001556: ADD 00001557: PUSH1 0x40 00001559: MSTORE 0000155a: DUP1 0000155b: SWAP3 0000155c: SWAP2 0000155d: SWAP1 0000155e: DUP2 0000155f: DUP2 00001560: MSTORE 00001561: PUSH1 0x20 00001563: ADD 00001564: DUP3 00001565: DUP1 00001566: SLOAD 00001567: PUSH1 0x01 00001569: DUP2 0000156a: PUSH1 0x01 0000156c: AND 0000156d: ISZERO 0000156e: PUSH2 0x0100 00001571: MUL 00001572: SUB 00001573: AND 00001574: PUSH1 0x02 00001576: SWAP1 00001577: DIV 00001578: DUP1 00001579: ISZERO 0000157a: PUSH2 0x15c4 0000157d: JUMPI 0000157e: DUP1 0000157f: PUSH1 0x1f 00001581: LT 00001582: PUSH2 0x1599 00001585: JUMPI 00001586: PUSH2 0x0100 00001589: DUP1 0000158a: DUP4 0000158b: SLOAD 0000158c: DIV 0000158d: MUL 0000158e: DUP4 0000158f: MSTORE 00001590: SWAP2 00001591: PUSH1 0x20 00001593: ADD 00001594: SWAP2 00001595: PUSH2 0x15c4 00001598: JUMP 00001599: JUMPDEST 0000159a: DUP3 0000159b: ADD 0000159c: SWAP2 0000159d: SWAP1 0000159e: PUSH1 0x00 000015a0: MSTORE 000015a1: PUSH1 0x20 000015a3: PUSH1 0x00 000015a5: KECCAK256 000015a6: SWAP1 000015a7: JUMPDEST 000015a8: DUP2 000015a9: SLOAD 000015aa: DUP2 000015ab: MSTORE 000015ac: SWAP1 000015ad: PUSH1 0x01 000015af: ADD 000015b0: SWAP1 000015b1: PUSH1 0x20 000015b3: ADD 000015b4: DUP1 000015b5: DUP4 000015b6: GT 000015b7: PUSH2 0x15a7 000015ba: JUMPI 000015bb: DUP3 000015bc: SWAP1 000015bd: SUB 000015be: PUSH1 0x1f 000015c0: AND 000015c1: DUP3 000015c2: ADD 000015c3: SWAP2 000015c4: JUMPDEST 000015c5: POP 000015c6: POP 000015c7: POP 000015c8: POP 000015c9: POP 000015ca: SWAP1 000015cb: POP 000015cc: SWAP1 000015cd: JUMP 000015ce: JUMPDEST 000015cf: PUSH1 0x00 000015d1: DUP1 000015d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015e7: AND 000015e8: DUP3 000015e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015fe: AND 000015ff: EQ 00001600: ISZERO 00001601: PUSH2 0x1655 00001604: JUMPI 00001605: PUSH1 0x40 00001607: MLOAD 00001608: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001629: DUP2 0000162a: MSTORE 0000162b: PUSH1 0x04 0000162d: ADD 0000162e: DUP1 0000162f: DUP1 00001630: PUSH1 0x20 00001632: ADD 00001633: DUP3 00001634: DUP2 00001635: SUB 00001636: DUP3 00001637: MSTORE 00001638: PUSH1 0x2a 0000163a: DUP2 0000163b: MSTORE 0000163c: PUSH1 0x20 0000163e: ADD 0000163f: DUP1 00001640: PUSH2 0x3727 00001643: PUSH1 0x2a 00001645: SWAP2 00001646: CODECOPY 00001647: PUSH1 0x40 00001649: ADD 0000164a: SWAP2 0000164b: POP 0000164c: POP 0000164d: PUSH1 0x40 0000164f: MLOAD 00001650: DUP1 00001651: SWAP2 00001652: SUB 00001653: SWAP1 00001654: REVERT 00001655: JUMPDEST 00001656: PUSH2 0x169c 00001659: PUSH1 0x01 0000165b: PUSH1 0x00 0000165d: DUP5 0000165e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001673: AND 00001674: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001689: AND 0000168a: DUP2 0000168b: MSTORE 0000168c: PUSH1 0x20 0000168e: ADD 0000168f: SWAP1 00001690: DUP2 00001691: MSTORE 00001692: PUSH1 0x20 00001694: ADD 00001695: PUSH1 0x00 00001697: KECCAK256 00001698: PUSH2 0x270b 0000169b: JUMP 0000169c: JUMPDEST 0000169d: SWAP1 0000169e: POP 0000169f: SWAP2 000016a0: SWAP1 000016a1: POP 000016a2: JUMP 000016a3: JUMPDEST 000016a4: PUSH2 0x16ab 000016a7: PUSH2 0x21ee 000016aa: JUMP 000016ab: JUMPDEST 000016ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016c1: AND 000016c2: PUSH2 0x16c9 000016c5: PUSH2 0x197b 000016c8: JUMP 000016c9: JUMPDEST 000016ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016df: AND 000016e0: EQ 000016e1: PUSH2 0x1752 000016e4: JUMPI 000016e5: PUSH1 0x40 000016e7: MLOAD 000016e8: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001709: DUP2 0000170a: MSTORE 0000170b: PUSH1 0x04 0000170d: ADD 0000170e: DUP1 0000170f: DUP1 00001710: PUSH1 0x20 00001712: ADD 00001713: DUP3 00001714: DUP2 00001715: SUB 00001716: DUP3 00001717: MSTORE 00001718: PUSH1 0x20 0000171a: DUP2 0000171b: MSTORE 0000171c: PUSH1 0x20 0000171e: ADD 0000171f: DUP1 00001720: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00001741: DUP2 00001742: MSTORE 00001743: POP 00001744: PUSH1 0x20 00001746: ADD 00001747: SWAP2 00001748: POP 00001749: POP 0000174a: PUSH1 0x40 0000174c: MLOAD 0000174d: DUP1 0000174e: SWAP2 0000174f: SUB 00001750: SWAP1 00001751: REVERT 00001752: JUMPDEST 00001753: PUSH1 0x00 00001755: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000176a: AND 0000176b: PUSH1 0x0a 0000176d: PUSH1 0x00 0000176f: SWAP1 00001770: SLOAD 00001771: SWAP1 00001772: PUSH2 0x0100 00001775: EXP 00001776: SWAP1 00001777: DIV 00001778: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000178d: AND 0000178e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017a3: AND 000017a4: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 000017c5: PUSH1 0x40 000017c7: MLOAD 000017c8: PUSH1 0x40 000017ca: MLOAD 000017cb: DUP1 000017cc: SWAP2 000017cd: SUB 000017ce: SWAP1 000017cf: LOG3 000017d0: PUSH1 0x00 000017d2: PUSH1 0x0a 000017d4: PUSH1 0x00 000017d6: PUSH2 0x0100 000017d9: EXP 000017da: DUP2 000017db: SLOAD 000017dc: DUP2 000017dd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017f2: MUL 000017f3: NOT 000017f4: AND 000017f5: SWAP1 000017f6: DUP4 000017f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000180c: AND 0000180d: MUL 0000180e: OR 0000180f: SWAP1 00001810: SSTORE 00001811: POP 00001812: JUMP 00001813: JUMPDEST 00001814: PUSH1 0x00 00001816: DUP1 00001817: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000182c: AND 0000182d: CALLER 0000182e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001843: AND 00001844: EQ 00001845: ISZERO 00001846: PUSH2 0x189a 00001849: JUMPI 0000184a: PUSH1 0x40 0000184c: MLOAD 0000184d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000186e: DUP2 0000186f: MSTORE 00001870: PUSH1 0x04 00001872: ADD 00001873: DUP1 00001874: DUP1 00001875: PUSH1 0x20 00001877: ADD 00001878: DUP3 00001879: DUP2 0000187a: SUB 0000187b: DUP3 0000187c: MSTORE 0000187d: PUSH1 0x2a 0000187f: DUP2 00001880: MSTORE 00001881: PUSH1 0x20 00001883: ADD 00001884: DUP1 00001885: PUSH2 0x3727 00001888: PUSH1 0x2a 0000188a: SWAP2 0000188b: CODECOPY 0000188c: PUSH1 0x40 0000188e: ADD 0000188f: SWAP2 00001890: POP 00001891: POP 00001892: PUSH1 0x40 00001894: MLOAD 00001895: DUP1 00001896: SWAP2 00001897: SUB 00001898: SWAP1 00001899: REVERT 0000189a: JUMPDEST 0000189b: PUSH1 0x0b 0000189d: PUSH1 0x00 0000189f: SWAP1 000018a0: SLOAD 000018a1: SWAP1 000018a2: PUSH2 0x0100 000018a5: EXP 000018a6: SWAP1 000018a7: DIV 000018a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018bd: AND 000018be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018d3: AND 000018d4: PUSH4 0x70a08231 000018d9: DUP4 000018da: PUSH1 0x40 000018dc: MLOAD 000018dd: DUP3 000018de: PUSH4 0xffffffff 000018e3: AND 000018e4: PUSH1 0xe0 000018e6: SHL 000018e7: DUP2 000018e8: MSTORE 000018e9: PUSH1 0x04 000018eb: ADD 000018ec: DUP1 000018ed: DUP3 000018ee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001903: AND 00001904: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001919: AND 0000191a: DUP2 0000191b: MSTORE 0000191c: PUSH1 0x20 0000191e: ADD 0000191f: SWAP2 00001920: POP 00001921: POP 00001922: PUSH1 0x20 00001924: PUSH1 0x40 00001926: MLOAD 00001927: DUP1 00001928: DUP4 00001929: SUB 0000192a: DUP2 0000192b: DUP7 0000192c: DUP1 0000192d: EXTCODESIZE 0000192e: ISZERO 0000192f: DUP1 00001930: ISZERO 00001931: PUSH2 0x1939 00001934: JUMPI 00001935: PUSH1 0x00 00001937: DUP1 00001938: REVERT 00001939: JUMPDEST 0000193a: POP 0000193b: GAS 0000193c: STATICCALL 0000193d: ISZERO 0000193e: DUP1 0000193f: ISZERO 00001940: PUSH2 0x194d 00001943: JUMPI 00001944: RETURNDATASIZE 00001945: PUSH1 0x00 00001947: DUP1 00001948: RETURNDATACOPY 00001949: RETURNDATASIZE 0000194a: PUSH1 0x00 0000194c: REVERT 0000194d: JUMPDEST 0000194e: POP 0000194f: POP 00001950: POP 00001951: POP 00001952: PUSH1 0x40 00001954: MLOAD 00001955: RETURNDATASIZE 00001956: PUSH1 0x20 00001958: DUP2 00001959: LT 0000195a: ISZERO 0000195b: PUSH2 0x1963 0000195e: JUMPI 0000195f: PUSH1 0x00 00001961: DUP1 00001962: REVERT 00001963: JUMPDEST 00001964: DUP2 00001965: ADD 00001966: SWAP1 00001967: DUP1 00001968: DUP1 00001969: MLOAD 0000196a: SWAP1 0000196b: PUSH1 0x20 0000196d: ADD 0000196e: SWAP1 0000196f: SWAP3 00001970: SWAP2 00001971: SWAP1 00001972: POP 00001973: POP 00001974: POP 00001975: SWAP1 00001976: POP 00001977: SWAP2 00001978: SWAP1 00001979: POP 0000197a: JUMP 0000197b: JUMPDEST 0000197c: PUSH1 0x00 0000197e: PUSH1 0x0a 00001980: PUSH1 0x00 00001982: SWAP1 00001983: SLOAD 00001984: SWAP1 00001985: PUSH2 0x0100 00001988: EXP 00001989: SWAP1 0000198a: DIV 0000198b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019a0: AND 000019a1: SWAP1 000019a2: POP 000019a3: SWAP1 000019a4: JUMP 000019a5: JUMPDEST 000019a6: PUSH1 0x60 000019a8: PUSH1 0x07 000019aa: DUP1 000019ab: SLOAD 000019ac: PUSH1 0x01 000019ae: DUP2 000019af: PUSH1 0x01 000019b1: AND 000019b2: ISZERO 000019b3: PUSH2 0x0100 000019b6: MUL 000019b7: SUB 000019b8: AND 000019b9: PUSH1 0x02 000019bb: SWAP1 000019bc: DIV 000019bd: DUP1 000019be: PUSH1 0x1f 000019c0: ADD 000019c1: PUSH1 0x20 000019c3: DUP1 000019c4: SWAP2 000019c5: DIV 000019c6: MUL 000019c7: PUSH1 0x20 000019c9: ADD 000019ca: PUSH1 0x40 000019cc: MLOAD 000019cd: SWAP1 000019ce: DUP2 000019cf: ADD 000019d0: PUSH1 0x40 000019d2: MSTORE 000019d3: DUP1 000019d4: SWAP3 000019d5: SWAP2 000019d6: SWAP1 000019d7: DUP2 000019d8: DUP2 000019d9: MSTORE 000019da: PUSH1 0x20 000019dc: ADD 000019dd: DUP3 000019de: DUP1 000019df: SLOAD 000019e0: PUSH1 0x01 000019e2: DUP2 000019e3: PUSH1 0x01 000019e5: AND 000019e6: ISZERO 000019e7: PUSH2 0x0100 000019ea: MUL 000019eb: SUB 000019ec: AND 000019ed: PUSH1 0x02 000019ef: SWAP1 000019f0: DIV 000019f1: DUP1 000019f2: ISZERO 000019f3: PUSH2 0x1a3d 000019f6: JUMPI 000019f7: DUP1 000019f8: PUSH1 0x1f 000019fa: LT 000019fb: PUSH2 0x1a12 000019fe: JUMPI 000019ff: PUSH2 0x0100 00001a02: DUP1 00001a03: DUP4 00001a04: SLOAD 00001a05: DIV 00001a06: MUL 00001a07: DUP4 00001a08: MSTORE 00001a09: SWAP2 00001a0a: PUSH1 0x20 00001a0c: ADD 00001a0d: SWAP2 00001a0e: PUSH2 0x1a3d 00001a11: JUMP 00001a12: JUMPDEST 00001a13: DUP3 00001a14: ADD 00001a15: SWAP2 00001a16: SWAP1 00001a17: PUSH1 0x00 00001a19: MSTORE 00001a1a: PUSH1 0x20 00001a1c: PUSH1 0x00 00001a1e: KECCAK256 00001a1f: SWAP1 00001a20: JUMPDEST 00001a21: DUP2 00001a22: SLOAD 00001a23: DUP2 00001a24: MSTORE 00001a25: SWAP1 00001a26: PUSH1 0x01 00001a28: ADD 00001a29: SWAP1 00001a2a: PUSH1 0x20 00001a2c: ADD 00001a2d: DUP1 00001a2e: DUP4 00001a2f: GT 00001a30: PUSH2 0x1a20 00001a33: JUMPI 00001a34: DUP3 00001a35: SWAP1 00001a36: SUB 00001a37: PUSH1 0x1f 00001a39: AND 00001a3a: DUP3 00001a3b: ADD 00001a3c: SWAP2 00001a3d: JUMPDEST 00001a3e: POP 00001a3f: POP 00001a40: POP 00001a41: POP 00001a42: POP 00001a43: SWAP1 00001a44: POP 00001a45: SWAP1 00001a46: JUMP 00001a47: JUMPDEST 00001a48: PUSH2 0x1a4f 00001a4b: PUSH2 0x21ee 00001a4e: JUMP 00001a4f: JUMPDEST 00001a50: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a65: AND 00001a66: DUP3 00001a67: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a7c: AND 00001a7d: EQ 00001a7e: ISZERO 00001a7f: PUSH2 0x1af0 00001a82: JUMPI 00001a83: PUSH1 0x40 00001a85: MLOAD 00001a86: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001aa7: DUP2 00001aa8: MSTORE 00001aa9: PUSH1 0x04 00001aab: ADD 00001aac: DUP1 00001aad: DUP1 00001aae: PUSH1 0x20 00001ab0: ADD 00001ab1: DUP3 00001ab2: DUP2 00001ab3: SUB 00001ab4: DUP3 00001ab5: MSTORE 00001ab6: PUSH1 0x19 00001ab8: DUP2 00001ab9: MSTORE 00001aba: PUSH1 0x20 00001abc: ADD 00001abd: DUP1 00001abe: PUSH32 0x4552433732313a20617070726f766520746f2063616c6c657200000000000000 00001adf: DUP2 00001ae0: MSTORE 00001ae1: POP 00001ae2: PUSH1 0x20 00001ae4: ADD 00001ae5: SWAP2 00001ae6: POP 00001ae7: POP 00001ae8: PUSH1 0x40 00001aea: MLOAD 00001aeb: DUP1 00001aec: SWAP2 00001aed: SUB 00001aee: SWAP1 00001aef: REVERT 00001af0: JUMPDEST 00001af1: DUP1 00001af2: PUSH1 0x05 00001af4: PUSH1 0x00 00001af6: PUSH2 0x1afd 00001af9: PUSH2 0x21ee 00001afc: JUMP 00001afd: JUMPDEST 00001afe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b13: AND 00001b14: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b29: AND 00001b2a: DUP2 00001b2b: MSTORE 00001b2c: PUSH1 0x20 00001b2e: ADD 00001b2f: SWAP1 00001b30: DUP2 00001b31: MSTORE 00001b32: PUSH1 0x20 00001b34: ADD 00001b35: PUSH1 0x00 00001b37: KECCAK256 00001b38: PUSH1 0x00 00001b3a: DUP5 00001b3b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b50: AND 00001b51: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b66: AND 00001b67: DUP2 00001b68: MSTORE 00001b69: PUSH1 0x20 00001b6b: ADD 00001b6c: SWAP1 00001b6d: DUP2 00001b6e: MSTORE 00001b6f: PUSH1 0x20 00001b71: ADD 00001b72: PUSH1 0x00 00001b74: KECCAK256 00001b75: PUSH1 0x00 00001b77: PUSH2 0x0100 00001b7a: EXP 00001b7b: DUP2 00001b7c: SLOAD 00001b7d: DUP2 00001b7e: PUSH1 0xff 00001b80: MUL 00001b81: NOT 00001b82: AND 00001b83: SWAP1 00001b84: DUP4 00001b85: ISZERO 00001b86: ISZERO 00001b87: MUL 00001b88: OR 00001b89: SWAP1 00001b8a: SSTORE 00001b8b: POP 00001b8c: DUP2 00001b8d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ba2: AND 00001ba3: PUSH2 0x1baa 00001ba6: PUSH2 0x21ee 00001ba9: JUMP 00001baa: JUMPDEST 00001bab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bc0: AND 00001bc1: PUSH32 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31 00001be2: DUP4 00001be3: PUSH1 0x40 00001be5: MLOAD 00001be6: DUP1 00001be7: DUP3 00001be8: ISZERO 00001be9: ISZERO 00001bea: ISZERO 00001beb: ISZERO 00001bec: DUP2 00001bed: MSTORE 00001bee: PUSH1 0x20 00001bf0: ADD 00001bf1: SWAP2 00001bf2: POP 00001bf3: POP 00001bf4: PUSH1 0x40 00001bf6: MLOAD 00001bf7: DUP1 00001bf8: SWAP2 00001bf9: SUB 00001bfa: SWAP1 00001bfb: LOG3 00001bfc: POP 00001bfd: POP 00001bfe: JUMP 00001bff: JUMPDEST 00001c00: PUSH2 0x1c10 00001c03: PUSH2 0x1c0a 00001c06: PUSH2 0x21ee 00001c09: JUMP 00001c0a: JUMPDEST 00001c0b: DUP4 00001c0c: PUSH2 0x22af 00001c0f: JUMP 00001c10: JUMPDEST 00001c11: PUSH2 0x1c65 00001c14: JUMPI 00001c15: PUSH1 0x40 00001c17: MLOAD 00001c18: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001c39: DUP2 00001c3a: MSTORE 00001c3b: PUSH1 0x04 00001c3d: ADD 00001c3e: DUP1 00001c3f: DUP1 00001c40: PUSH1 0x20 00001c42: ADD 00001c43: DUP3 00001c44: DUP2 00001c45: SUB 00001c46: DUP3 00001c47: MSTORE 00001c48: PUSH1 0x31 00001c4a: DUP2 00001c4b: MSTORE 00001c4c: PUSH1 0x20 00001c4e: ADD 00001c4f: DUP1 00001c50: PUSH2 0x386d 00001c53: PUSH1 0x31 00001c55: SWAP2 00001c56: CODECOPY 00001c57: PUSH1 0x40 00001c59: ADD 00001c5a: SWAP2 00001c5b: POP 00001c5c: POP 00001c5d: PUSH1 0x40 00001c5f: MLOAD 00001c60: DUP1 00001c61: SWAP2 00001c62: SUB 00001c63: SWAP1 00001c64: REVERT 00001c65: JUMPDEST 00001c66: PUSH2 0x1c71 00001c69: DUP5 00001c6a: DUP5 00001c6b: DUP5 00001c6c: DUP5 00001c6d: PUSH2 0x2720 00001c70: JUMP 00001c71: JUMPDEST 00001c72: POP 00001c73: POP 00001c74: POP 00001c75: POP 00001c76: JUMP 00001c77: JUMPDEST 00001c78: PUSH1 0x60 00001c7a: PUSH2 0x1c82 00001c7d: DUP3 00001c7e: PUSH2 0x21d1 00001c81: JUMP 00001c82: JUMPDEST 00001c83: PUSH2 0x1cd7 00001c86: JUMPI 00001c87: PUSH1 0x40 00001c89: MLOAD 00001c8a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001cab: DUP2 00001cac: MSTORE 00001cad: PUSH1 0x04 00001caf: ADD 00001cb0: DUP1 00001cb1: DUP1 00001cb2: PUSH1 0x20 00001cb4: ADD 00001cb5: DUP3 00001cb6: DUP2 00001cb7: SUB 00001cb8: DUP3 00001cb9: MSTORE 00001cba: PUSH1 0x2f 00001cbc: DUP2 00001cbd: MSTORE 00001cbe: PUSH1 0x20 00001cc0: ADD 00001cc1: DUP1 00001cc2: PUSH2 0x381d 00001cc5: PUSH1 0x2f 00001cc7: SWAP2 00001cc8: CODECOPY 00001cc9: PUSH1 0x40 00001ccb: ADD 00001ccc: SWAP2 00001ccd: POP 00001cce: POP 00001ccf: PUSH1 0x40 00001cd1: MLOAD 00001cd2: DUP1 00001cd3: SWAP2 00001cd4: SUB 00001cd5: SWAP1 00001cd6: REVERT 00001cd7: JUMPDEST 00001cd8: PUSH1 0x60 00001cda: PUSH1 0x08 00001cdc: PUSH1 0x00 00001cde: DUP5 00001cdf: DUP2 00001ce0: MSTORE 00001ce1: PUSH1 0x20 00001ce3: ADD 00001ce4: SWAP1 00001ce5: DUP2 00001ce6: MSTORE 00001ce7: PUSH1 0x20 00001ce9: ADD 00001cea: PUSH1 0x00 00001cec: KECCAK256 00001ced: DUP1 00001cee: SLOAD 00001cef: PUSH1 0x01 00001cf1: DUP2 00001cf2: PUSH1 0x01 00001cf4: AND 00001cf5: ISZERO 00001cf6: PUSH2 0x0100 00001cf9: MUL 00001cfa: SUB 00001cfb: AND 00001cfc: PUSH1 0x02 00001cfe: SWAP1 00001cff: DIV 00001d00: DUP1 00001d01: PUSH1 0x1f 00001d03: ADD 00001d04: PUSH1 0x20 00001d06: DUP1 00001d07: SWAP2 00001d08: DIV 00001d09: MUL 00001d0a: PUSH1 0x20 00001d0c: ADD 00001d0d: PUSH1 0x40 00001d0f: MLOAD 00001d10: SWAP1 00001d11: DUP2 00001d12: ADD 00001d13: PUSH1 0x40 00001d15: MSTORE 00001d16: DUP1 00001d17: SWAP3 00001d18: SWAP2 00001d19: SWAP1 00001d1a: DUP2 00001d1b: DUP2 00001d1c: MSTORE 00001d1d: PUSH1 0x20 00001d1f: ADD 00001d20: DUP3 00001d21: DUP1 00001d22: SLOAD 00001d23: PUSH1 0x01 00001d25: DUP2 00001d26: PUSH1 0x01 00001d28: AND 00001d29: ISZERO 00001d2a: PUSH2 0x0100 00001d2d: MUL 00001d2e: SUB 00001d2f: AND 00001d30: PUSH1 0x02 00001d32: SWAP1 00001d33: DIV 00001d34: DUP1 00001d35: ISZERO 00001d36: PUSH2 0x1d80 00001d39: JUMPI 00001d3a: DUP1 00001d3b: PUSH1 0x1f 00001d3d: LT 00001d3e: PUSH2 0x1d55 00001d41: JUMPI 00001d42: PUSH2 0x0100 00001d45: DUP1 00001d46: DUP4 00001d47: SLOAD 00001d48: DIV 00001d49: MUL 00001d4a: DUP4 00001d4b: MSTORE 00001d4c: SWAP2 00001d4d: PUSH1 0x20 00001d4f: ADD 00001d50: SWAP2 00001d51: PUSH2 0x1d80 00001d54: JUMP 00001d55: JUMPDEST 00001d56: DUP3 00001d57: ADD 00001d58: SWAP2 00001d59: SWAP1 00001d5a: PUSH1 0x00 00001d5c: MSTORE 00001d5d: PUSH1 0x20 00001d5f: PUSH1 0x00 00001d61: KECCAK256 00001d62: SWAP1 00001d63: JUMPDEST 00001d64: DUP2 00001d65: SLOAD 00001d66: DUP2 00001d67: MSTORE 00001d68: SWAP1 00001d69: PUSH1 0x01 00001d6b: ADD 00001d6c: SWAP1 00001d6d: PUSH1 0x20 00001d6f: ADD 00001d70: DUP1 00001d71: DUP4 00001d72: GT 00001d73: PUSH2 0x1d63 00001d76: JUMPI 00001d77: DUP3 00001d78: SWAP1 00001d79: SUB 00001d7a: PUSH1 0x1f 00001d7c: AND 00001d7d: DUP3 00001d7e: ADD 00001d7f: SWAP2 00001d80: JUMPDEST 00001d81: POP 00001d82: POP 00001d83: POP 00001d84: POP 00001d85: POP 00001d86: SWAP1 00001d87: POP 00001d88: PUSH1 0x60 00001d8a: PUSH2 0x1d91 00001d8d: PUSH2 0x152c 00001d90: JUMP 00001d91: JUMPDEST 00001d92: SWAP1 00001d93: POP 00001d94: PUSH1 0x00 00001d96: DUP2 00001d97: MLOAD 00001d98: EQ 00001d99: ISZERO 00001d9a: PUSH2 0x1da7 00001d9d: JUMPI 00001d9e: DUP2 00001d9f: SWAP3 00001da0: POP 00001da1: POP 00001da2: POP 00001da3: PUSH2 0x1f43 00001da6: JUMP 00001da7: JUMPDEST 00001da8: PUSH1 0x00 00001daa: DUP3 00001dab: MLOAD 00001dac: GT 00001dad: ISZERO 00001dae: PUSH2 0x1e78 00001db1: JUMPI 00001db2: DUP1 00001db3: DUP3 00001db4: PUSH1 0x40 00001db6: MLOAD 00001db7: PUSH1 0x20 00001db9: ADD 00001dba: DUP1 00001dbb: DUP4 00001dbc: DUP1 00001dbd: MLOAD 00001dbe: SWAP1 00001dbf: PUSH1 0x20 00001dc1: ADD 00001dc2: SWAP1 00001dc3: DUP1 00001dc4: DUP4 00001dc5: DUP4 00001dc6: JUMPDEST 00001dc7: PUSH1 0x20 00001dc9: DUP4 00001dca: LT 00001dcb: PUSH2 0x1de9 00001dce: JUMPI 00001dcf: DUP1 00001dd0: MLOAD 00001dd1: DUP3 00001dd2: MSTORE 00001dd3: PUSH1 0x20 00001dd5: DUP3 00001dd6: ADD 00001dd7: SWAP2 00001dd8: POP 00001dd9: PUSH1 0x20 00001ddb: DUP2 00001ddc: ADD 00001ddd: SWAP1 00001dde: POP 00001ddf: PUSH1 0x20 00001de1: DUP4 00001de2: SUB 00001de3: SWAP3 00001de4: POP 00001de5: PUSH2 0x1dc6 00001de8: JUMP 00001de9: JUMPDEST 00001dea: PUSH1 0x01 00001dec: DUP4 00001ded: PUSH1 0x20 00001def: SUB 00001df0: PUSH2 0x0100 00001df3: EXP 00001df4: SUB 00001df5: DUP1 00001df6: NOT 00001df7: DUP3 00001df8: MLOAD 00001df9: AND 00001dfa: DUP2 00001dfb: DUP5 00001dfc: MLOAD 00001dfd: AND 00001dfe: DUP1 00001dff: DUP3 00001e00: OR 00001e01: DUP6 00001e02: MSTORE 00001e03: POP 00001e04: POP 00001e05: POP 00001e06: POP 00001e07: POP 00001e08: POP 00001e09: SWAP1 00001e0a: POP 00001e0b: ADD 00001e0c: DUP3 00001e0d: DUP1 00001e0e: MLOAD 00001e0f: SWAP1 00001e10: PUSH1 0x20 00001e12: ADD 00001e13: SWAP1 00001e14: DUP1 00001e15: DUP4 00001e16: DUP4 00001e17: JUMPDEST 00001e18: PUSH1 0x20 00001e1a: DUP4 00001e1b: LT 00001e1c: PUSH2 0x1e3a 00001e1f: JUMPI 00001e20: DUP1 00001e21: MLOAD 00001e22: DUP3 00001e23: MSTORE 00001e24: PUSH1 0x20 00001e26: DUP3 00001e27: ADD 00001e28: SWAP2 00001e29: POP 00001e2a: PUSH1 0x20 00001e2c: DUP2 00001e2d: ADD 00001e2e: SWAP1 00001e2f: POP 00001e30: PUSH1 0x20 00001e32: DUP4 00001e33: SUB 00001e34: SWAP3 00001e35: POP 00001e36: PUSH2 0x1e17 00001e39: JUMP 00001e3a: JUMPDEST 00001e3b: PUSH1 0x01 00001e3d: DUP4 00001e3e: PUSH1 0x20 00001e40: SUB 00001e41: PUSH2 0x0100 00001e44: EXP 00001e45: SUB 00001e46: DUP1 00001e47: NOT 00001e48: DUP3 00001e49: MLOAD 00001e4a: AND 00001e4b: DUP2 00001e4c: DUP5 00001e4d: MLOAD 00001e4e: AND 00001e4f: DUP1 00001e50: DUP3 00001e51: OR 00001e52: DUP6 00001e53: MSTORE 00001e54: POP 00001e55: POP 00001e56: POP 00001e57: POP 00001e58: POP 00001e59: POP 00001e5a: SWAP1 00001e5b: POP 00001e5c: ADD 00001e5d: SWAP3 00001e5e: POP 00001e5f: POP 00001e60: POP 00001e61: PUSH1 0x40 00001e63: MLOAD 00001e64: PUSH1 0x20 00001e66: DUP2 00001e67: DUP4 00001e68: SUB 00001e69: SUB 00001e6a: DUP2 00001e6b: MSTORE 00001e6c: SWAP1 00001e6d: PUSH1 0x40 00001e6f: MSTORE 00001e70: SWAP3 00001e71: POP 00001e72: POP 00001e73: POP 00001e74: PUSH2 0x1f43 00001e77: JUMP 00001e78: JUMPDEST 00001e79: DUP1 00001e7a: PUSH2 0x1e82 00001e7d: DUP6 00001e7e: PUSH2 0x2792 00001e81: JUMP 00001e82: JUMPDEST 00001e83: PUSH1 0x40 00001e85: MLOAD 00001e86: PUSH1 0x20 00001e88: ADD 00001e89: DUP1 00001e8a: DUP4 00001e8b: DUP1 00001e8c: MLOAD 00001e8d: SWAP1 00001e8e: PUSH1 0x20 00001e90: ADD 00001e91: SWAP1 00001e92: DUP1 00001e93: DUP4 00001e94: DUP4 00001e95: JUMPDEST 00001e96: PUSH1 0x20 00001e98: DUP4 00001e99: LT 00001e9a: PUSH2 0x1eb8 00001e9d: JUMPI 00001e9e: DUP1 00001e9f: MLOAD 00001ea0: DUP3 00001ea1: MSTORE 00001ea2: PUSH1 0x20 00001ea4: DUP3 00001ea5: ADD 00001ea6: SWAP2 00001ea7: POP 00001ea8: PUSH1 0x20 00001eaa: DUP2 00001eab: ADD 00001eac: SWAP1 00001ead: POP 00001eae: PUSH1 0x20 00001eb0: DUP4 00001eb1: SUB 00001eb2: SWAP3 00001eb3: POP 00001eb4: PUSH2 0x1e95 00001eb7: JUMP 00001eb8: JUMPDEST 00001eb9: PUSH1 0x01 00001ebb: DUP4 00001ebc: PUSH1 0x20 00001ebe: SUB 00001ebf: PUSH2 0x0100 00001ec2: EXP 00001ec3: SUB 00001ec4: DUP1 00001ec5: NOT 00001ec6: DUP3 00001ec7: MLOAD 00001ec8: AND 00001ec9: DUP2 00001eca: DUP5 00001ecb: MLOAD 00001ecc: AND 00001ecd: DUP1 00001ece: DUP3 00001ecf: OR 00001ed0: DUP6 00001ed1: MSTORE 00001ed2: POP 00001ed3: POP 00001ed4: POP 00001ed5: POP 00001ed6: POP 00001ed7: POP 00001ed8: SWAP1 00001ed9: POP 00001eda: ADD 00001edb: DUP3 00001edc: DUP1 00001edd: MLOAD 00001ede: SWAP1 00001edf: PUSH1 0x20 00001ee1: ADD 00001ee2: SWAP1 00001ee3: DUP1 00001ee4: DUP4 00001ee5: DUP4 00001ee6: JUMPDEST 00001ee7: PUSH1 0x20 00001ee9: DUP4 00001eea: LT 00001eeb: PUSH2 0x1f09 00001eee: JUMPI 00001eef: DUP1 00001ef0: MLOAD 00001ef1: DUP3 00001ef2: MSTORE 00001ef3: PUSH1 0x20 00001ef5: DUP3 00001ef6: ADD 00001ef7: SWAP2 00001ef8: POP 00001ef9: PUSH1 0x20 00001efb: DUP2 00001efc: ADD 00001efd: SWAP1 00001efe: POP 00001eff: PUSH1 0x20 00001f01: DUP4 00001f02: SUB 00001f03: SWAP3 00001f04: POP 00001f05: PUSH2 0x1ee6 00001f08: JUMP 00001f09: JUMPDEST 00001f0a: PUSH1 0x01 00001f0c: DUP4 00001f0d: PUSH1 0x20 00001f0f: SUB 00001f10: PUSH2 0x0100 00001f13: EXP 00001f14: SUB 00001f15: DUP1 00001f16: NOT 00001f17: DUP3 00001f18: MLOAD 00001f19: AND 00001f1a: DUP2 00001f1b: DUP5 00001f1c: MLOAD 00001f1d: AND 00001f1e: DUP1 00001f1f: DUP3 00001f20: OR 00001f21: DUP6 00001f22: MSTORE 00001f23: POP 00001f24: POP 00001f25: POP 00001f26: POP 00001f27: POP 00001f28: POP 00001f29: SWAP1 00001f2a: POP 00001f2b: ADD 00001f2c: SWAP3 00001f2d: POP 00001f2e: POP 00001f2f: POP 00001f30: PUSH1 0x40 00001f32: MLOAD 00001f33: PUSH1 0x20 00001f35: DUP2 00001f36: DUP4 00001f37: SUB 00001f38: SUB 00001f39: DUP2 00001f3a: MSTORE 00001f3b: SWAP1 00001f3c: PUSH1 0x40 00001f3e: MSTORE 00001f3f: SWAP3 00001f40: POP 00001f41: POP 00001f42: POP 00001f43: JUMPDEST 00001f44: SWAP2 00001f45: SWAP1 00001f46: POP 00001f47: JUMP 00001f48: JUMPDEST 00001f49: PUSH1 0x00 00001f4b: PUSH1 0x05 00001f4d: PUSH1 0x00 00001f4f: DUP5 00001f50: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f65: AND 00001f66: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f7b: AND 00001f7c: DUP2 00001f7d: MSTORE 00001f7e: PUSH1 0x20 00001f80: ADD 00001f81: SWAP1 00001f82: DUP2 00001f83: MSTORE 00001f84: PUSH1 0x20 00001f86: ADD 00001f87: PUSH1 0x00 00001f89: KECCAK256 00001f8a: PUSH1 0x00 00001f8c: DUP4 00001f8d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001fa2: AND 00001fa3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001fb8: AND 00001fb9: DUP2 00001fba: MSTORE 00001fbb: PUSH1 0x20 00001fbd: ADD 00001fbe: SWAP1 00001fbf: DUP2 00001fc0: MSTORE 00001fc1: PUSH1 0x20 00001fc3: ADD 00001fc4: PUSH1 0x00 00001fc6: KECCAK256 00001fc7: PUSH1 0x00 00001fc9: SWAP1 00001fca: SLOAD 00001fcb: SWAP1 00001fcc: PUSH2 0x0100 00001fcf: EXP 00001fd0: SWAP1 00001fd1: DIV 00001fd2: PUSH1 0xff 00001fd4: AND 00001fd5: SWAP1 00001fd6: POP 00001fd7: SWAP3 00001fd8: SWAP2 00001fd9: POP 00001fda: POP 00001fdb: JUMP 00001fdc: JUMPDEST 00001fdd: PUSH2 0x1fe4 00001fe0: PUSH2 0x21ee 00001fe3: JUMP 00001fe4: JUMPDEST 00001fe5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ffa: AND 00001ffb: PUSH2 0x2002 00001ffe: PUSH2 0x197b 00002001: JUMP 00002002: JUMPDEST 00002003: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002018: AND 00002019: EQ 0000201a: PUSH2 0x208b 0000201d: JUMPI 0000201e: PUSH1 0x40 00002020: MLOAD 00002021: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002042: DUP2 00002043: MSTORE 00002044: PUSH1 0x04 00002046: ADD 00002047: DUP1 00002048: DUP1 00002049: PUSH1 0x20 0000204b: ADD 0000204c: DUP3 0000204d: DUP2 0000204e: SUB 0000204f: DUP3 00002050: MSTORE 00002051: PUSH1 0x20 00002053: DUP2 00002054: MSTORE 00002055: PUSH1 0x20 00002057: ADD 00002058: DUP1 00002059: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 0000207a: DUP2 0000207b: MSTORE 0000207c: POP 0000207d: PUSH1 0x20 0000207f: ADD 00002080: SWAP2 00002081: POP 00002082: POP 00002083: PUSH1 0x40 00002085: MLOAD 00002086: DUP1 00002087: SWAP2 00002088: SUB 00002089: SWAP1 0000208a: REVERT 0000208b: JUMPDEST 0000208c: PUSH1 0x00 0000208e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000020a3: AND 000020a4: DUP2 000020a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000020ba: AND 000020bb: EQ 000020bc: ISZERO 000020bd: PUSH2 0x2111 000020c0: JUMPI 000020c1: PUSH1 0x40 000020c3: MLOAD 000020c4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000020e5: DUP2 000020e6: MSTORE 000020e7: PUSH1 0x04 000020e9: ADD 000020ea: DUP1 000020eb: DUP1 000020ec: PUSH1 0x20 000020ee: ADD 000020ef: DUP3 000020f0: DUP2 000020f1: SUB 000020f2: DUP3 000020f3: MSTORE 000020f4: PUSH1 0x26 000020f6: DUP2 000020f7: MSTORE 000020f8: PUSH1 0x20 000020fa: ADD 000020fb: DUP1 000020fc: PUSH2 0x3653 000020ff: PUSH1 0x26 00002101: SWAP2 00002102: CODECOPY 00002103: PUSH1 0x40 00002105: ADD 00002106: SWAP2 00002107: POP 00002108: POP 00002109: PUSH1 0x40 0000210b: MLOAD 0000210c: DUP1 0000210d: SWAP2 0000210e: SUB 0000210f: SWAP1 00002110: REVERT 00002111: JUMPDEST 00002112: DUP1 00002113: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002128: AND 00002129: PUSH1 0x0a 0000212b: PUSH1 0x00 0000212d: SWAP1 0000212e: SLOAD 0000212f: SWAP1 00002130: PUSH2 0x0100 00002133: EXP 00002134: SWAP1 00002135: DIV 00002136: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000214b: AND 0000214c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002161: AND 00002162: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00002183: PUSH1 0x40 00002185: MLOAD 00002186: PUSH1 0x40 00002188: MLOAD 00002189: DUP1 0000218a: SWAP2 0000218b: SUB 0000218c: SWAP1 0000218d: LOG3 0000218e: DUP1 0000218f: PUSH1 0x0a 00002191: PUSH1 0x00 00002193: PUSH2 0x0100 00002196: EXP 00002197: DUP2 00002198: SLOAD 00002199: DUP2 0000219a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000021af: MUL 000021b0: NOT 000021b1: AND 000021b2: SWAP1 000021b3: DUP4 000021b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000021c9: AND 000021ca: MUL 000021cb: OR 000021cc: SWAP1 000021cd: SSTORE 000021ce: POP 000021cf: POP 000021d0: JUMP 000021d1: JUMPDEST 000021d2: PUSH1 0x00 000021d4: PUSH2 0x21e7 000021d7: DUP3 000021d8: PUSH1 0x02 000021da: PUSH2 0x28d9 000021dd: SWAP1 000021de: SWAP2 000021df: SWAP1 000021e0: PUSH4 0xffffffff 000021e5: AND 000021e6: JUMP 000021e7: JUMPDEST 000021e8: SWAP1 000021e9: POP 000021ea: SWAP2 000021eb: SWAP1 000021ec: POP 000021ed: JUMP 000021ee: JUMPDEST 000021ef: PUSH1 0x00 000021f1: CALLER 000021f2: SWAP1 000021f3: POP 000021f4: SWAP1 000021f5: JUMP 000021f6: JUMPDEST 000021f7: DUP2 000021f8: PUSH1 0x04 000021fa: PUSH1 0x00 000021fc: DUP4 000021fd: DUP2 000021fe: MSTORE 000021ff: PUSH1 0x20 00002201: ADD 00002202: SWAP1 00002203: DUP2 00002204: MSTORE 00002205: PUSH1 0x20 00002207: ADD 00002208: PUSH1 0x00 0000220a: KECCAK256 0000220b: PUSH1 0x00 0000220d: PUSH2 0x0100 00002210: EXP 00002211: DUP2 00002212: SLOAD 00002213: DUP2 00002214: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002229: MUL 0000222a: NOT 0000222b: AND 0000222c: SWAP1 0000222d: DUP4 0000222e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002243: AND 00002244: MUL 00002245: OR 00002246: SWAP1 00002247: SSTORE 00002248: POP 00002249: DUP1 0000224a: DUP3 0000224b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002260: AND 00002261: PUSH2 0x2269 00002264: DUP4 00002265: PUSH2 0x14f5 00002268: JUMP 00002269: JUMPDEST 0000226a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000227f: AND 00002280: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 000022a1: PUSH1 0x40 000022a3: MLOAD 000022a4: PUSH1 0x40 000022a6: MLOAD 000022a7: DUP1 000022a8: SWAP2 000022a9: SUB 000022aa: SWAP1 000022ab: LOG4 000022ac: POP 000022ad: POP 000022ae: JUMP 000022af: JUMPDEST 000022b0: PUSH1 0x00 000022b2: PUSH2 0x22ba 000022b5: DUP3 000022b6: PUSH2 0x21d1 000022b9: JUMP 000022ba: JUMPDEST 000022bb: PUSH2 0x230f 000022be: JUMPI 000022bf: PUSH1 0x40 000022c1: MLOAD 000022c2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000022e3: DUP2 000022e4: MSTORE 000022e5: PUSH1 0x04 000022e7: ADD 000022e8: DUP1 000022e9: DUP1 000022ea: PUSH1 0x20 000022ec: ADD 000022ed: DUP3 000022ee: DUP2 000022ef: SUB 000022f0: DUP3 000022f1: MSTORE 000022f2: PUSH1 0x2c 000022f4: DUP2 000022f5: MSTORE 000022f6: PUSH1 0x20 000022f8: ADD 000022f9: DUP1 000022fa: PUSH2 0x36c3 000022fd: PUSH1 0x2c 000022ff: SWAP2 00002300: CODECOPY 00002301: PUSH1 0x40 00002303: ADD 00002304: SWAP2 00002305: POP 00002306: POP 00002307: PUSH1 0x40 00002309: MLOAD 0000230a: DUP1 0000230b: SWAP2 0000230c: SUB 0000230d: SWAP1 0000230e: REVERT 0000230f: JUMPDEST 00002310: PUSH1 0x00 00002312: PUSH2 0x231a 00002315: DUP4 00002316: PUSH2 0x14f5 00002319: JUMP 0000231a: JUMPDEST 0000231b: SWAP1 0000231c: POP 0000231d: DUP1 0000231e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002333: AND 00002334: DUP5 00002335: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000234a: AND 0000234b: EQ 0000234c: DUP1 0000234d: PUSH2 0x2389 00002350: JUMPI 00002351: POP 00002352: DUP4 00002353: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002368: AND 00002369: PUSH2 0x2371 0000236c: DUP5 0000236d: PUSH2 0x0e2b 00002370: JUMP 00002371: JUMPDEST 00002372: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002387: AND 00002388: EQ 00002389: JUMPDEST 0000238a: DUP1 0000238b: PUSH2 0x239a 0000238e: JUMPI 0000238f: POP 00002390: PUSH2 0x2399 00002393: DUP2 00002394: DUP6 00002395: PUSH2 0x1f48 00002398: JUMP 00002399: JUMPDEST 0000239a: JUMPDEST 0000239b: SWAP2 0000239c: POP 0000239d: POP 0000239e: SWAP3 0000239f: SWAP2 000023a0: POP 000023a1: POP 000023a2: JUMP 000023a3: JUMPDEST 000023a4: PUSH2 0x23ac 000023a7: DUP3 000023a8: PUSH2 0x21d1 000023ab: JUMP 000023ac: JUMPDEST 000023ad: PUSH2 0x2401 000023b0: JUMPI 000023b1: PUSH1 0x40 000023b3: MLOAD 000023b4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000023d5: DUP2 000023d6: MSTORE 000023d7: PUSH1 0x04 000023d9: ADD 000023da: DUP1 000023db: DUP1 000023dc: PUSH1 0x20 000023de: ADD 000023df: DUP3 000023e0: DUP2 000023e1: SUB 000023e2: DUP3 000023e3: MSTORE 000023e4: PUSH1 0x2c 000023e6: DUP2 000023e7: MSTORE 000023e8: PUSH1 0x20 000023ea: ADD 000023eb: DUP1 000023ec: PUSH2 0x37c8 000023ef: PUSH1 0x2c 000023f1: SWAP2 000023f2: CODECOPY 000023f3: PUSH1 0x40 000023f5: ADD 000023f6: SWAP2 000023f7: POP 000023f8: POP 000023f9: PUSH1 0x40 000023fb: MLOAD 000023fc: DUP1 000023fd: SWAP2 000023fe: SUB 000023ff: SWAP1 00002400: REVERT 00002401: JUMPDEST 00002402: DUP1 00002403: PUSH1 0x08 00002405: PUSH1 0x00 00002407: DUP5 00002408: DUP2 00002409: MSTORE 0000240a: PUSH1 0x20 0000240c: ADD 0000240d: SWAP1 0000240e: DUP2 0000240f: MSTORE 00002410: PUSH1 0x20 00002412: ADD 00002413: PUSH1 0x00 00002415: KECCAK256 00002416: SWAP1 00002417: DUP1 00002418: MLOAD 00002419: SWAP1 0000241a: PUSH1 0x20 0000241c: ADD 0000241d: SWAP1 0000241e: PUSH2 0x2428 00002421: SWAP3 00002422: SWAP2 00002423: SWAP1 00002424: PUSH2 0x3559 00002427: JUMP 00002428: JUMPDEST 00002429: POP 0000242a: POP 0000242b: POP 0000242c: JUMP 0000242d: JUMPDEST 0000242e: PUSH1 0x00 00002430: PUSH2 0x243b 00002433: DUP3 00002434: PUSH1 0x00 00002436: ADD 00002437: PUSH2 0x28f3 0000243a: JUMP 0000243b: JUMPDEST 0000243c: SWAP1 0000243d: POP 0000243e: SWAP2 0000243f: SWAP1 00002440: POP 00002441: JUMP 00002442: JUMPDEST 00002443: DUP3 00002444: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002459: AND 0000245a: PUSH2 0x2462 0000245d: DUP3 0000245e: PUSH2 0x14f5 00002461: JUMP 00002462: JUMPDEST 00002463: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002478: AND 00002479: EQ 0000247a: PUSH2 0x24ce 0000247d: JUMPI 0000247e: PUSH1 0x40 00002480: MLOAD 00002481: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000024a2: DUP2 000024a3: MSTORE 000024a4: PUSH1 0x04 000024a6: ADD 000024a7: DUP1 000024a8: DUP1 000024a9: PUSH1 0x20 000024ab: ADD 000024ac: DUP3 000024ad: DUP2 000024ae: SUB 000024af: DUP3 000024b0: MSTORE 000024b1: PUSH1 0x29 000024b3: DUP2 000024b4: MSTORE 000024b5: PUSH1 0x20 000024b7: ADD 000024b8: DUP1 000024b9: PUSH2 0x37f4 000024bc: PUSH1 0x29 000024be: SWAP2 000024bf: CODECOPY 000024c0: PUSH1 0x40 000024c2: ADD 000024c3: SWAP2 000024c4: POP 000024c5: POP 000024c6: PUSH1 0x40 000024c8: MLOAD 000024c9: DUP1 000024ca: SWAP2 000024cb: SUB 000024cc: SWAP1 000024cd: REVERT 000024ce: JUMPDEST 000024cf: PUSH1 0x00 000024d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024e6: AND 000024e7: DUP3 000024e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024fd: AND 000024fe: EQ 000024ff: ISZERO 00002500: PUSH2 0x2554 00002503: JUMPI 00002504: PUSH1 0x40 00002506: MLOAD 00002507: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002528: DUP2 00002529: MSTORE 0000252a: PUSH1 0x04 0000252c: ADD 0000252d: DUP1 0000252e: DUP1 0000252f: PUSH1 0x20 00002531: ADD 00002532: DUP3 00002533: DUP2 00002534: SUB 00002535: DUP3 00002536: MSTORE 00002537: PUSH1 0x24 00002539: DUP2 0000253a: MSTORE 0000253b: PUSH1 0x20 0000253d: ADD 0000253e: DUP1 0000253f: PUSH2 0x3679 00002542: PUSH1 0x24 00002544: SWAP2 00002545: CODECOPY 00002546: PUSH1 0x40 00002548: ADD 00002549: SWAP2 0000254a: POP 0000254b: POP 0000254c: PUSH1 0x40 0000254e: MLOAD 0000254f: DUP1 00002550: SWAP2 00002551: SUB 00002552: SWAP1 00002553: REVERT 00002554: JUMPDEST 00002555: PUSH2 0x255f 00002558: DUP4 00002559: DUP4 0000255a: DUP4 0000255b: PUSH2 0x2904 0000255e: JUMP 0000255f: JUMPDEST 00002560: PUSH2 0x256a 00002563: PUSH1 0x00 00002565: DUP3 00002566: PUSH2 0x21f6 00002569: JUMP 0000256a: JUMPDEST 0000256b: PUSH2 0x25bb 0000256e: DUP2 0000256f: PUSH1 0x01 00002571: PUSH1 0x00 00002573: DUP7 00002574: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002589: AND 0000258a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000259f: AND 000025a0: DUP2 000025a1: MSTORE 000025a2: PUSH1 0x20 000025a4: ADD 000025a5: SWAP1 000025a6: DUP2 000025a7: MSTORE 000025a8: PUSH1 0x20 000025aa: ADD 000025ab: PUSH1 0x00 000025ad: KECCAK256 000025ae: PUSH2 0x2909 000025b1: SWAP1 000025b2: SWAP2 000025b3: SWAP1 000025b4: PUSH4 0xffffffff 000025b9: AND 000025ba: JUMP 000025bb: JUMPDEST 000025bc: POP 000025bd: PUSH2 0x260d 000025c0: DUP2 000025c1: PUSH1 0x01 000025c3: PUSH1 0x00 000025c5: DUP6 000025c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000025db: AND 000025dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000025f1: AND 000025f2: DUP2 000025f3: MSTORE 000025f4: PUSH1 0x20 000025f6: ADD 000025f7: SWAP1 000025f8: DUP2 000025f9: MSTORE 000025fa: PUSH1 0x20 000025fc: ADD 000025fd: PUSH1 0x00 000025ff: KECCAK256 00002600: PUSH2 0x2923 00002603: SWAP1 00002604: SWAP2 00002605: SWAP1 00002606: PUSH4 0xffffffff 0000260b: AND 0000260c: JUMP 0000260d: JUMPDEST 0000260e: POP 0000260f: PUSH2 0x2624 00002612: DUP2 00002613: DUP4 00002614: PUSH1 0x02 00002616: PUSH2 0x293d 00002619: SWAP1 0000261a: SWAP3 0000261b: SWAP2 0000261c: SWAP1 0000261d: PUSH4 0xffffffff 00002622: AND 00002623: JUMP 00002624: JUMPDEST 00002625: POP 00002626: DUP1 00002627: DUP3 00002628: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000263d: AND 0000263e: DUP5 0000263f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002654: AND 00002655: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00002676: PUSH1 0x40 00002678: MLOAD 00002679: PUSH1 0x40 0000267b: MLOAD 0000267c: DUP1 0000267d: SWAP2 0000267e: SUB 0000267f: SWAP1 00002680: LOG4 00002681: POP 00002682: POP 00002683: POP 00002684: JUMP 00002685: JUMPDEST 00002686: PUSH2 0x269f 00002689: DUP3 0000268a: DUP3 0000268b: PUSH1 0x40 0000268d: MLOAD 0000268e: DUP1 0000268f: PUSH1 0x20 00002691: ADD 00002692: PUSH1 0x40 00002694: MSTORE 00002695: DUP1 00002696: PUSH1 0x00 00002698: DUP2 00002699: MSTORE 0000269a: POP 0000269b: PUSH2 0x2972 0000269e: JUMP 0000269f: JUMPDEST 000026a0: POP 000026a1: POP 000026a2: JUMP 000026a3: JUMPDEST 000026a4: PUSH1 0x00 000026a6: PUSH2 0x26b2 000026a9: DUP4 000026aa: PUSH1 0x00 000026ac: ADD 000026ad: DUP4 000026ae: PUSH2 0x29e3 000026b1: JUMP 000026b2: JUMPDEST 000026b3: PUSH1 0x00 000026b5: SHR 000026b6: SWAP1 000026b7: POP 000026b8: SWAP3 000026b9: SWAP2 000026ba: POP 000026bb: POP 000026bc: JUMP 000026bd: JUMPDEST 000026be: PUSH1 0x00 000026c0: DUP1 000026c1: PUSH1 0x00 000026c3: DUP1 000026c4: PUSH2 0x26d0 000026c7: DUP7 000026c8: PUSH1 0x00 000026ca: ADD 000026cb: DUP7 000026cc: PUSH2 0x2a66 000026cf: JUMP 000026d0: JUMPDEST 000026d1: SWAP2 000026d2: POP 000026d3: SWAP2 000026d4: POP 000026d5: DUP2 000026d6: PUSH1 0x00 000026d8: SHR 000026d9: DUP2 000026da: PUSH1 0x00 000026dc: SHR 000026dd: DUP1 000026de: SWAP1 000026df: POP 000026e0: SWAP4 000026e1: POP 000026e2: SWAP4 000026e3: POP 000026e4: POP 000026e5: POP 000026e6: SWAP3 000026e7: POP 000026e8: SWAP3 000026e9: SWAP1 000026ea: POP 000026eb: JUMP 000026ec: JUMPDEST 000026ed: PUSH1 0x00 000026ef: PUSH2 0x26ff 000026f2: DUP5 000026f3: PUSH1 0x00 000026f5: ADD 000026f6: DUP5 000026f7: PUSH1 0x00 000026f9: SHL 000026fa: DUP5 000026fb: PUSH2 0x2aff 000026fe: JUMP 000026ff: JUMPDEST 00002700: PUSH1 0x00 00002702: SHR 00002703: SWAP1 00002704: POP 00002705: SWAP4 00002706: SWAP3 00002707: POP 00002708: POP 00002709: POP 0000270a: JUMP 0000270b: JUMPDEST 0000270c: PUSH1 0x00 0000270e: PUSH2 0x2719 00002711: DUP3 00002712: PUSH1 0x00 00002714: ADD 00002715: PUSH2 0x2bf5 00002718: JUMP 00002719: JUMPDEST 0000271a: SWAP1 0000271b: POP 0000271c: SWAP2 0000271d: SWAP1 0000271e: POP 0000271f: JUMP 00002720: JUMPDEST 00002721: PUSH2 0x272b 00002724: DUP5 00002725: DUP5 00002726: DUP5 00002727: PUSH2 0x2442 0000272a: JUMP 0000272b: JUMPDEST 0000272c: PUSH2 0x2737 0000272f: DUP5 00002730: DUP5 00002731: DUP5 00002732: DUP5 00002733: PUSH2 0x2c06 00002736: JUMP 00002737: JUMPDEST 00002738: PUSH2 0x278c 0000273b: JUMPI 0000273c: PUSH1 0x40 0000273e: MLOAD 0000273f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002760: DUP2 00002761: MSTORE 00002762: PUSH1 0x04 00002764: ADD 00002765: DUP1 00002766: DUP1 00002767: PUSH1 0x20 00002769: ADD 0000276a: DUP3 0000276b: DUP2 0000276c: SUB 0000276d: DUP3 0000276e: MSTORE 0000276f: PUSH1 0x32 00002771: DUP2 00002772: MSTORE 00002773: PUSH1 0x20 00002775: ADD 00002776: DUP1 00002777: PUSH2 0x3621 0000277a: PUSH1 0x32 0000277c: SWAP2 0000277d: CODECOPY 0000277e: PUSH1 0x40 00002780: ADD 00002781: SWAP2 00002782: POP 00002783: POP 00002784: PUSH1 0x40 00002786: MLOAD 00002787: DUP1 00002788: SWAP2 00002789: SUB 0000278a: SWAP1 0000278b: REVERT 0000278c: JUMPDEST 0000278d: POP 0000278e: POP 0000278f: POP 00002790: POP 00002791: JUMP 00002792: JUMPDEST 00002793: PUSH1 0x60 00002795: PUSH1 0x00 00002797: DUP3 00002798: EQ 00002799: ISZERO 0000279a: PUSH2 0x27da 0000279d: JUMPI 0000279e: PUSH1 0x40 000027a0: MLOAD 000027a1: DUP1 000027a2: PUSH1 0x40 000027a4: ADD 000027a5: PUSH1 0x40 000027a7: MSTORE 000027a8: DUP1 000027a9: PUSH1 0x01 000027ab: DUP2 000027ac: MSTORE 000027ad: PUSH1 0x20 000027af: ADD 000027b0: PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 000027d1: DUP2 000027d2: MSTORE 000027d3: POP 000027d4: SWAP1 000027d5: POP 000027d6: PUSH2 0x28d4 000027d9: JUMP 000027da: JUMPDEST 000027db: PUSH1 0x00 000027dd: DUP3 000027de: SWAP1 000027df: POP 000027e0: PUSH1 0x00 000027e2: JUMPDEST 000027e3: PUSH1 0x00 000027e5: DUP3 000027e6: EQ 000027e7: PUSH2 0x2804 000027ea: JUMPI 000027eb: DUP1 000027ec: DUP1 000027ed: PUSH1 0x01 000027ef: ADD 000027f0: SWAP2 000027f1: POP 000027f2: POP 000027f3: PUSH1 0x0a 000027f5: DUP3 000027f6: DUP2 000027f7: PUSH2 0x27fc 000027fa: JUMPI 000027fb: INVALID 000027fc: JUMPDEST 000027fd: DIV 000027fe: SWAP2 000027ff: POP 00002800: PUSH2 0x27e2 00002803: JUMP 00002804: JUMPDEST 00002805: PUSH1 0x60 00002807: DUP2 00002808: PUSH8 0xffffffffffffffff 00002811: DUP2 00002812: GT 00002813: DUP1 00002814: ISZERO 00002815: PUSH2 0x281d 00002818: JUMPI 00002819: PUSH1 0x00 0000281b: DUP1 0000281c: REVERT 0000281d: JUMPDEST 0000281e: POP 0000281f: PUSH1 0x40 00002821: MLOAD 00002822: SWAP1 00002823: DUP1 00002824: DUP3 00002825: MSTORE 00002826: DUP1 00002827: PUSH1 0x1f 00002829: ADD 0000282a: PUSH1 0x1f 0000282c: NOT 0000282d: AND 0000282e: PUSH1 0x20 00002830: ADD 00002831: DUP3 00002832: ADD 00002833: PUSH1 0x40 00002835: MSTORE 00002836: DUP1 00002837: ISZERO 00002838: PUSH2 0x2850 0000283b: JUMPI 0000283c: DUP2 0000283d: PUSH1 0x20 0000283f: ADD 00002840: PUSH1 0x01 00002842: DUP3 00002843: MUL 00002844: DUP1 00002845: CALLDATASIZE 00002846: DUP4 00002847: CALLDATACOPY 00002848: DUP1 00002849: DUP3 0000284a: ADD 0000284b: SWAP2 0000284c: POP 0000284d: POP 0000284e: SWAP1 0000284f: POP 00002850: JUMPDEST 00002851: POP 00002852: SWAP1 00002853: POP 00002854: PUSH1 0x00 00002856: PUSH1 0x01 00002858: DUP4 00002859: SUB 0000285a: SWAP1 0000285b: POP 0000285c: DUP6 0000285d: SWAP4 0000285e: POP 0000285f: JUMPDEST 00002860: PUSH1 0x00 00002862: DUP5 00002863: EQ 00002864: PUSH2 0x28cc 00002867: JUMPI 00002868: PUSH1 0x0a 0000286a: DUP5 0000286b: DUP2 0000286c: PUSH2 0x2871 0000286f: JUMPI 00002870: INVALID 00002871: JUMPDEST 00002872: MOD 00002873: PUSH1 0x30 00002875: ADD 00002876: PUSH1 0xf8 00002878: SHL 00002879: DUP3 0000287a: DUP3 0000287b: DUP1 0000287c: PUSH1 0x01 0000287e: SWAP1 0000287f: SUB 00002880: SWAP4 00002881: POP 00002882: DUP2 00002883: MLOAD 00002884: DUP2 00002885: LT 00002886: PUSH2 0x288b 00002889: JUMPI 0000288a: INVALID 0000288b: JUMPDEST 0000288c: PUSH1 0x20 0000288e: ADD 0000288f: ADD 00002890: SWAP1 00002891: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000028b1: NOT 000028b2: AND 000028b3: SWAP1 000028b4: DUP2 000028b5: PUSH1 0x00 000028b7: BYTE 000028b8: SWAP1 000028b9: MSTORE8 000028ba: POP 000028bb: PUSH1 0x0a 000028bd: DUP5 000028be: DUP2 000028bf: PUSH2 0x28c4 000028c2: JUMPI 000028c3: INVALID 000028c4: JUMPDEST 000028c5: DIV 000028c6: SWAP4 000028c7: POP 000028c8: PUSH2 0x285f 000028cb: JUMP 000028cc: JUMPDEST 000028cd: DUP2 000028ce: SWAP5 000028cf: POP 000028d0: POP 000028d1: POP 000028d2: POP 000028d3: POP 000028d4: JUMPDEST 000028d5: SWAP2 000028d6: SWAP1 000028d7: POP 000028d8: JUMP 000028d9: JUMPDEST 000028da: PUSH1 0x00 000028dc: PUSH2 0x28eb 000028df: DUP4 000028e0: PUSH1 0x00 000028e2: ADD 000028e3: DUP4 000028e4: PUSH1 0x00 000028e6: SHL 000028e7: PUSH2 0x2e4b 000028ea: JUMP 000028eb: JUMPDEST 000028ec: SWAP1 000028ed: POP 000028ee: SWAP3 000028ef: SWAP2 000028f0: POP 000028f1: POP 000028f2: JUMP 000028f3: JUMPDEST 000028f4: PUSH1 0x00 000028f6: DUP2 000028f7: PUSH1 0x00 000028f9: ADD 000028fa: DUP1 000028fb: SLOAD 000028fc: SWAP1 000028fd: POP 000028fe: SWAP1 000028ff: POP 00002900: SWAP2 00002901: SWAP1 00002902: POP 00002903: JUMP 00002904: JUMPDEST 00002905: POP 00002906: POP 00002907: POP 00002908: JUMP 00002909: JUMPDEST 0000290a: PUSH1 0x00 0000290c: PUSH2 0x291b 0000290f: DUP4 00002910: PUSH1 0x00 00002912: ADD 00002913: DUP4 00002914: PUSH1 0x00 00002916: SHL 00002917: PUSH2 0x2e6e 0000291a: JUMP 0000291b: JUMPDEST 0000291c: SWAP1 0000291d: POP 0000291e: SWAP3 0000291f: SWAP2 00002920: POP 00002921: POP 00002922: JUMP 00002923: JUMPDEST 00002924: PUSH1 0x00 00002926: PUSH2 0x2935 00002929: DUP4 0000292a: PUSH1 0x00 0000292c: ADD 0000292d: DUP4 0000292e: PUSH1 0x00 00002930: SHL 00002931: PUSH2 0x2f56 00002934: JUMP 00002935: JUMPDEST 00002936: SWAP1 00002937: POP 00002938: SWAP3 00002939: SWAP2 0000293a: POP 0000293b: POP 0000293c: JUMP 0000293d: JUMPDEST 0000293e: PUSH1 0x00 00002940: PUSH2 0x2969 00002943: DUP5 00002944: PUSH1 0x00 00002946: ADD 00002947: DUP5 00002948: PUSH1 0x00 0000294a: SHL 0000294b: DUP5 0000294c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002961: AND 00002962: PUSH1 0x00 00002964: SHL 00002965: PUSH2 0x2fc6 00002968: JUMP 00002969: JUMPDEST 0000296a: SWAP1 0000296b: POP 0000296c: SWAP4 0000296d: SWAP3 0000296e: POP 0000296f: POP 00002970: POP 00002971: JUMP 00002972: JUMPDEST 00002973: PUSH2 0x297c 00002976: DUP4 00002977: DUP4 00002978: PUSH2 0x30a2 0000297b: JUMP 0000297c: JUMPDEST 0000297d: PUSH2 0x2989 00002980: PUSH1 0x00 00002982: DUP5 00002983: DUP5 00002984: DUP5 00002985: PUSH2 0x2c06 00002988: JUMP 00002989: JUMPDEST 0000298a: PUSH2 0x29de 0000298d: JUMPI 0000298e: PUSH1 0x40 00002990: MLOAD 00002991: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000029b2: DUP2 000029b3: MSTORE 000029b4: PUSH1 0x04 000029b6: ADD 000029b7: DUP1 000029b8: DUP1 000029b9: PUSH1 0x20 000029bb: ADD 000029bc: DUP3 000029bd: DUP2 000029be: SUB 000029bf: DUP3 000029c0: MSTORE 000029c1: PUSH1 0x32 000029c3: DUP2 000029c4: MSTORE 000029c5: PUSH1 0x20 000029c7: ADD 000029c8: DUP1 000029c9: PUSH2 0x3621 000029cc: PUSH1 0x32 000029ce: SWAP2 000029cf: CODECOPY 000029d0: PUSH1 0x40 000029d2: ADD 000029d3: SWAP2 000029d4: POP 000029d5: POP 000029d6: PUSH1 0x40 000029d8: MLOAD 000029d9: DUP1 000029da: SWAP2 000029db: SUB 000029dc: SWAP1 000029dd: REVERT 000029de: JUMPDEST 000029df: POP 000029e0: POP 000029e1: POP 000029e2: JUMP 000029e3: JUMPDEST 000029e4: PUSH1 0x00 000029e6: DUP2 000029e7: DUP4 000029e8: PUSH1 0x00 000029ea: ADD 000029eb: DUP1 000029ec: SLOAD 000029ed: SWAP1 000029ee: POP 000029ef: GT 000029f0: PUSH2 0x2a44 000029f3: JUMPI 000029f4: PUSH1 0x40 000029f6: MLOAD 000029f7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002a18: DUP2 00002a19: MSTORE 00002a1a: PUSH1 0x04 00002a1c: ADD 00002a1d: DUP1 00002a1e: DUP1 00002a1f: PUSH1 0x20 00002a21: ADD 00002a22: DUP3 00002a23: DUP2 00002a24: SUB 00002a25: DUP3 00002a26: MSTORE 00002a27: PUSH1 0x22 00002a29: DUP2 00002a2a: MSTORE 00002a2b: PUSH1 0x20 00002a2d: ADD 00002a2e: DUP1 00002a2f: PUSH2 0x35ff 00002a32: PUSH1 0x22 00002a34: SWAP2 00002a35: CODECOPY 00002a36: PUSH1 0x40 00002a38: ADD 00002a39: SWAP2 00002a3a: POP 00002a3b: POP 00002a3c: PUSH1 0x40 00002a3e: MLOAD 00002a3f: DUP1 00002a40: SWAP2 00002a41: SUB 00002a42: SWAP1 00002a43: REVERT 00002a44: JUMPDEST 00002a45: DUP3 00002a46: PUSH1 0x00 00002a48: ADD 00002a49: DUP3 00002a4a: DUP2 00002a4b: SLOAD 00002a4c: DUP2 00002a4d: LT 00002a4e: PUSH2 0x2a53 00002a51: JUMPI 00002a52: INVALID 00002a53: JUMPDEST 00002a54: SWAP1 00002a55: PUSH1 0x00 00002a57: MSTORE 00002a58: PUSH1 0x20 00002a5a: PUSH1 0x00 00002a5c: KECCAK256 00002a5d: ADD 00002a5e: SLOAD 00002a5f: SWAP1 00002a60: POP 00002a61: SWAP3 00002a62: SWAP2 00002a63: POP 00002a64: POP 00002a65: JUMP 00002a66: JUMPDEST 00002a67: PUSH1 0x00 00002a69: DUP1 00002a6a: DUP3 00002a6b: DUP5 00002a6c: PUSH1 0x00 00002a6e: ADD 00002a6f: DUP1 00002a70: SLOAD 00002a71: SWAP1 00002a72: POP 00002a73: GT 00002a74: PUSH2 0x2ac8 00002a77: JUMPI 00002a78: PUSH1 0x40 00002a7a: MLOAD 00002a7b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002a9c: DUP2 00002a9d: MSTORE 00002a9e: PUSH1 0x04 00002aa0: ADD 00002aa1: DUP1 00002aa2: DUP1 00002aa3: PUSH1 0x20 00002aa5: ADD 00002aa6: DUP3 00002aa7: DUP2 00002aa8: SUB 00002aa9: DUP3 00002aaa: MSTORE 00002aab: PUSH1 0x22 00002aad: DUP2 00002aae: MSTORE 00002aaf: PUSH1 0x20 00002ab1: ADD 00002ab2: DUP1 00002ab3: PUSH2 0x377a 00002ab6: PUSH1 0x22 00002ab8: SWAP2 00002ab9: CODECOPY 00002aba: PUSH1 0x40 00002abc: ADD 00002abd: SWAP2 00002abe: POP 00002abf: POP 00002ac0: PUSH1 0x40 00002ac2: MLOAD 00002ac3: DUP1 00002ac4: SWAP2 00002ac5: SUB 00002ac6: SWAP1 00002ac7: REVERT 00002ac8: JUMPDEST 00002ac9: PUSH1 0x00 00002acb: DUP5 00002acc: PUSH1 0x00 00002ace: ADD 00002acf: DUP5 00002ad0: DUP2 00002ad1: SLOAD 00002ad2: DUP2 00002ad3: LT 00002ad4: PUSH2 0x2ad9 00002ad7: JUMPI 00002ad8: INVALID 00002ad9: JUMPDEST 00002ada: SWAP1 00002adb: PUSH1 0x00 00002add: MSTORE 00002ade: PUSH1 0x20 00002ae0: PUSH1 0x00 00002ae2: KECCAK256 00002ae3: SWAP1 00002ae4: PUSH1 0x02 00002ae6: MUL 00002ae7: ADD 00002ae8: SWAP1 00002ae9: POP 00002aea: DUP1 00002aeb: PUSH1 0x00 00002aed: ADD 00002aee: SLOAD 00002aef: DUP2 00002af0: PUSH1 0x01 00002af2: ADD 00002af3: SLOAD 00002af4: SWAP3 00002af5: POP 00002af6: SWAP3 00002af7: POP 00002af8: POP 00002af9: SWAP3 00002afa: POP 00002afb: SWAP3 00002afc: SWAP1 00002afd: POP 00002afe: JUMP 00002aff: JUMPDEST 00002b00: PUSH1 0x00 00002b02: DUP1 00002b03: DUP5 00002b04: PUSH1 0x01 00002b06: ADD 00002b07: PUSH1 0x00 00002b09: DUP6 00002b0a: DUP2 00002b0b: MSTORE 00002b0c: PUSH1 0x20 00002b0e: ADD 00002b0f: SWAP1 00002b10: DUP2 00002b11: MSTORE 00002b12: PUSH1 0x20 00002b14: ADD 00002b15: PUSH1 0x00 00002b17: KECCAK256 00002b18: SLOAD 00002b19: SWAP1 00002b1a: POP 00002b1b: PUSH1 0x00 00002b1d: DUP2 00002b1e: EQ 00002b1f: ISZERO 00002b20: DUP4 00002b21: SWAP1 00002b22: PUSH2 0x2bc6 00002b25: JUMPI 00002b26: PUSH1 0x40 00002b28: MLOAD 00002b29: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002b4a: DUP2 00002b4b: MSTORE 00002b4c: PUSH1 0x04 00002b4e: ADD 00002b4f: DUP1 00002b50: DUP1 00002b51: PUSH1 0x20 00002b53: ADD 00002b54: DUP3 00002b55: DUP2 00002b56: SUB 00002b57: DUP3 00002b58: MSTORE 00002b59: DUP4 00002b5a: DUP2 00002b5b: DUP2 00002b5c: MLOAD 00002b5d: DUP2 00002b5e: MSTORE 00002b5f: PUSH1 0x20 00002b61: ADD 00002b62: SWAP2 00002b63: POP 00002b64: DUP1 00002b65: MLOAD 00002b66: SWAP1 00002b67: PUSH1 0x20 00002b69: ADD 00002b6a: SWAP1 00002b6b: DUP1 00002b6c: DUP4 00002b6d: DUP4 00002b6e: PUSH1 0x00 00002b70: JUMPDEST 00002b71: DUP4 00002b72: DUP2 00002b73: LT 00002b74: ISZERO 00002b75: PUSH2 0x2b8b 00002b78: JUMPI 00002b79: DUP1 00002b7a: DUP3 00002b7b: ADD 00002b7c: MLOAD 00002b7d: DUP2 00002b7e: DUP5 00002b7f: ADD 00002b80: MSTORE 00002b81: PUSH1 0x20 00002b83: DUP2 00002b84: ADD 00002b85: SWAP1 00002b86: POP 00002b87: PUSH2 0x2b70 00002b8a: JUMP 00002b8b: JUMPDEST 00002b8c: POP 00002b8d: POP 00002b8e: POP 00002b8f: POP 00002b90: SWAP1 00002b91: POP 00002b92: SWAP1 00002b93: DUP2 00002b94: ADD 00002b95: SWAP1 00002b96: PUSH1 0x1f 00002b98: AND 00002b99: DUP1 00002b9a: ISZERO 00002b9b: PUSH2 0x2bb8 00002b9e: JUMPI 00002b9f: DUP1 00002ba0: DUP3 00002ba1: SUB 00002ba2: DUP1 00002ba3: MLOAD 00002ba4: PUSH1 0x01 00002ba6: DUP4 00002ba7: PUSH1 0x20 00002ba9: SUB 00002baa: PUSH2 0x0100 00002bad: EXP 00002bae: SUB 00002baf: NOT 00002bb0: AND 00002bb1: DUP2 00002bb2: MSTORE 00002bb3: PUSH1 0x20 00002bb5: ADD 00002bb6: SWAP2 00002bb7: POP 00002bb8: JUMPDEST 00002bb9: POP 00002bba: SWAP3 00002bbb: POP 00002bbc: POP 00002bbd: POP 00002bbe: PUSH1 0x40 00002bc0: MLOAD 00002bc1: DUP1 00002bc2: SWAP2 00002bc3: SUB 00002bc4: SWAP1 00002bc5: REVERT 00002bc6: JUMPDEST 00002bc7: POP 00002bc8: DUP5 00002bc9: PUSH1 0x00 00002bcb: ADD 00002bcc: PUSH1 0x01 00002bce: DUP3 00002bcf: SUB 00002bd0: DUP2 00002bd1: SLOAD 00002bd2: DUP2 00002bd3: LT 00002bd4: PUSH2 0x2bd9 00002bd7: JUMPI 00002bd8: INVALID 00002bd9: JUMPDEST 00002bda: SWAP1 00002bdb: PUSH1 0x00 00002bdd: MSTORE 00002bde: PUSH1 0x20 00002be0: PUSH1 0x00 00002be2: KECCAK256 00002be3: SWAP1 00002be4: PUSH1 0x02 00002be6: MUL 00002be7: ADD 00002be8: PUSH1 0x01 00002bea: ADD 00002beb: SLOAD 00002bec: SWAP2 00002bed: POP 00002bee: POP 00002bef: SWAP4 00002bf0: SWAP3 00002bf1: POP 00002bf2: POP 00002bf3: POP 00002bf4: JUMP 00002bf5: JUMPDEST 00002bf6: PUSH1 0x00 00002bf8: DUP2 00002bf9: PUSH1 0x00 00002bfb: ADD 00002bfc: DUP1 00002bfd: SLOAD 00002bfe: SWAP1 00002bff: POP 00002c00: SWAP1 00002c01: POP 00002c02: SWAP2 00002c03: SWAP1 00002c04: POP 00002c05: JUMP 00002c06: JUMPDEST 00002c07: PUSH1 0x00 00002c09: PUSH2 0x2c27 00002c0c: DUP5 00002c0d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c22: AND 00002c23: PUSH2 0x3296 00002c26: JUMP 00002c27: JUMPDEST 00002c28: PUSH2 0x2c34 00002c2b: JUMPI 00002c2c: PUSH1 0x01 00002c2e: SWAP1 00002c2f: POP 00002c30: PUSH2 0x2e43 00002c33: JUMP 00002c34: JUMPDEST 00002c35: PUSH1 0x60 00002c37: PUSH2 0x2dca 00002c3a: PUSH4 0x150b7a02 00002c3f: PUSH1 0xe0 00002c41: SHL 00002c42: PUSH2 0x2c49 00002c45: PUSH2 0x21ee 00002c48: JUMP 00002c49: JUMPDEST 00002c4a: DUP9 00002c4b: DUP8 00002c4c: DUP8 00002c4d: PUSH1 0x40 00002c4f: MLOAD 00002c50: PUSH1 0x24 00002c52: ADD 00002c53: DUP1 00002c54: DUP6 00002c55: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c6a: AND 00002c6b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c80: AND 00002c81: DUP2 00002c82: MSTORE 00002c83: PUSH1 0x20 00002c85: ADD 00002c86: DUP5 00002c87: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c9c: AND 00002c9d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002cb2: AND 00002cb3: DUP2 00002cb4: MSTORE 00002cb5: PUSH1 0x20 00002cb7: ADD 00002cb8: DUP4 00002cb9: DUP2 00002cba: MSTORE 00002cbb: PUSH1 0x20 00002cbd: ADD 00002cbe: DUP1 00002cbf: PUSH1 0x20 00002cc1: ADD 00002cc2: DUP3 00002cc3: DUP2 00002cc4: SUB 00002cc5: DUP3 00002cc6: MSTORE 00002cc7: DUP4 00002cc8: DUP2 00002cc9: DUP2 00002cca: MLOAD 00002ccb: DUP2 00002ccc: MSTORE 00002ccd: PUSH1 0x20 00002ccf: ADD 00002cd0: SWAP2 00002cd1: POP 00002cd2: DUP1 00002cd3: MLOAD 00002cd4: SWAP1 00002cd5: PUSH1 0x20 00002cd7: ADD 00002cd8: SWAP1 00002cd9: DUP1 00002cda: DUP4 00002cdb: DUP4 00002cdc: PUSH1 0x00 00002cde: JUMPDEST 00002cdf: DUP4 00002ce0: DUP2 00002ce1: LT 00002ce2: ISZERO 00002ce3: PUSH2 0x2cf9 00002ce6: JUMPI 00002ce7: DUP1 00002ce8: DUP3 00002ce9: ADD 00002cea: MLOAD 00002ceb: DUP2 00002cec: DUP5 00002ced: ADD 00002cee: MSTORE 00002cef: PUSH1 0x20 00002cf1: DUP2 00002cf2: ADD 00002cf3: SWAP1 00002cf4: POP 00002cf5: PUSH2 0x2cde 00002cf8: JUMP 00002cf9: JUMPDEST 00002cfa: POP 00002cfb: POP 00002cfc: POP 00002cfd: POP 00002cfe: SWAP1 00002cff: POP 00002d00: SWAP1 00002d01: DUP2 00002d02: ADD 00002d03: SWAP1 00002d04: PUSH1 0x1f 00002d06: AND 00002d07: DUP1 00002d08: ISZERO 00002d09: PUSH2 0x2d26 00002d0c: JUMPI 00002d0d: DUP1 00002d0e: DUP3 00002d0f: SUB 00002d10: DUP1 00002d11: MLOAD 00002d12: PUSH1 0x01 00002d14: DUP4 00002d15: PUSH1 0x20 00002d17: SUB 00002d18: PUSH2 0x0100 00002d1b: EXP 00002d1c: SUB 00002d1d: NOT 00002d1e: AND 00002d1f: DUP2 00002d20: MSTORE 00002d21: PUSH1 0x20 00002d23: ADD 00002d24: SWAP2 00002d25: POP 00002d26: JUMPDEST 00002d27: POP 00002d28: SWAP6 00002d29: POP 00002d2a: POP 00002d2b: POP 00002d2c: POP 00002d2d: POP 00002d2e: POP 00002d2f: PUSH1 0x40 00002d31: MLOAD 00002d32: PUSH1 0x20 00002d34: DUP2 00002d35: DUP4 00002d36: SUB 00002d37: SUB 00002d38: DUP2 00002d39: MSTORE 00002d3a: SWAP1 00002d3b: PUSH1 0x40 00002d3d: MSTORE 00002d3e: SWAP1 00002d3f: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002d5c: NOT 00002d5d: AND 00002d5e: PUSH1 0x20 00002d60: DUP3 00002d61: ADD 00002d62: DUP1 00002d63: MLOAD 00002d64: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002d81: DUP4 00002d82: DUP2 00002d83: DUP4 00002d84: AND 00002d85: OR 00002d86: DUP4 00002d87: MSTORE 00002d88: POP 00002d89: POP 00002d8a: POP 00002d8b: POP 00002d8c: PUSH1 0x40 00002d8e: MLOAD 00002d8f: DUP1 00002d90: PUSH1 0x60 00002d92: ADD 00002d93: PUSH1 0x40 00002d95: MSTORE 00002d96: DUP1 00002d97: PUSH1 0x32 00002d99: DUP2 00002d9a: MSTORE 00002d9b: PUSH1 0x20 00002d9d: ADD 00002d9e: PUSH2 0x3621 00002da1: PUSH1 0x32 00002da3: SWAP2 00002da4: CODECOPY 00002da5: DUP8 00002da6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002dbb: AND 00002dbc: PUSH2 0x32a9 00002dbf: SWAP1 00002dc0: SWAP3 00002dc1: SWAP2 00002dc2: SWAP1 00002dc3: PUSH4 0xffffffff 00002dc8: AND 00002dc9: JUMP 00002dca: JUMPDEST 00002dcb: SWAP1 00002dcc: POP 00002dcd: PUSH1 0x00 00002dcf: DUP2 00002dd0: DUP1 00002dd1: PUSH1 0x20 00002dd3: ADD 00002dd4: SWAP1 00002dd5: MLOAD 00002dd6: PUSH1 0x20 00002dd8: DUP2 00002dd9: LT 00002dda: ISZERO 00002ddb: PUSH2 0x2de3 00002dde: JUMPI 00002ddf: PUSH1 0x00 00002de1: DUP1 00002de2: REVERT 00002de3: JUMPDEST 00002de4: DUP2 00002de5: ADD 00002de6: SWAP1 00002de7: DUP1 00002de8: DUP1 00002de9: MLOAD 00002dea: SWAP1 00002deb: PUSH1 0x20 00002ded: ADD 00002dee: SWAP1 00002def: SWAP3 00002df0: SWAP2 00002df1: SWAP1 00002df2: POP 00002df3: POP 00002df4: POP 00002df5: SWAP1 00002df6: POP 00002df7: PUSH4 0x150b7a02 00002dfc: PUSH1 0xe0 00002dfe: SHL 00002dff: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002e1c: NOT 00002e1d: AND 00002e1e: DUP2 00002e1f: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002e3c: NOT 00002e3d: AND 00002e3e: EQ 00002e3f: SWAP3 00002e40: POP 00002e41: POP 00002e42: POP 00002e43: JUMPDEST 00002e44: SWAP5 00002e45: SWAP4 00002e46: POP 00002e47: POP 00002e48: POP 00002e49: POP 00002e4a: JUMP 00002e4b: JUMPDEST 00002e4c: PUSH1 0x00 00002e4e: DUP1 00002e4f: DUP4 00002e50: PUSH1 0x01 00002e52: ADD 00002e53: PUSH1 0x00 00002e55: DUP5 00002e56: DUP2 00002e57: MSTORE 00002e58: PUSH1 0x20 00002e5a: ADD 00002e5b: SWAP1 00002e5c: DUP2 00002e5d: MSTORE 00002e5e: PUSH1 0x20 00002e60: ADD 00002e61: PUSH1 0x00 00002e63: KECCAK256 00002e64: SLOAD 00002e65: EQ 00002e66: ISZERO 00002e67: SWAP1 00002e68: POP 00002e69: SWAP3 00002e6a: SWAP2 00002e6b: POP 00002e6c: POP 00002e6d: JUMP 00002e6e: JUMPDEST 00002e6f: PUSH1 0x00 00002e71: DUP1 00002e72: DUP4 00002e73: PUSH1 0x01 00002e75: ADD 00002e76: PUSH1 0x00 00002e78: DUP5 00002e79: DUP2 00002e7a: MSTORE 00002e7b: PUSH1 0x20 00002e7d: ADD 00002e7e: SWAP1 00002e7f: DUP2 00002e80: MSTORE 00002e81: PUSH1 0x20 00002e83: ADD 00002e84: PUSH1 0x00 00002e86: KECCAK256 00002e87: SLOAD 00002e88: SWAP1 00002e89: POP 00002e8a: PUSH1 0x00 00002e8c: DUP2 00002e8d: EQ 00002e8e: PUSH2 0x2f4a 00002e91: JUMPI 00002e92: PUSH1 0x00 00002e94: PUSH1 0x01 00002e96: DUP3 00002e97: SUB 00002e98: SWAP1 00002e99: POP 00002e9a: PUSH1 0x00 00002e9c: PUSH1 0x01 00002e9e: DUP7 00002e9f: PUSH1 0x00 00002ea1: ADD 00002ea2: DUP1 00002ea3: SLOAD 00002ea4: SWAP1 00002ea5: POP 00002ea6: SUB 00002ea7: SWAP1 00002ea8: POP 00002ea9: PUSH1 0x00 00002eab: DUP7 00002eac: PUSH1 0x00 00002eae: ADD 00002eaf: DUP3 00002eb0: DUP2 00002eb1: SLOAD 00002eb2: DUP2 00002eb3: LT 00002eb4: PUSH2 0x2eb9 00002eb7: JUMPI 00002eb8: INVALID 00002eb9: JUMPDEST 00002eba: SWAP1 00002ebb: PUSH1 0x00 00002ebd: MSTORE 00002ebe: PUSH1 0x20 00002ec0: PUSH1 0x00 00002ec2: KECCAK256 00002ec3: ADD 00002ec4: SLOAD 00002ec5: SWAP1 00002ec6: POP 00002ec7: DUP1 00002ec8: DUP8 00002ec9: PUSH1 0x00 00002ecb: ADD 00002ecc: DUP5 00002ecd: DUP2 00002ece: SLOAD 00002ecf: DUP2 00002ed0: LT 00002ed1: PUSH2 0x2ed6 00002ed4: JUMPI 00002ed5: INVALID 00002ed6: JUMPDEST 00002ed7: SWAP1 00002ed8: PUSH1 0x00 00002eda: MSTORE 00002edb: PUSH1 0x20 00002edd: PUSH1 0x00 00002edf: KECCAK256 00002ee0: ADD 00002ee1: DUP2 00002ee2: SWAP1 00002ee3: SSTORE 00002ee4: POP 00002ee5: PUSH1 0x01 00002ee7: DUP4 00002ee8: ADD 00002ee9: DUP8 00002eea: PUSH1 0x01 00002eec: ADD 00002eed: PUSH1 0x00 00002eef: DUP4 00002ef0: DUP2 00002ef1: MSTORE 00002ef2: PUSH1 0x20 00002ef4: ADD 00002ef5: SWAP1 00002ef6: DUP2 00002ef7: MSTORE 00002ef8: PUSH1 0x20 00002efa: ADD 00002efb: PUSH1 0x00 00002efd: KECCAK256 00002efe: DUP2 00002eff: SWAP1 00002f00: SSTORE 00002f01: POP 00002f02: DUP7 00002f03: PUSH1 0x00 00002f05: ADD 00002f06: DUP1 00002f07: SLOAD 00002f08: DUP1 00002f09: PUSH2 0x2f0e 00002f0c: JUMPI 00002f0d: INVALID 00002f0e: JUMPDEST 00002f0f: PUSH1 0x01 00002f11: SWAP1 00002f12: SUB 00002f13: DUP2 00002f14: DUP2 00002f15: SWAP1 00002f16: PUSH1 0x00 00002f18: MSTORE 00002f19: PUSH1 0x20 00002f1b: PUSH1 0x00 00002f1d: KECCAK256 00002f1e: ADD 00002f1f: PUSH1 0x00 00002f21: SWAP1 00002f22: SSTORE 00002f23: SWAP1 00002f24: SSTORE 00002f25: DUP7 00002f26: PUSH1 0x01 00002f28: ADD 00002f29: PUSH1 0x00 00002f2b: DUP8 00002f2c: DUP2 00002f2d: MSTORE 00002f2e: PUSH1 0x20 00002f30: ADD 00002f31: SWAP1 00002f32: DUP2 00002f33: MSTORE 00002f34: PUSH1 0x20 00002f36: ADD 00002f37: PUSH1 0x00 00002f39: KECCAK256 00002f3a: PUSH1 0x00 00002f3c: SWAP1 00002f3d: SSTORE 00002f3e: PUSH1 0x01 00002f40: SWAP5 00002f41: POP 00002f42: POP 00002f43: POP 00002f44: POP 00002f45: POP 00002f46: PUSH2 0x2f50 00002f49: JUMP 00002f4a: JUMPDEST 00002f4b: PUSH1 0x00 00002f4d: SWAP2 00002f4e: POP 00002f4f: POP 00002f50: JUMPDEST 00002f51: SWAP3 00002f52: SWAP2 00002f53: POP 00002f54: POP 00002f55: JUMP 00002f56: JUMPDEST 00002f57: PUSH1 0x00 00002f59: PUSH2 0x2f62 00002f5c: DUP4 00002f5d: DUP4 00002f5e: PUSH2 0x32c1 00002f61: JUMP 00002f62: JUMPDEST 00002f63: PUSH2 0x2fbb 00002f66: JUMPI 00002f67: DUP3 00002f68: PUSH1 0x00 00002f6a: ADD 00002f6b: DUP3 00002f6c: SWAP1 00002f6d: DUP1 00002f6e: PUSH1 0x01 00002f70: DUP2 00002f71: SLOAD 00002f72: ADD 00002f73: DUP1 00002f74: DUP3 00002f75: SSTORE 00002f76: DUP1 00002f77: SWAP2 00002f78: POP 00002f79: POP 00002f7a: PUSH1 0x01 00002f7c: SWAP1 00002f7d: SUB 00002f7e: SWAP1 00002f7f: PUSH1 0x00 00002f81: MSTORE 00002f82: PUSH1 0x20 00002f84: PUSH1 0x00 00002f86: KECCAK256 00002f87: ADD 00002f88: PUSH1 0x00 00002f8a: SWAP1 00002f8b: SWAP2 00002f8c: SWAP1 00002f8d: SWAP2 00002f8e: SWAP1 00002f8f: SWAP2 00002f90: POP 00002f91: SSTORE 00002f92: DUP3 00002f93: PUSH1 0x00 00002f95: ADD 00002f96: DUP1 00002f97: SLOAD 00002f98: SWAP1 00002f99: POP 00002f9a: DUP4 00002f9b: PUSH1 0x01 00002f9d: ADD 00002f9e: PUSH1 0x00 00002fa0: DUP5 00002fa1: DUP2 00002fa2: MSTORE 00002fa3: PUSH1 0x20 00002fa5: ADD 00002fa6: SWAP1 00002fa7: DUP2 00002fa8: MSTORE 00002fa9: PUSH1 0x20 00002fab: ADD 00002fac: PUSH1 0x00 00002fae: KECCAK256 00002faf: DUP2 00002fb0: SWAP1 00002fb1: SSTORE 00002fb2: POP 00002fb3: PUSH1 0x01 00002fb5: SWAP1 00002fb6: POP 00002fb7: PUSH2 0x2fc0 00002fba: JUMP 00002fbb: JUMPDEST 00002fbc: PUSH1 0x00 00002fbe: SWAP1 00002fbf: POP 00002fc0: JUMPDEST 00002fc1: SWAP3 00002fc2: SWAP2 00002fc3: POP 00002fc4: POP 00002fc5: JUMP 00002fc6: JUMPDEST 00002fc7: PUSH1 0x00 00002fc9: DUP1 00002fca: DUP5 00002fcb: PUSH1 0x01 00002fcd: ADD 00002fce: PUSH1 0x00 00002fd0: DUP6 00002fd1: DUP2 00002fd2: MSTORE 00002fd3: PUSH1 0x20 00002fd5: ADD 00002fd6: SWAP1 00002fd7: DUP2 00002fd8: MSTORE 00002fd9: PUSH1 0x20 00002fdb: ADD 00002fdc: PUSH1 0x00 00002fde: KECCAK256 00002fdf: SLOAD 00002fe0: SWAP1 00002fe1: POP 00002fe2: PUSH1 0x00 00002fe4: DUP2 00002fe5: EQ 00002fe6: ISZERO 00002fe7: PUSH2 0x306d 00002fea: JUMPI 00002feb: DUP5 00002fec: PUSH1 0x00 00002fee: ADD 00002fef: PUSH1 0x40 00002ff1: MLOAD 00002ff2: DUP1 00002ff3: PUSH1 0x40 00002ff5: ADD 00002ff6: PUSH1 0x40 00002ff8: MSTORE 00002ff9: DUP1 00002ffa: DUP7 00002ffb: DUP2 00002ffc: MSTORE 00002ffd: PUSH1 0x20 00002fff: ADD 00003000: DUP6 00003001: DUP2 00003002: MSTORE 00003003: POP 00003004: SWAP1 00003005: DUP1 00003006: PUSH1 0x01 00003008: DUP2 00003009: SLOAD 0000300a: ADD 0000300b: DUP1 0000300c: DUP3 0000300d: SSTORE 0000300e: DUP1 0000300f: SWAP2 00003010: POP 00003011: POP 00003012: PUSH1 0x01 00003014: SWAP1 00003015: SUB 00003016: SWAP1 00003017: PUSH1 0x00 00003019: MSTORE 0000301a: PUSH1 0x20 0000301c: PUSH1 0x00 0000301e: KECCAK256 0000301f: SWAP1 00003020: PUSH1 0x02 00003022: MUL 00003023: ADD 00003024: PUSH1 0x00 00003026: SWAP1 00003027: SWAP2 00003028: SWAP1 00003029: SWAP2 0000302a: SWAP1 0000302b: SWAP2 0000302c: POP 0000302d: PUSH1 0x00 0000302f: DUP3 00003030: ADD 00003031: MLOAD 00003032: DUP2 00003033: PUSH1 0x00 00003035: ADD 00003036: SSTORE 00003037: PUSH1 0x20 00003039: DUP3 0000303a: ADD 0000303b: MLOAD 0000303c: DUP2 0000303d: PUSH1 0x01 0000303f: ADD 00003040: SSTORE 00003041: POP 00003042: POP 00003043: DUP5 00003044: PUSH1 0x00 00003046: ADD 00003047: DUP1 00003048: SLOAD 00003049: SWAP1 0000304a: POP 0000304b: DUP6 0000304c: PUSH1 0x01 0000304e: ADD 0000304f: PUSH1 0x00 00003051: DUP7 00003052: DUP2 00003053: MSTORE 00003054: PUSH1 0x20 00003056: ADD 00003057: SWAP1 00003058: DUP2 00003059: MSTORE 0000305a: PUSH1 0x20 0000305c: ADD 0000305d: PUSH1 0x00 0000305f: KECCAK256 00003060: DUP2 00003061: SWAP1 00003062: SSTORE 00003063: POP 00003064: PUSH1 0x01 00003066: SWAP2 00003067: POP 00003068: POP 00003069: PUSH2 0x309b 0000306c: JUMP 0000306d: JUMPDEST 0000306e: DUP3 0000306f: DUP6 00003070: PUSH1 0x00 00003072: ADD 00003073: PUSH1 0x01 00003075: DUP4 00003076: SUB 00003077: DUP2 00003078: SLOAD 00003079: DUP2 0000307a: LT 0000307b: PUSH2 0x3080 0000307e: JUMPI 0000307f: INVALID 00003080: JUMPDEST 00003081: SWAP1 00003082: PUSH1 0x00 00003084: MSTORE 00003085: PUSH1 0x20 00003087: PUSH1 0x00 00003089: KECCAK256 0000308a: SWAP1 0000308b: PUSH1 0x02 0000308d: MUL 0000308e: ADD 0000308f: PUSH1 0x01 00003091: ADD 00003092: DUP2 00003093: SWAP1 00003094: SSTORE 00003095: POP 00003096: PUSH1 0x00 00003098: SWAP2 00003099: POP 0000309a: POP 0000309b: JUMPDEST 0000309c: SWAP4 0000309d: SWAP3 0000309e: POP 0000309f: POP 000030a0: POP 000030a1: JUMP 000030a2: JUMPDEST 000030a3: PUSH1 0x00 000030a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000030ba: AND 000030bb: DUP3 000030bc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000030d1: AND 000030d2: EQ 000030d3: ISZERO 000030d4: PUSH2 0x3145 000030d7: JUMPI 000030d8: PUSH1 0x40 000030da: MLOAD 000030db: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000030fc: DUP2 000030fd: MSTORE 000030fe: PUSH1 0x04 00003100: ADD 00003101: DUP1 00003102: DUP1 00003103: PUSH1 0x20 00003105: ADD 00003106: DUP3 00003107: DUP2 00003108: SUB 00003109: DUP3 0000310a: MSTORE 0000310b: PUSH1 0x20 0000310d: DUP2 0000310e: MSTORE 0000310f: PUSH1 0x20 00003111: ADD 00003112: DUP1 00003113: PUSH32 0x4552433732313a206d696e7420746f20746865207a65726f2061646472657373 00003134: DUP2 00003135: MSTORE 00003136: POP 00003137: PUSH1 0x20 00003139: ADD 0000313a: SWAP2 0000313b: POP 0000313c: POP 0000313d: PUSH1 0x40 0000313f: MLOAD 00003140: DUP1 00003141: SWAP2 00003142: SUB 00003143: SWAP1 00003144: REVERT 00003145: JUMPDEST 00003146: PUSH2 0x314e 00003149: DUP2 0000314a: PUSH2 0x21d1 0000314d: JUMP 0000314e: JUMPDEST 0000314f: ISZERO 00003150: PUSH2 0x31c1 00003153: JUMPI 00003154: PUSH1 0x40 00003156: MLOAD 00003157: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003178: DUP2 00003179: MSTORE 0000317a: PUSH1 0x04 0000317c: ADD 0000317d: DUP1 0000317e: DUP1 0000317f: PUSH1 0x20 00003181: ADD 00003182: DUP3 00003183: DUP2 00003184: SUB 00003185: DUP3 00003186: MSTORE 00003187: PUSH1 0x1c 00003189: DUP2 0000318a: MSTORE 0000318b: PUSH1 0x20 0000318d: ADD 0000318e: DUP1 0000318f: PUSH32 0x4552433732313a20746f6b656e20616c7265616479206d696e74656400000000 000031b0: DUP2 000031b1: MSTORE 000031b2: POP 000031b3: PUSH1 0x20 000031b5: ADD 000031b6: SWAP2 000031b7: POP 000031b8: POP 000031b9: PUSH1 0x40 000031bb: MLOAD 000031bc: DUP1 000031bd: SWAP2 000031be: SUB 000031bf: SWAP1 000031c0: REVERT 000031c1: JUMPDEST 000031c2: PUSH2 0x31cd 000031c5: PUSH1 0x00 000031c7: DUP4 000031c8: DUP4 000031c9: PUSH2 0x2904 000031cc: JUMP 000031cd: JUMPDEST 000031ce: PUSH2 0x321e 000031d1: DUP2 000031d2: PUSH1 0x01 000031d4: PUSH1 0x00 000031d6: DUP6 000031d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000031ec: AND 000031ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003202: AND 00003203: DUP2 00003204: MSTORE 00003205: PUSH1 0x20 00003207: ADD 00003208: SWAP1 00003209: DUP2 0000320a: MSTORE 0000320b: PUSH1 0x20 0000320d: ADD 0000320e: PUSH1 0x00 00003210: KECCAK256 00003211: PUSH2 0x2923 00003214: SWAP1 00003215: SWAP2 00003216: SWAP1 00003217: PUSH4 0xffffffff 0000321c: AND 0000321d: JUMP 0000321e: JUMPDEST 0000321f: POP 00003220: PUSH2 0x3235 00003223: DUP2 00003224: DUP4 00003225: PUSH1 0x02 00003227: PUSH2 0x293d 0000322a: SWAP1 0000322b: SWAP3 0000322c: SWAP2 0000322d: SWAP1 0000322e: PUSH4 0xffffffff 00003233: AND 00003234: JUMP 00003235: JUMPDEST 00003236: POP 00003237: DUP1 00003238: DUP3 00003239: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000324e: AND 0000324f: PUSH1 0x00 00003251: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003266: AND 00003267: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00003288: PUSH1 0x40 0000328a: MLOAD 0000328b: PUSH1 0x40 0000328d: MLOAD 0000328e: DUP1 0000328f: SWAP2 00003290: SUB 00003291: SWAP1 00003292: LOG4 00003293: POP 00003294: POP 00003295: JUMP 00003296: JUMPDEST 00003297: PUSH1 0x00 00003299: DUP1 0000329a: DUP3 0000329b: EXTCODESIZE 0000329c: SWAP1 0000329d: POP 0000329e: PUSH1 0x00 000032a0: DUP2 000032a1: GT 000032a2: SWAP2 000032a3: POP 000032a4: POP 000032a5: SWAP2 000032a6: SWAP1 000032a7: POP 000032a8: JUMP 000032a9: JUMPDEST 000032aa: PUSH1 0x60 000032ac: PUSH2 0x32b8 000032af: DUP5 000032b0: DUP5 000032b1: PUSH1 0x00 000032b3: DUP6 000032b4: PUSH2 0x32e4 000032b7: JUMP 000032b8: JUMPDEST 000032b9: SWAP1 000032ba: POP 000032bb: SWAP4 000032bc: SWAP3 000032bd: POP 000032be: POP 000032bf: POP 000032c0: JUMP 000032c1: JUMPDEST 000032c2: PUSH1 0x00 000032c4: DUP1 000032c5: DUP4 000032c6: PUSH1 0x01 000032c8: ADD 000032c9: PUSH1 0x00 000032cb: DUP5 000032cc: DUP2 000032cd: MSTORE 000032ce: PUSH1 0x20 000032d0: ADD 000032d1: SWAP1 000032d2: DUP2 000032d3: MSTORE 000032d4: PUSH1 0x20 000032d6: ADD 000032d7: PUSH1 0x00 000032d9: KECCAK256 000032da: SLOAD 000032db: EQ 000032dc: ISZERO 000032dd: SWAP1 000032de: POP 000032df: SWAP3 000032e0: SWAP2 000032e1: POP 000032e2: POP 000032e3: JUMP 000032e4: JUMPDEST 000032e5: PUSH1 0x60 000032e7: DUP3 000032e8: SELFBALANCE 000032e9: LT 000032ea: ISZERO 000032eb: PUSH2 0x333f 000032ee: JUMPI 000032ef: PUSH1 0x40 000032f1: MLOAD 000032f2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003313: DUP2 00003314: MSTORE 00003315: PUSH1 0x04 00003317: ADD 00003318: DUP1 00003319: DUP1 0000331a: PUSH1 0x20 0000331c: ADD 0000331d: DUP3 0000331e: DUP2 0000331f: SUB 00003320: DUP3 00003321: MSTORE 00003322: PUSH1 0x26 00003324: DUP2 00003325: MSTORE 00003326: PUSH1 0x20 00003328: ADD 00003329: DUP1 0000332a: PUSH2 0x369d 0000332d: PUSH1 0x26 0000332f: SWAP2 00003330: CODECOPY 00003331: PUSH1 0x40 00003333: ADD 00003334: SWAP2 00003335: POP 00003336: POP 00003337: PUSH1 0x40 00003339: MLOAD 0000333a: DUP1 0000333b: SWAP2 0000333c: SUB 0000333d: SWAP1 0000333e: REVERT 0000333f: JUMPDEST 00003340: PUSH2 0x3348 00003343: DUP6 00003344: PUSH2 0x3296 00003347: JUMP 00003348: JUMPDEST 00003349: PUSH2 0x33ba 0000334c: JUMPI 0000334d: PUSH1 0x40 0000334f: MLOAD 00003350: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003371: DUP2 00003372: MSTORE 00003373: PUSH1 0x04 00003375: ADD 00003376: DUP1 00003377: DUP1 00003378: PUSH1 0x20 0000337a: ADD 0000337b: DUP3 0000337c: DUP2 0000337d: SUB 0000337e: DUP3 0000337f: MSTORE 00003380: PUSH1 0x1d 00003382: DUP2 00003383: MSTORE 00003384: PUSH1 0x20 00003386: ADD 00003387: DUP1 00003388: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 000033a9: DUP2 000033aa: MSTORE 000033ab: POP 000033ac: PUSH1 0x20 000033ae: ADD 000033af: SWAP2 000033b0: POP 000033b1: POP 000033b2: PUSH1 0x40 000033b4: MLOAD 000033b5: DUP1 000033b6: SWAP2 000033b7: SUB 000033b8: SWAP1 000033b9: REVERT 000033ba: JUMPDEST 000033bb: PUSH1 0x00 000033bd: PUSH1 0x60 000033bf: DUP7 000033c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000033d5: AND 000033d6: DUP6 000033d7: DUP8 000033d8: PUSH1 0x40 000033da: MLOAD 000033db: DUP1 000033dc: DUP3 000033dd: DUP1 000033de: MLOAD 000033df: SWAP1 000033e0: PUSH1 0x20 000033e2: ADD 000033e3: SWAP1 000033e4: DUP1 000033e5: DUP4 000033e6: DUP4 000033e7: JUMPDEST 000033e8: PUSH1 0x20 000033ea: DUP4 000033eb: LT 000033ec: PUSH2 0x340a 000033ef: JUMPI 000033f0: DUP1 000033f1: MLOAD 000033f2: DUP3 000033f3: MSTORE 000033f4: PUSH1 0x20 000033f6: DUP3 000033f7: ADD 000033f8: SWAP2 000033f9: POP 000033fa: PUSH1 0x20 000033fc: DUP2 000033fd: ADD 000033fe: SWAP1 000033ff: POP 00003400: PUSH1 0x20 00003402: DUP4 00003403: SUB 00003404: SWAP3 00003405: POP 00003406: PUSH2 0x33e7 00003409: JUMP 0000340a: JUMPDEST 0000340b: PUSH1 0x01 0000340d: DUP4 0000340e: PUSH1 0x20 00003410: SUB 00003411: PUSH2 0x0100 00003414: EXP 00003415: SUB 00003416: DUP1 00003417: NOT 00003418: DUP3 00003419: MLOAD 0000341a: AND 0000341b: DUP2 0000341c: DUP5 0000341d: MLOAD 0000341e: AND 0000341f: DUP1 00003420: DUP3 00003421: OR 00003422: DUP6 00003423: MSTORE 00003424: POP 00003425: POP 00003426: POP 00003427: POP 00003428: POP 00003429: POP 0000342a: SWAP1 0000342b: POP 0000342c: ADD 0000342d: SWAP2 0000342e: POP 0000342f: POP 00003430: PUSH1 0x00 00003432: PUSH1 0x40 00003434: MLOAD 00003435: DUP1 00003436: DUP4 00003437: SUB 00003438: DUP2 00003439: DUP6 0000343a: DUP8 0000343b: GAS 0000343c: CALL 0000343d: SWAP3 0000343e: POP 0000343f: POP 00003440: POP 00003441: RETURNDATASIZE 00003442: DUP1 00003443: PUSH1 0x00 00003445: DUP2 00003446: EQ 00003447: PUSH2 0x346c 0000344a: JUMPI 0000344b: PUSH1 0x40 0000344d: MLOAD 0000344e: SWAP2 0000344f: POP 00003450: PUSH1 0x1f 00003452: NOT 00003453: PUSH1 0x3f 00003455: RETURNDATASIZE 00003456: ADD 00003457: AND 00003458: DUP3 00003459: ADD 0000345a: PUSH1 0x40 0000345c: MSTORE 0000345d: RETURNDATASIZE 0000345e: DUP3 0000345f: MSTORE 00003460: RETURNDATASIZE 00003461: PUSH1 0x00 00003463: PUSH1 0x20 00003465: DUP5 00003466: ADD 00003467: RETURNDATACOPY 00003468: PUSH2 0x3471 0000346b: JUMP 0000346c: JUMPDEST 0000346d: PUSH1 0x60 0000346f: SWAP2 00003470: POP 00003471: JUMPDEST 00003472: POP 00003473: SWAP2 00003474: POP 00003475: SWAP2 00003476: POP 00003477: PUSH2 0x3481 0000347a: DUP3 0000347b: DUP3 0000347c: DUP7 0000347d: PUSH2 0x348d 00003480: JUMP 00003481: JUMPDEST 00003482: SWAP3 00003483: POP 00003484: POP 00003485: POP 00003486: SWAP5 00003487: SWAP4 00003488: POP 00003489: POP 0000348a: POP 0000348b: POP 0000348c: JUMP 0000348d: JUMPDEST 0000348e: PUSH1 0x60 00003490: DUP4 00003491: ISZERO 00003492: PUSH2 0x349d 00003495: JUMPI 00003496: DUP3 00003497: SWAP1 00003498: POP 00003499: PUSH2 0x3552 0000349c: JUMP 0000349d: JUMPDEST 0000349e: PUSH1 0x00 000034a0: DUP4 000034a1: MLOAD 000034a2: GT 000034a3: ISZERO 000034a4: PUSH2 0x34b0 000034a7: JUMPI 000034a8: DUP3 000034a9: MLOAD 000034aa: DUP1 000034ab: DUP5 000034ac: PUSH1 0x20 000034ae: ADD 000034af: REVERT 000034b0: JUMPDEST 000034b1: DUP2 000034b2: PUSH1 0x40 000034b4: MLOAD 000034b5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000034d6: DUP2 000034d7: MSTORE 000034d8: PUSH1 0x04 000034da: ADD 000034db: DUP1 000034dc: DUP1 000034dd: PUSH1 0x20 000034df: ADD 000034e0: DUP3 000034e1: DUP2 000034e2: SUB 000034e3: DUP3 000034e4: MSTORE 000034e5: DUP4 000034e6: DUP2 000034e7: DUP2 000034e8: MLOAD 000034e9: DUP2 000034ea: MSTORE 000034eb: PUSH1 0x20 000034ed: ADD 000034ee: SWAP2 000034ef: POP 000034f0: DUP1 000034f1: MLOAD 000034f2: SWAP1 000034f3: PUSH1 0x20 000034f5: ADD 000034f6: SWAP1 000034f7: DUP1 000034f8: DUP4 000034f9: DUP4 000034fa: PUSH1 0x00 000034fc: JUMPDEST 000034fd: DUP4 000034fe: DUP2 000034ff: LT 00003500: ISZERO 00003501: PUSH2 0x3517 00003504: JUMPI 00003505: DUP1 00003506: DUP3 00003507: ADD 00003508: MLOAD 00003509: DUP2 0000350a: DUP5 0000350b: ADD 0000350c: MSTORE 0000350d: PUSH1 0x20 0000350f: DUP2 00003510: ADD 00003511: SWAP1 00003512: POP 00003513: PUSH2 0x34fc 00003516: JUMP 00003517: JUMPDEST 00003518: POP 00003519: POP 0000351a: POP 0000351b: POP 0000351c: SWAP1 0000351d: POP 0000351e: SWAP1 0000351f: DUP2 00003520: ADD 00003521: SWAP1 00003522: PUSH1 0x1f 00003524: AND 00003525: DUP1 00003526: ISZERO 00003527: PUSH2 0x3544 0000352a: JUMPI 0000352b: DUP1 0000352c: DUP3 0000352d: SUB 0000352e: DUP1 0000352f: MLOAD 00003530: PUSH1 0x01 00003532: DUP4 00003533: PUSH1 0x20 00003535: SUB 00003536: PUSH2 0x0100 00003539: EXP 0000353a: SUB 0000353b: NOT 0000353c: AND 0000353d: DUP2 0000353e: MSTORE 0000353f: PUSH1 0x20 00003541: ADD 00003542: SWAP2 00003543: POP 00003544: JUMPDEST 00003545: POP 00003546: SWAP3 00003547: POP 00003548: POP 00003549: POP 0000354a: PUSH1 0x40 0000354c: MLOAD 0000354d: DUP1 0000354e: SWAP2 0000354f: SUB 00003550: SWAP1 00003551: REVERT 00003552: JUMPDEST 00003553: SWAP4 00003554: SWAP3 00003555: POP 00003556: POP 00003557: POP 00003558: JUMP 00003559: JUMPDEST 0000355a: DUP3 0000355b: DUP1 0000355c: SLOAD 0000355d: PUSH1 0x01 0000355f: DUP2 00003560: PUSH1 0x01 00003562: AND 00003563: ISZERO 00003564: PUSH2 0x0100 00003567: MUL 00003568: SUB 00003569: AND 0000356a: PUSH1 0x02 0000356c: SWAP1 0000356d: DIV 0000356e: SWAP1 0000356f: PUSH1 0x00 00003571: MSTORE 00003572: PUSH1 0x20 00003574: PUSH1 0x00 00003576: KECCAK256 00003577: SWAP1 00003578: PUSH1 0x1f 0000357a: ADD 0000357b: PUSH1 0x20 0000357d: SWAP1 0000357e: DIV 0000357f: DUP2 00003580: ADD 00003581: SWAP3 00003582: DUP3 00003583: PUSH1 0x1f 00003585: LT 00003586: PUSH2 0x359a 00003589: JUMPI 0000358a: DUP1 0000358b: MLOAD 0000358c: PUSH1 0xff 0000358e: NOT 0000358f: AND 00003590: DUP4 00003591: DUP1 00003592: ADD 00003593: OR 00003594: DUP6 00003595: SSTORE 00003596: PUSH2 0x35c8 00003599: JUMP 0000359a: JUMPDEST 0000359b: DUP3 0000359c: DUP1 0000359d: ADD 0000359e: PUSH1 0x01 000035a0: ADD 000035a1: DUP6 000035a2: SSTORE 000035a3: DUP3 000035a4: ISZERO 000035a5: PUSH2 0x35c8 000035a8: JUMPI 000035a9: SWAP2 000035aa: DUP3 000035ab: ADD 000035ac: JUMPDEST 000035ad: DUP3 000035ae: DUP2 000035af: GT 000035b0: ISZERO 000035b1: PUSH2 0x35c7 000035b4: JUMPI 000035b5: DUP3 000035b6: MLOAD 000035b7: DUP3 000035b8: SSTORE 000035b9: SWAP2 000035ba: PUSH1 0x20 000035bc: ADD 000035bd: SWAP2 000035be: SWAP1 000035bf: PUSH1 0x01 000035c1: ADD 000035c2: SWAP1 000035c3: PUSH2 0x35ac 000035c6: JUMP 000035c7: JUMPDEST 000035c8: JUMPDEST 000035c9: POP 000035ca: SWAP1 000035cb: POP 000035cc: PUSH2 0x35d5 000035cf: SWAP2 000035d0: SWAP1 000035d1: PUSH2 0x35d9 000035d4: JUMP 000035d5: JUMPDEST 000035d6: POP 000035d7: SWAP1 000035d8: JUMP 000035d9: JUMPDEST 000035da: PUSH2 0x35fb 000035dd: SWAP2 000035de: SWAP1 000035df: JUMPDEST 000035e0: DUP1 000035e1: DUP3 000035e2: GT 000035e3: ISZERO 000035e4: PUSH2 0x35f7 000035e7: JUMPI 000035e8: PUSH1 0x00 000035ea: DUP2 000035eb: PUSH1 0x00 000035ed: SWAP1 000035ee: SSTORE 000035ef: POP 000035f0: PUSH1 0x01 000035f2: ADD 000035f3: PUSH2 0x35df 000035f6: JUMP 000035f7: JUMPDEST 000035f8: POP 000035f9: SWAP1 000035fa: JUMP 000035fb: JUMPDEST 000035fc: SWAP1 000035fd: JUMP 000035fe: INVALID 000035ff: GASLIMIT 00003600: PUSH15 0x756d657261626c655365743a20696e 00003610: PUSH5 0x6578206f75 00003616: PUSH21 0x206f6620626f756e64734552433732313a20747261 0000362c: PUSH15 0x7366657220746f206e6f6e20455243 0000363c: CALLDATACOPY 0000363d: ORIGIN 0000363e: BALANCE 0000363f: MSTORE 00003640: PUSH6 0x636569766572 00003647: KECCAK256 00003648: PUSH10 0x6d706c656d656e746572 00003653: UNKNOWN(0x4F) 00003654: PUSH24 0x6e61626c653a206e6577206f776e65722069732074686520 0000366d: PUSH27 0x65726f20616464726573734552433732313a207472616e73666572 00003689: KECCAK256 0000368a: PUSH21 0x6f20746865207a65726f2061646472657373416464 000036a0: PUSH19 0x6573733a20696e73756666696369656e742062 000036b4: PUSH2 0x6c61 000036b7: PUSH15 0x636520666f722063616c6c45524337 000036c7: ORIGIN 000036c8: BALANCE 000036c9: GASPRICE 000036ca: KECCAK256 000036cb: PUSH16 0x70657261746f7220717565727920666f 000036dc: PUSH19 0x206e6f6e6578697374656e7420746f6b656e45 000036f0: MSTORE 000036f1: NUMBER 000036f2: CALLDATACOPY 000036f3: ORIGIN 000036f4: BALANCE 000036f5: GASPRICE 000036f6: KECCAK256 000036f7: PUSH2 0x7070 000036fa: PUSH19 0x6f76652063616c6c6572206973206e6f74206f 0000370e: PUSH24 0x6e6572206e6f7220617070726f76656420666f7220616c6c 00003727: GASLIMIT 00003728: MSTORE 00003729: NUMBER 0000372a: CALLDATACOPY 0000372b: ORIGIN 0000372c: BALANCE 0000372d: GASPRICE 0000372e: KECCAK256 0000372f: PUSH3 0x616c61 00003733: PUSH15 0x636520717565727920666f72207468 00003743: PUSH6 0x207a65726f20 0000374a: PUSH2 0x6464 0000374d: PUSH19 0x6573734552433732313a206f776e6572207175 00003761: PUSH6 0x727920666f72 00003768: KECCAK256 00003769: PUSH15 0x6f6e6578697374656e7420746f6b65 00003779: PUSH15 0x456e756d657261626c654d61703a20 00003789: PUSH10 0x6e646578206f7574206f 00003794: PUSH7 0x20626f756e6473 0000379c: GASLIMIT 0000379d: MSTORE 0000379e: NUMBER 0000379f: CALLDATACOPY 000037a0: ORIGIN 000037a1: BALANCE 000037a2: GASPRICE 000037a3: KECCAK256 000037a4: PUSH2 0x7070 000037a7: PUSH19 0x6f76656420717565727920666f72206e6f6e65 000037bb: PUSH25 0x697374656e7420746f6b656e4552433732314d657461646174 000037d5: PUSH2 0x3a20 000037d8: SSTORE 000037d9: MSTORE 000037da: BLOBHASH 000037db: KECCAK256 000037dc: PUSH20 0x6574206f66206e6f6e6578697374656e7420746f 000037f1: PUSH12 0x656e4552433732313a207472 000037fe: PUSH2 0x6e73 00003801: PUSH7 0x6572206f662074 00003809: PUSH16 0x6b656e2074686174206973206e6f7420 0000381a: PUSH16 0x776e4552433732314d65746164617461 0000382b: GASPRICE 0000382c: KECCAK256 0000382d: SSTORE 0000382e: MSTORE 0000382f: BLOBHASH 00003830: KECCAK256 00003831: PUSH18 0x7565727920666f72206e6f6e657869737465 00003844: PUSH15 0x7420746f6b656e4552433732313a20 00003854: PUSH2 0x7070 00003857: PUSH19 0x6f76616c20746f2063757272656e74206f776e 0000386b: PUSH6 0x724552433732 00003872: BALANCE 00003873: GASPRICE 00003874: KECCAK256 00003875: PUSH21 0x72616e736665722063616c6c6572206973206e6f74 0000388b: KECCAK256 0000388c: PUSH16 0x776e6572206e6f7220617070726f7665 0000389d: PUSH5 0xa264697066 000038a3: PUSH20 0x58221220d61a29b563955a20c2538418251a8266 000038b8: MLOAD 000038b9: PUSH29
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | math | codex | Per-Bloot mint cap bypass via balance-based check enables full supply capture | 85 | no | — |
viewevidence_json{
"evidence": "Mint limit is enforced by current balance, not cumulative mints: `require(super.balanceOf(msg.sender) < bloot.balanceOf(msg.sender) * MINT_PER_BLOOT, ...)`",
"locations": [
"contracts/contracts/BlootElves.sol:29",
"contracts/contracts/BlootElves.sol:31"
],
"recommendation": "Track total minted per address (e.g., mapping mintedBy) and enforce mintedBy[msg.sender] < bloot.balanceOf(msg.sender) * MINT_PER_BLOOT; do not reduce mintedBy on transfers. Alternatively, enforce one-time claims per Bloot tokenId.",
"exploit_scenario": "1) Attacker acquires or borrows 1 Bloot in address A. 2) Call requestNewBloot twice to mint 2 BlootElves to A (allowed because A\u2019s BlootElves balance < 2). 3) Transfer the minted BlootElves from A to another address B, reducing A\u2019s BlootElves balance below 2. 4) Repeat steps 2\u20133 to mint additional tokens because the check only looks at current balance, not total minted. 5) Continue until totalSupply reaches MAX_SUPPLY, capturing up to the full 5,000 NFTs and selling them for profit."
}
|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x95d89b41",
"selector": "0x95d89b41",
"calldata_variants": [
"0x95d89b41",
"0x95d89b410000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa22cb465",
"selector": "0xa22cb465",
"calldata_variants": [
"0xa22cb465",
"0xa22cb4650000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb88d4fde",
"selector": "0xb88d4fde",
"calldata_variants": [
"0xb88d4fde",
"0xb88d4fde0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc87b56dd",
"selector": "0xc87b56dd",
"calldata_variants": [
"0xc87b56dd",
"0xc87b56dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe985e9c5",
"selector": "0xe985e9c5",
"calldata_variants": [
"0xe985e9c5",
"0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6352211e",
"selector": "0x6352211e",
"calldata_variants": [
"0x6352211e",
"0x6352211e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6c0360eb",
"selector": "0x6c0360eb",
"calldata_variants": [
"0x6c0360eb",
"0x6c0360eb0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 6189,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 13885,
"type": "tx_origin_used"
},
{
"pc": 14023,
"type": "tx_origin_used"
},
{
"pc": 14067,
"type": "tx_origin_used"
},
{
"pc": 14123,
"type": "tx_origin_used"
},
{
"pc": 14240,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0xb8b2c4f45456ab1e4b019623e1a029685e129a240d93bec3de9196b19ede02c4
call_targets:
0x45c3844dea2e9fe9226524411de6d907188a1a9f
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xb8b2c4f45456ab1e4b019623e1a029685e129a240d93bec3de9196b19ede02c4",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x45c3844dea2e9fe9226524411de6d907188a1a9f"
],
"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": "0x95d89b41",
"selector": "0x95d89b41",
"calldata_variants": [
"0x95d89b41",
"0x95d89b410000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa22cb465",
"selector": "0xa22cb465",
"calldata_variants": [
"0xa22cb465",
"0xa22cb4650000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb88d4fde",
"selector": "0xb88d4fde",
"calldata_variants": [
"0xb88d4fde",
"0xb88d4fde0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc87b56dd",
"selector": "0xc87b56dd",
"calldata_variants": [
"0xc87b56dd",
"0xc87b56dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe985e9c5",
"selector": "0xe985e9c5",
"calldata_variants": [
"0xe985e9c5",
"0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6352211e",
"selector": "0x6352211e",
"calldata_variants": [
"0x6352211e",
"0x6352211e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6c0360eb",
"selector": "0x6c0360eb",
"calldata_variants": [
"0x6c0360eb",
"0x6c0360eb0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 13372,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [
{
"pc": 6189,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 13885,
"type": "tx_origin_used"
},
{
"pc": 14023,
"type": "tx_origin_used"
},
{
"pc": 14067,
"type": "tx_origin_used"
},
{
"pc": 14123,
"type": "tx_origin_used"
},
{
"pc": 14240,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 1
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0xb8b2c4f45456ab1e4b019623e1a029685e129a240d93bec3de9196b19ede02c4
call_targets:
0x45c3844dea2e9fe9226524411de6d907188a1a9f
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xb8b2c4f45456ab1e4b019623e1a029685e129a240d93bec3de9196b19ede02c4",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x45c3844dea2e9fe9226524411de6d907188a1a9f"
],
"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": "0x95d89b41",
"selector": "0x95d89b41",
"calldata_variants": [
"0x95d89b41",
"0x95d89b410000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa22cb465",
"selector": "0xa22cb465",
"calldata_variants": [
"0xa22cb465",
"0xa22cb4650000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb88d4fde",
"selector": "0xb88d4fde",
"calldata_variants": [
"0xb88d4fde",
"0xb88d4fde0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc87b56dd",
"selector": "0xc87b56dd",
"calldata_variants": [
"0xc87b56dd",
"0xc87b56dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe985e9c5",
"selector": "0xe985e9c5",
"calldata_variants": [
"0xe985e9c5",
"0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6352211e",
"selector": "0x6352211e",
"calldata_variants": [
"0x6352211e",
"0x6352211e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6c0360eb",
"selector": "0x6c0360eb",
"calldata_variants": [
"0x6c0360eb",
"0x6c0360eb0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 13372,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": [
{
"pc": 6189,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 13885,
"type": "tx_origin_used"
},
{
"pc": 14023,
"type": "tx_origin_used"
},
{
"pc": 14067,
"type": "tx_origin_used"
},
{
"pc": 14123,
"type": "tx_origin_used"
},
{
"pc": 14240,
"type": "tx_origin_used"
}
]
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 10
}
|