TW
Tripwire
Find contracts. Test them. Review real vulns.

Analysis Run

2d99dc72-3bcb-485a-83e3-942ec19e9eec

complete
Chain ID
1
Address
Block Number
Created
Mon, Dec 29, 2025 12:59 PM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Untrusted CALL target/value reachable
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30484 report.consolidate complete 1 / 1 3 months ago
103763 artifact.fetch complete 1 / 3 1 week ago
103764 tool.cast_disasm complete 1 / 3 1 week ago
103765 analysis.bundle complete 1 / 3 1 week ago
103766 capability.graph complete 1 / 3 1 week ago
103767 detector.run complete 1 / 3 1 week ago
103768 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no
Implementation:
Verified Source: yes

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
1
No findings?
no
Summary
Found 1 medium-severity auth issue related to replayable allowlist signatures.
View stderr
[codex:643895] OpenAI Codex v0.77.0 (research preview)
[codex:643895] --------
[codex:643895] workdir: /tmp/codex-multi-tbxlorfs
[codex:643895] model: gpt-5.2-codex
[codex:643895] provider: openai
[codex:643895] approval: never
[codex:643895] sandbox: read-only
[codex:643895] reasoning effort: xhigh
[codex:643895] reasoning summaries: auto
[codex:643895] session id: 019b6a2e-2f6c-7b21-9ecd-db54f3480b65
[codex:643895] --------
[codex:643895] user
[codex:643895] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:643895] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:643895] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:643895] 
[codex:643895] Scope rules:
[codex:643895] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:643895] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:643895] 
[codex:643895] Output MUST be valid JSON matching the provided schema.
[codex:643895] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:643895] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:643895] 
[codex:643895] Output constraints (IMPORTANT):
[codex:643895] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:643895] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:643895] mcp startup: no servers
[codex:643895] 
[codex:643895] thinking
[codex:643895] **Preparing to read AGENTS skills and audit bundle**
[codex:643895] exec
[codex:643895] /bin/bash -lc ls in /tmp/codex-multi-tbxlorfs succeeded in 5ms:
[codex:643895] AUDIT_BUNDLE.txt
[codex:643895] codex-output-schema.json
[codex:643895] contracts
[codex:643895] 
[codex:643895] thinking
[codex:643895] **Reading AUDIT_BUNDLE file**
[codex:643895] exec
[codex:643895] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-tbxlorfs succeeded in 5ms:
[codex:643895] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:643895] 
[codex:643895] ================================================================================
[codex:643895] FILE: contracts/@openzeppelin/contracts/access/Ownable.sol
[codex:643895] ================================================================================
[codex:643895] // SPDX-License-Identifier: MIT
[codex:643895] // OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)
[codex:643895] 
[codex:643895] pragma solidity ^0.8.0;
[codex:643895] 
[codex:643895] import "../utils/Context.sol";
[codex:643895] 
[codex:643895] /**
[codex:643895]  * @dev Contract module which provides a basic access control mechanism, where
[codex:643895]  * there is an account (an owner) that can be granted exclusive access to
[codex:643895]  * specific functions.
[codex:643895]  *
[codex:643895]  * By default, the owner account will be the one that deploys the contract. This
[codex:643895]  * can later be changed with {transferOwnership}.
[codex:643895]  *
[codex:643895] 
[codex:643895] 
[codex:643895] 
[codex:643895] thinking
[codex:643895] **Analyzing contract security and logic**
[codex:643895] thinking
[codex:643895] **Exploring signature handling and reward logic complexities**
[codex:643895] 
[codex:643895] I’m examining subtle issues around signature replay across contracts due to missing domain separation and the implications of reward calculations involving share counts and token transfers. There’s also an interesting interplay between potential denial-of-service from zero shares and careful handling of token withdrawals and harvests. I’m curious about the effects of reward token flash loans and how the code handles external libraries like Address without explicit imports.
[codex:643895] thinking
[codex:643895] **Evaluating import scope and signature verification details**
[codex:643895] 
[codex:643895] I’m clarifying that indirect imports bring the Address library into scope, so its usage is valid in the contract. I’m also wrapping up analysis of signature verification, focusing on missing domain separation and lack of typed message prefixes that enable signature replay across contracts or chains, which presents a medium severity access control issue. Additionally, I’m considering the practical impact of some minor view-function reverts and contract phase transitions to finalize findings.
[codex:643895] exec
[codex:643895] /bin/bash -lc 'rg --files' in /tmp/codex-multi-tbxlorfs succeeded in 9ms:
[codex:643895] codex-output-schema.json
[codex:643895] AUDIT_BUNDLE.txt
[codex:643895] contracts/contracts/Presale.sol
[codex:643895] contracts/contracts/ITokenStaked.sol
[codex:643895] contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol
[codex:643895] contracts/@openzeppelin/contracts/access/Ownable.sol
[codex:643895] contracts/@openzeppelin/contracts/utils/Strings.sol
[codex:643895] contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol
[codex:643895] contracts/@openzeppelin/contracts/utils/Context.sol
[codex:643895] contracts/@openzeppelin/contracts/utils/Address.sol
[codex:643895] contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol
[codex:643895] contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
[codex:643895] 
[codex:643895] thinking
[codex:643895] **Opening Presale.sol for review**
[codex:643895] exec
[codex:643895] /bin/bash -lc 'nl -ba contracts/contracts/Presale.sol' in /tmp/codex-multi-tbxlorfs succeeded in 7ms:
[codex:643895]      1	// SPDX-License-Identifier: MIT
[codex:643895]      2	
[codex:643895]      3	pragma solidity ^0.8.0;
[codex:643895]      4	pragma abicoder v2;
[codex:643895]      5	
[codex:643895]      6	import '@openzeppelin/contracts/access/Ownable.sol';
[codex:643895]      7	import '@openzeppelin/contracts/security/ReentrancyGuard.sol';
[codex:643895]      8	import '@openzeppelin/contracts/utils/cryptography/ECDSA.sol';
[codex:643895]      9	import '@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol';
[codex:643895]     10	import './ITokenStaked.sol';
[codex:643895]     11	
[codex:643895]     12	contract Presale is Ownable, ReentrancyGuard, ITokenStaked {
[codex:643895]     13	    using SafeERC20 for IERC20;
[codex:643895]     14	
[codex:643895]     15	    enum SalePhase {
[codex:643895]     16	        Sale,
[codex:643895]     17	        SaleOver,
[codex:643895]     18	        Staking
[codex:643895]     19	    }
[codex:643895]     20	
[codex:643895] 
[codex:643895] thinking
[codex:643895] **Verifying JSON schema compliance**
[codex:643895] exec
[codex:643895] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-tbxlorfs succeeded in 5ms:
[codex:643895] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:643895] 
[codex:643895] thinking
[codex:643895] **Preparing JSON vulnerability report**
[codex:643895] codex
[codex:643895] {"no_findings":false,"summary":"Found 1 medium-severity auth issue related to replayable allowlist signatures.","findings":[{"severity":"medium","category":"auth","title":"Allowlist signatures lack domain separation, enabling replay across deployments/chains","exploit_scenario":"A user obtains a whitelist signature for their address from another deployment (e.g., testnet, previous sale, or cloned contract) that uses the same signer keys and message format. Because the signed message only hashes the address, the user can reuse that signature here to pass `deposit` and bypass the intended per-sale whitelist boundary.","recommendation":"Bind the signed message to this contract and chain by including `address(this)`, `block.chainid`, and a sale-specific nonce or identifier, and verify using EIP-712 typed data (or at least `toEthSignedMessageHash`). Consider tracking used signatures if you allow multiple deposits per address in future versions.","evidence":"`deposit` recovers the signer from `keccak256(abi.encode(msg.sender))` and checks it against `signers` without including contract address, chain id, or a nonce.","locations":["contracts/contracts/Presale.sol:114","contracts/contracts/Presale.sol:124","contracts/contracts/Presale.sol:125"]}]}
[codex:643895] tokens used
[codex:643895] 33,606
[codex:643895] {"no_findings":false,"summary":"Found 1 medium-severity auth issue related to replayable allowlist signatures.","findings":[{"severity":"medium","category":"auth","title":"Allowlist signatures lack domain separation, enabling replay across deployments/chains","exploit_scenario":"A user obtains a whitelist signature for their address from another deployment (e.g., testnet, previous sale, or cloned contract) that uses the same signer keys and message format. Because the signed message only hashes the address, the user can reuse that signature here to pass `deposit` and bypass the intended per-sale whitelist boundary.","recommendation":"Bind the signed message to this contract and chain by including `address(this)`, `block.chainid`, and a sale-specific nonce or identifier, and verify using EIP-712 typed data (or at least `toEthSignedMessageHash`). Consider tracking used signatures if you allow multiple deposits per address in future versions.","evidence":"`deposit` recovers the signer from `keccak256(abi.encode(msg.sender))` and checks it against `signers` without including contract address, chain id, or a nonce.","locations":["contracts/contracts/Presale.sol:114","contracts/contracts/Presale.sol:124","contracts/contracts/Presale.sol:125"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-29T12:59:42.420062+00:00",
        "returncode": 0
    },
    "summary": "Found 1 medium-severity auth issue related to replayable allowlist signatures.",
    "raw_final": {
        "summary": "Found 1 medium-severity auth issue related to replayable allowlist signatures.",
        "findings": [
            {
                "title": "Allowlist signatures lack domain separation, enabling replay across deployments/chains",
                "category": "auth",
                "evidence": "`deposit` recovers the signer from `keccak256(abi.encode(msg.sender))` and checks it against `signers` without including contract address, chain id, or a nonce.",
                "severity": "medium",
                "locations": [
                    "contracts/contracts/Presale.sol:114",
                    "contracts/contracts/Presale.sol:124",
                    "contracts/contracts/Presale.sol:125"
                ],
                "recommendation": "Bind the signed message to this contract and chain by including `address(this)`, `block.chainid`, and a sale-specific nonce or identifier, and verify using EIP-712 typed data (or at least `toEthSignedMessageHash`). Consider tracking used signatures if you allow multiple deposits per address in future versions.",
                "exploit_scenario": "A user obtains a whitelist signature for their address from another deployment (e.g., testnet, previous sale, or cloned contract) that uses the same signer keys and message format. Because the signed message only hashes the address, the user can reuse that signature here to pass `deposit` and bypass the intended per-sale whitelist boundary."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
5
EXT*/BALANCE
1
Total opcodes
4984
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x01ae
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x7267994e
00000019: GT
0000001a: PUSH2 0x00ed
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xce9d16fe
00000024: GT
00000025: PUSH2 0x0090
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xce9d16fe
0000002f: EQ
00000030: PUSH2 0x0532
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xdb2e21bc
0000003a: EQ
0000003b: PUSH2 0x0552
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xdf1fb713
00000045: EQ
00000046: PUSH2 0x0567
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xebde5ee6
00000050: EQ
00000051: PUSH2 0x059b
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xec2fc051
0000005b: EQ
0000005c: PUSH2 0x05cf
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xf2fde38b
00000066: EQ
00000067: PUSH2 0x0603
0000006a: JUMPI
0000006b: DUP1
0000006c: PUSH4 0xf40f0f52
00000071: EQ
00000072: PUSH2 0x0623
00000075: JUMPI
00000076: DUP1
00000077: PUSH4 0xf7c618c1
0000007c: EQ
0000007d: PUSH2 0x0643
00000080: JUMPI
00000081: DUP1
00000082: PUSH4 0xfc976827
00000087: EQ
00000088: PUSH2 0x0677
0000008b: JUMPI
0000008c: PUSH1 0x00
0000008e: DUP1
0000008f: REVERT
00000090: JUMPDEST
00000091: DUP1
00000092: PUSH4 0x7267994e
00000097: EQ
00000098: PUSH2 0x03eb
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0x736c0d5b
000000a2: EQ
000000a3: PUSH2 0x03fe
000000a6: JUMPI
000000a7: DUP1
000000a8: PUSH4 0x8337c3c0
000000ad: EQ
000000ae: PUSH2 0x043e
000000b1: JUMPI
000000b2: DUP1
000000b3: PUSH4 0x8da1a403
000000b8: EQ
000000b9: PUSH2 0x0454
000000bc: JUMPI
000000bd: DUP1
000000be: PUSH4 0x8da5cb5b
000000c3: EQ
000000c4: PUSH2 0x0488
000000c7: JUMPI
000000c8: DUP1
000000c9: PUSH4 0xb9bd4730
000000ce: EQ
000000cf: PUSH2 0x04aa
000000d2: JUMPI
000000d3: DUP1
000000d4: PUSH4 0xc031a66f
000000d9: EQ
000000da: PUSH2 0x04de
000000dd: JUMPI
000000de: DUP1
000000df: PUSH4 0xca90c8c6
000000e4: EQ
000000e5: PUSH2 0x04fe
000000e8: JUMPI
000000e9: PUSH1 0x00
000000eb: DUP1
000000ec: REVERT
000000ed: JUMPDEST
000000ee: DUP1
000000ef: PUSH4 0x350b2369
000000f4: GT
000000f5: PUSH2 0x0155
000000f8: JUMPI
000000f9: DUP1
000000fa: PUSH4 0x350b2369
000000ff: EQ
00000100: PUSH2 0x030d
00000103: JUMPI
00000104: DUP1
00000105: PUSH4 0x3ccfd60b
0000010a: EQ
0000010b: PUSH2 0x032d
0000010e: JUMPI
0000010f: DUP1
00000110: PUSH4 0x3e8ff57b
00000115: EQ
00000116: PUSH2 0x0342
00000119: JUMPI
0000011a: DUP1
0000011b: PUSH4 0x4641257d
00000120: EQ
00000121: PUSH2 0x0376
00000124: JUMPI
00000125: DUP1
00000126: PUSH4 0x63b20117
0000012b: EQ
0000012c: PUSH2 0x038b
0000012f: JUMPI
00000130: DUP1
00000131: PUSH4 0x65267139
00000136: EQ
00000137: PUSH2 0x03a1
0000013a: JUMPI
0000013b: DUP1
0000013c: PUSH4 0x6df5ee2b
00000141: EQ
00000142: PUSH2 0x03c1
00000145: JUMPI
00000146: DUP1
00000147: PUSH4 0x715018a6
0000014c: EQ
0000014d: PUSH2 0x03d6
00000150: JUMPI
00000151: PUSH1 0x00
00000153: DUP1
00000154: REVERT
00000155: JUMPDEST
00000156: DUP1
00000157: PUSH4 0x055ad42e
0000015c: EQ
0000015d: PUSH2 0x01b3
00000160: JUMPI
00000161: DUP1
00000162: PUSH4 0x0917e776
00000167: EQ
00000168: PUSH2 0x01e3
0000016b: JUMPI
0000016c: DUP1
0000016d: PUSH4 0x0a122c8a
00000172: EQ
00000173: PUSH2 0x0206
00000176: JUMPI
00000177: DUP1
00000178: PUSH4 0x194bf554
0000017d: EQ
0000017e: PUSH2 0x023a
00000181: JUMPI
00000182: DUP1
00000183: PUSH4 0x1959a002
00000188: EQ
00000189: PUSH2 0x0251
0000018c: JUMPI
0000018d: DUP1
0000018e: PUSH4 0x1c9b1736
00000193: EQ
00000194: PUSH2 0x02ad
00000197: JUMPI
00000198: DUP1
00000199: PUSH4 0x2ce9785f
0000019e: EQ
0000019f: PUSH2 0x02e1
000001a2: JUMPI
000001a3: DUP1
000001a4: PUSH4 0x30188ee8
000001a9: EQ
000001aa: PUSH2 0x02f7
000001ad: JUMPI
000001ae: JUMPDEST
000001af: PUSH1 0x00
000001b1: DUP1
000001b2: REVERT
000001b3: JUMPDEST
000001b4: CALLVALUE
000001b5: DUP1
000001b6: ISZERO
000001b7: PUSH2 0x01bf
000001ba: JUMPI
000001bb: PUSH1 0x00
000001bd: DUP1
000001be: REVERT
000001bf: JUMPDEST
000001c0: POP
000001c1: PUSH1 0x02
000001c3: SLOAD
000001c4: PUSH2 0x01cd
000001c7: SWAP1
000001c8: PUSH1 0xff
000001ca: AND
000001cb: DUP2
000001cc: JUMP
000001cd: JUMPDEST
000001ce: PUSH1 0x40
000001d0: MLOAD
000001d1: PUSH2 0x01da
000001d4: SWAP2
000001d5: SWAP1
000001d6: PUSH2 0x212d
000001d9: JUMP
000001da: JUMPDEST
000001db: PUSH1 0x40
000001dd: MLOAD
000001de: DUP1
000001df: SWAP2
000001e0: SUB
000001e1: SWAP1
000001e2: RETURN
000001e3: JUMPDEST
000001e4: CALLVALUE
000001e5: DUP1
000001e6: ISZERO
000001e7: PUSH2 0x01ef
000001ea: JUMPI
000001eb: PUSH1 0x00
000001ed: DUP1
000001ee: REVERT
000001ef: JUMPDEST
000001f0: POP
000001f1: PUSH2 0x01f8
000001f4: PUSH2 0x06ab
000001f7: JUMP
000001f8: JUMPDEST
000001f9: PUSH1 0x40
000001fb: MLOAD
000001fc: SWAP1
000001fd: DUP2
000001fe: MSTORE
000001ff: PUSH1 0x20
00000201: ADD
00000202: PUSH2 0x01da
00000205: JUMP
00000206: JUMPDEST
00000207: CALLVALUE
00000208: DUP1
00000209: ISZERO
0000020a: PUSH2 0x0212
0000020d: JUMPI
0000020e: PUSH1 0x00
00000210: DUP1
00000211: REVERT
00000212: JUMPDEST
00000213: POP
00000214: PUSH2 0x01f8
00000217: PUSH32 0x0000000000000000000000000000000000000000000000000000000000fc9508
00000238: DUP2
00000239: JUMP
0000023a: JUMPDEST
0000023b: CALLVALUE
0000023c: DUP1
0000023d: ISZERO
0000023e: PUSH2 0x0246
00000241: JUMPI
00000242: PUSH1 0x00
00000244: DUP1
00000245: REVERT
00000246: JUMPDEST
00000247: POP
00000248: PUSH2 0x024f
0000024b: PUSH2 0x070e
0000024e: JUMP
0000024f: JUMPDEST
00000250: STOP
00000251: JUMPDEST
00000252: CALLVALUE
00000253: DUP1
00000254: ISZERO
00000255: PUSH2 0x025d
00000258: JUMPI
00000259: PUSH1 0x00
0000025b: DUP1
0000025c: REVERT
0000025d: JUMPDEST
0000025e: POP
0000025f: PUSH2 0x0290
00000262: PUSH2 0x026c
00000265: CALLDATASIZE
00000266: PUSH1 0x04
00000268: PUSH2 0x2171
0000026b: JUMP
0000026c: JUMPDEST
0000026d: PUSH1 0x08
0000026f: PUSH1 0x20
00000271: MSTORE
00000272: PUSH1 0x00
00000274: SWAP1
00000275: DUP2
00000276: MSTORE
00000277: PUSH1 0x40
00000279: SWAP1
0000027a: KECCAK256
0000027b: DUP1
0000027c: SLOAD
0000027d: PUSH1 0x01
0000027f: DUP3
00000280: ADD
00000281: SLOAD
00000282: PUSH1 0x02
00000284: SWAP1
00000285: SWAP3
00000286: ADD
00000287: SLOAD
00000288: SWAP1
00000289: SWAP2
0000028a: SWAP1
0000028b: PUSH1 0xff
0000028d: AND
0000028e: DUP4
0000028f: JUMP
00000290: JUMPDEST
00000291: PUSH1 0x40
00000293: DUP1
00000294: MLOAD
00000295: SWAP4
00000296: DUP5
00000297: MSTORE
00000298: PUSH1 0x20
0000029a: DUP5
0000029b: ADD
0000029c: SWAP3
0000029d: SWAP1
0000029e: SWAP3
0000029f: MSTORE
000002a0: ISZERO
000002a1: ISZERO
000002a2: SWAP1
000002a3: DUP3
000002a4: ADD
000002a5: MSTORE
000002a6: PUSH1 0x60
000002a8: ADD
000002a9: PUSH2 0x01da
000002ac: JUMP
000002ad: JUMPDEST
000002ae: CALLVALUE
000002af: DUP1
000002b0: ISZERO
000002b1: PUSH2 0x02b9
000002b4: JUMPI
000002b5: PUSH1 0x00
000002b7: DUP1
000002b8: REVERT
000002b9: JUMPDEST
000002ba: POP
000002bb: PUSH2 0x01f8
000002be: PUSH32 0x000000000000000000000000000000000000000000000000000000000023b4a0
000002df: DUP2
000002e0: JUMP
000002e1: JUMPDEST
000002e2: CALLVALUE
000002e3: DUP1
000002e4: ISZERO
000002e5: PUSH2 0x02ed
000002e8: JUMPI
000002e9: PUSH1 0x00
000002eb: DUP1
000002ec: REVERT
000002ed: JUMPDEST
000002ee: POP
000002ef: PUSH2 0x01f8
000002f2: PUSH1 0x06
000002f4: SLOAD
000002f5: DUP2
000002f6: JUMP
000002f7: JUMPDEST
000002f8: CALLVALUE
000002f9: DUP1
000002fa: ISZERO
000002fb: PUSH2 0x0303
000002fe: JUMPI
000002ff: PUSH1 0x00
00000301: DUP1
00000302: REVERT
00000303: JUMPDEST
00000304: POP
00000305: PUSH2 0x01f8
00000308: PUSH1 0x05
0000030a: SLOAD
0000030b: DUP2
0000030c: JUMP
0000030d: JUMPDEST
0000030e: CALLVALUE
0000030f: DUP1
00000310: ISZERO
00000311: PUSH2 0x0319
00000314: JUMPI
00000315: PUSH1 0x00
00000317: DUP1
00000318: REVERT
00000319: JUMPDEST
0000031a: POP
0000031b: PUSH2 0x024f
0000031e: PUSH2 0x0328
00000321: CALLDATASIZE
00000322: PUSH1 0x04
00000324: PUSH2 0x2239
00000327: JUMP
00000328: JUMPDEST
00000329: PUSH2 0x081c
0000032c: JUMP
0000032d: JUMPDEST
0000032e: CALLVALUE
0000032f: DUP1
00000330: ISZERO
00000331: PUSH2 0x0339
00000334: JUMPI
00000335: PUSH1 0x00
00000337: DUP1
00000338: REVERT
00000339: JUMPDEST
0000033a: POP
0000033b: PUSH2 0x024f
0000033e: PUSH2 0x0a04
00000341: JUMP
00000342: JUMPDEST
00000343: CALLVALUE
00000344: DUP1
00000345: ISZERO
00000346: PUSH2 0x034e
00000349: JUMPI
0000034a: PUSH1 0x00
0000034c: DUP1
0000034d: REVERT
0000034e: JUMPDEST
0000034f: POP
00000350: PUSH2 0x01f8
00000353: PUSH32 0x00000000000000000000000000000000000000000000000000000000000003e8
00000374: DUP2
00000375: JUMP
00000376: JUMPDEST
00000377: CALLVALUE
00000378: DUP1
00000379: ISZERO
0000037a: PUSH2 0x0382
0000037d: JUMPI
0000037e: PUSH1 0x00
00000380: DUP1
00000381: REVERT
00000382: JUMPDEST
00000383: POP
00000384: PUSH2 0x024f
00000387: PUSH2 0x0b5f
0000038a: JUMP
0000038b: JUMPDEST
0000038c: CALLVALUE
0000038d: DUP1
0000038e: ISZERO
0000038f: PUSH2 0x0397
00000392: JUMPI
00000393: PUSH1 0x00
00000395: DUP1
00000396: REVERT
00000397: JUMPDEST
00000398: POP
00000399: PUSH2 0x01f8
0000039c: PUSH1 0x04
0000039e: SLOAD
0000039f: DUP2
000003a0: JUMP
000003a1: JUMPDEST
000003a2: CALLVALUE
000003a3: DUP1
000003a4: ISZERO
000003a5: PUSH2 0x03ad
000003a8: JUMPI
000003a9: PUSH1 0x00
000003ab: DUP1
000003ac: REVERT
000003ad: JUMPDEST
000003ae: POP
000003af: PUSH2 0x024f
000003b2: PUSH2 0x03bc
000003b5: CALLDATASIZE
000003b6: PUSH1 0x04
000003b8: PUSH2 0x229d
000003bb: JUMP
000003bc: JUMPDEST
000003bd: PUSH2 0x0cab
000003c0: JUMP
000003c1: JUMPDEST
000003c2: CALLVALUE
000003c3: DUP1
000003c4: ISZERO
000003c5: PUSH2 0x03cd
000003c8: JUMPI
000003c9: PUSH1 0x00
000003cb: DUP1
000003cc: REVERT
000003cd: JUMPDEST
000003ce: POP
000003cf: PUSH2 0x024f
000003d2: PUSH2 0x0e70
000003d5: JUMP
000003d6: JUMPDEST
000003d7: CALLVALUE
000003d8: DUP1
000003d9: ISZERO
000003da: PUSH2 0x03e2
000003dd: JUMPI
000003de: PUSH1 0x00
000003e0: DUP1
000003e1: REVERT
000003e2: JUMPDEST
000003e3: POP
000003e4: PUSH2 0x024f
000003e7: PUSH2 0x1085
000003ea: JUMP
000003eb: JUMPDEST
000003ec: PUSH2 0x024f
000003ef: PUSH2 0x03f9
000003f2: CALLDATASIZE
000003f3: PUSH1 0x04
000003f5: PUSH2 0x22b6
000003f8: JUMP
000003f9: JUMPDEST
000003fa: PUSH2 0x10c0
000003fd: JUMP
000003fe: JUMPDEST
000003ff: CALLVALUE
00000400: DUP1
00000401: ISZERO
00000402: PUSH2 0x040a
00000405: JUMPI
00000406: PUSH1 0x00
00000408: DUP1
00000409: REVERT
0000040a: JUMPDEST
0000040b: POP
0000040c: PUSH2 0x042e
0000040f: PUSH2 0x0419
00000412: CALLDATASIZE
00000413: PUSH1 0x04
00000415: PUSH2 0x2171
00000418: JUMP
00000419: JUMPDEST
0000041a: PUSH1 0x07
0000041c: PUSH1 0x20
0000041e: MSTORE
0000041f: PUSH1 0x00
00000421: SWAP1
00000422: DUP2
00000423: MSTORE
00000424: PUSH1 0x40
00000426: SWAP1
00000427: KECCAK256
00000428: SLOAD
00000429: PUSH1 0xff
0000042b: AND
0000042c: DUP2
0000042d: JUMP
0000042e: JUMPDEST
0000042f: PUSH1 0x40
00000431: MLOAD
00000432: SWAP1
00000433: ISZERO
00000434: ISZERO
00000435: DUP2
00000436: MSTORE
00000437: PUSH1 0x20
00000439: ADD
0000043a: PUSH2 0x01da
0000043d: JUMP
0000043e: JUMPDEST
0000043f: CALLVALUE
00000440: DUP1
00000441: ISZERO
00000442: PUSH2 0x044a
00000445: JUMPI
00000446: PUSH1 0x00
00000448: DUP1
00000449: REVERT
0000044a: JUMPDEST
0000044b: POP
0000044c: PUSH2 0x01f8
0000044f: PUSH1 0x03
00000451: SLOAD
00000452: DUP2
00000453: JUMP
00000454: JUMPDEST
00000455: CALLVALUE
00000456: DUP1
00000457: ISZERO
00000458: PUSH2 0x0460
0000045b: JUMPI
0000045c: PUSH1 0x00
0000045e: DUP1
0000045f: REVERT
00000460: JUMPDEST
00000461: POP
00000462: PUSH2 0x01f8
00000465: PUSH32 0x00000000000000000000000000000000000000000000005150ae84a8cdf00000
00000486: DUP2
00000487: JUMP
00000488: JUMPDEST
00000489: CALLVALUE
0000048a: DUP1
0000048b: ISZERO
0000048c: PUSH2 0x0494
0000048f: JUMPI
00000490: PUSH1 0x00
00000492: DUP1
00000493: REVERT
00000494: JUMPDEST
00000495: POP
00000496: PUSH2 0x049d
00000499: PUSH2 0x13c2
0000049c: JUMP
0000049d: JUMPDEST
0000049e: PUSH1 0x40
000004a0: MLOAD
000004a1: PUSH2 0x01da
000004a4: SWAP2
000004a5: SWAP1
000004a6: PUSH2 0x22f1
000004a9: JUMP
000004aa: JUMPDEST
000004ab: CALLVALUE
000004ac: DUP1
000004ad: ISZERO
000004ae: PUSH2 0x04b6
000004b1: JUMPI
000004b2: PUSH1 0x00
000004b4: DUP1
000004b5: REVERT
000004b6: JUMPDEST
000004b7: POP
000004b8: PUSH2 0x01f8
000004bb: PUSH32 0x00000000000000000000000000000000000000000000032d26d12e980b600000
000004dc: DUP2
000004dd: JUMP
000004de: JUMPDEST
000004df: CALLVALUE
000004e0: DUP1
000004e1: ISZERO
000004e2: PUSH2 0x04ea
000004e5: JUMPI
000004e6: PUSH1 0x00
000004e8: DUP1
000004e9: REVERT
000004ea: JUMPDEST
000004eb: POP
000004ec: PUSH2 0x01f8
000004ef: PUSH2 0x04f9
000004f2: CALLDATASIZE
000004f3: PUSH1 0x04
000004f5: PUSH2 0x2171
000004f8: JUMP
000004f9: JUMPDEST
000004fa: PUSH2 0x13d1
000004fd: JUMP
000004fe: JUMPDEST
000004ff: CALLVALUE
00000500: DUP1
00000501: ISZERO
00000502: PUSH2 0x050a
00000505: JUMPI
00000506: PUSH1 0x00
00000508: DUP1
00000509: REVERT
0000050a: JUMPDEST
0000050b: POP
0000050c: PUSH2 0x01f8
0000050f: PUSH32 0x000000000000000000000000000000000000000000000000000000000002f9b8
00000530: DUP2
00000531: JUMP
00000532: JUMPDEST
00000533: CALLVALUE
00000534: DUP1
00000535: ISZERO
00000536: PUSH2 0x053e
00000539: JUMPI
0000053a: PUSH1 0x00
0000053c: DUP1
0000053d: REVERT
0000053e: JUMPDEST
0000053f: POP
00000540: PUSH2 0x01f8
00000543: PUSH2 0x054d
00000546: CALLDATASIZE
00000547: PUSH1 0x04
00000549: PUSH2 0x2305
0000054c: JUMP
0000054d: JUMPDEST
0000054e: PUSH2 0x13e2
00000551: JUMP
00000552: JUMPDEST
00000553: CALLVALUE
00000554: DUP1
00000555: ISZERO
00000556: PUSH2 0x055e
00000559: JUMPI
0000055a: PUSH1 0x00
0000055c: DUP1
0000055d: REVERT
0000055e: JUMPDEST
0000055f: POP
00000560: PUSH2 0x024f
00000563: PUSH2 0x1443
00000566: JUMP
00000567: JUMPDEST
00000568: CALLVALUE
00000569: DUP1
0000056a: ISZERO
0000056b: PUSH2 0x0573
0000056e: JUMPI
0000056f: PUSH1 0x00
00000571: DUP1
00000572: REVERT
00000573: JUMPDEST
00000574: POP
00000575: PUSH2 0x01f8
00000578: PUSH32 0x00000000000000000000000000000000000000000000000014d1120d7b160000
00000599: DUP2
0000059a: JUMP
0000059b: JUMPDEST
0000059c: CALLVALUE
0000059d: DUP1
0000059e: ISZERO
0000059f: PUSH2 0x05a7
000005a2: JUMPI
000005a3: PUSH1 0x00
000005a5: DUP1
000005a6: REVERT
000005a7: JUMPDEST
000005a8: POP
000005a9: PUSH2 0x049d
000005ac: PUSH32 0x0000000000000000000000001e4ede388cbc9f4b5c79681b7f94d36a11abebc9
000005cd: DUP2
000005ce: JUMP
000005cf: JUMPDEST
000005d0: CALLVALUE
000005d1: DUP1
000005d2: ISZERO
000005d3: PUSH2 0x05db
000005d6: JUMPI
000005d7: PUSH1 0x00
000005d9: DUP1
000005da: REVERT
000005db: JUMPDEST
000005dc: POP
000005dd: PUSH2 0x01f8
000005e0: PUSH32 0x0000000000000000000000000000000000000000000000000000000000d8e068
00000601: DUP2
00000602: JUMP
00000603: JUMPDEST
00000604: CALLVALUE
00000605: DUP1
00000606: ISZERO
00000607: PUSH2 0x060f
0000060a: JUMPI
0000060b: PUSH1 0x00
0000060d: DUP1
0000060e: REVERT
0000060f: JUMPDEST
00000610: POP
00000611: PUSH2 0x024f
00000614: PUSH2 0x061e
00000617: CALLDATASIZE
00000618: PUSH1 0x04
0000061a: PUSH2 0x2171
0000061d: JUMP
0000061e: JUMPDEST
0000061f: PUSH2 0x162b
00000622: JUMP
00000623: JUMPDEST
00000624: CALLVALUE
00000625: DUP1
00000626: ISZERO
00000627: PUSH2 0x062f
0000062a: JUMPI
0000062b: PUSH1 0x00
0000062d: DUP1
0000062e: REVERT
0000062f: JUMPDEST
00000630: POP
00000631: PUSH2 0x01f8
00000634: PUSH2 0x063e
00000637: CALLDATASIZE
00000638: PUSH1 0x04
0000063a: PUSH2 0x2171
0000063d: JUMP
0000063e: JUMPDEST
0000063f: PUSH2 0x16cb
00000642: JUMP
00000643: JUMPDEST
00000644: CALLVALUE
00000645: DUP1
00000646: ISZERO
00000647: PUSH2 0x064f
0000064a: JUMPI
0000064b: PUSH1 0x00
0000064d: DUP1
0000064e: REVERT
0000064f: JUMPDEST
00000650: POP
00000651: PUSH2 0x049d
00000654: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000675: DUP2
00000676: JUMP
00000677: JUMPDEST
00000678: CALLVALUE
00000679: DUP1
0000067a: ISZERO
0000067b: PUSH2 0x0683
0000067e: JUMPI
0000067f: PUSH1 0x00
00000681: DUP1
00000682: REVERT
00000683: JUMPDEST
00000684: POP
00000685: PUSH2 0x01f8
00000688: PUSH32 0x0000000000000000000000000000000000000000000c685fa11e01ec6f000000
000006a9: DUP2
000006aa: JUMP
000006ab: JUMPDEST
000006ac: PUSH1 0x00
000006ae: PUSH32 0x0000000000000000000000000000000000000000000000000000000000d8e068
000006cf: NUMBER
000006d0: LT
000006d1: ISZERO
000006d2: DUP1
000006d3: ISZERO
000006d4: PUSH2 0x06fc
000006d7: JUMPI
000006d8: POP
000006d9: PUSH32 0x0000000000000000000000000000000000000000000000000000000000fc9508
000006fa: NUMBER
000006fb: LT
000006fc: JUMPDEST
000006fd: ISZERO
000006fe: PUSH2 0x0708
00000701: JUMPI
00000702: POP
00000703: PUSH1 0x04
00000705: SLOAD
00000706: SWAP1
00000707: JUMP
00000708: JUMPDEST
00000709: POP
0000070a: PUSH1 0x00
0000070c: SWAP1
0000070d: JUMP
0000070e: JUMPDEST
0000070f: CALLER
00000710: PUSH2 0x0717
00000713: PUSH2 0x13c2
00000716: JUMP
00000717: JUMPDEST
00000718: PUSH1 0x01
0000071a: PUSH1 0x01
0000071c: PUSH1 0xa0
0000071e: SHL
0000071f: SUB
00000720: AND
00000721: EQ
00000722: PUSH2 0x0746
00000725: JUMPI
00000726: PUSH1 0x40
00000728: MLOAD
00000729: PUSH3 0x461bcd
0000072d: PUSH1 0xe5
0000072f: SHL
00000730: DUP2
00000731: MSTORE
00000732: PUSH1 0x04
00000734: ADD
00000735: PUSH2 0x073d
00000738: SWAP1
00000739: PUSH2 0x233a
0000073c: JUMP
0000073d: JUMPDEST
0000073e: PUSH1 0x40
00000740: MLOAD
00000741: DUP1
00000742: SWAP2
00000743: SUB
00000744: SWAP1
00000745: REVERT
00000746: JUMPDEST
00000747: PUSH1 0x02
00000749: PUSH1 0x01
0000074b: SLOAD
0000074c: EQ
0000074d: ISZERO
0000074e: PUSH2 0x0769
00000751: JUMPI
00000752: PUSH1 0x40
00000754: MLOAD
00000755: PUSH3 0x461bcd
00000759: PUSH1 0xe5
0000075b: SHL
0000075c: DUP2
0000075d: MSTORE
0000075e: PUSH1 0x04
00000760: ADD
00000761: PUSH2 0x073d
00000764: SWAP1
00000765: PUSH2 0x236f
00000768: JUMP
00000769: JUMPDEST
0000076a: PUSH1 0x02
0000076c: PUSH1 0x01
0000076e: SWAP1
0000076f: DUP2
00000770: SSTORE
00000771: PUSH1 0x02
00000773: DUP1
00000774: SLOAD
00000775: PUSH1 0xff
00000777: AND
00000778: SWAP1
00000779: DUP2
0000077a: GT
0000077b: ISZERO
0000077c: PUSH2 0x0787
0000077f: JUMPI
00000780: PUSH2 0x0787
00000783: PUSH2 0x2117
00000786: JUMP
00000787: JUMPDEST
00000788: EQ
00000789: PUSH2 0x07d4
0000078c: JUMPI
0000078d: PUSH1 0x40
0000078f: MLOAD
00000790: PUSH3 0x461bcd
00000794: PUSH1 0xe5
00000796: SHL
00000797: DUP2
00000798: MSTORE
00000799: PUSH1 0x20
0000079b: PUSH1 0x04
0000079d: DUP3
0000079e: ADD
0000079f: MSTORE
000007a0: PUSH1 0x1d
000007a2: PUSH1 0x24
000007a4: DUP3
000007a5: ADD
000007a6: MSTORE
000007a7: PUSH32 0x4f776e65723a205068617365206d7573742062652053616c654f766572000000
000007c8: PUSH1 0x44
000007ca: DUP3
000007cb: ADD
000007cc: MSTORE
000007cd: PUSH1 0x64
000007cf: ADD
000007d0: PUSH2 0x073d
000007d3: JUMP
000007d4: JUMPDEST
000007d5: PUSH1 0x02
000007d7: DUP1
000007d8: SLOAD
000007d9: PUSH1 0xff
000007db: NOT
000007dc: AND
000007dd: DUP2
000007de: OR
000007df: DUP2
000007e0: SSTORE
000007e1: PUSH1 0x40
000007e3: MLOAD
000007e4: PUSH32 0x31f72b44f546d9e7eaec13f65636997665e15f134a81c82924f568f5c0d07b93
00000805: SWAP2
00000806: PUSH2 0x080e
00000809: SWAP2
0000080a: PUSH2 0x212d
0000080d: JUMP
0000080e: JUMPDEST
0000080f: PUSH1 0x40
00000811: MLOAD
00000812: DUP1
00000813: SWAP2
00000814: SUB
00000815: SWAP1
00000816: LOG1
00000817: PUSH1 0x01
00000819: DUP1
0000081a: SSTORE
0000081b: JUMP
0000081c: JUMPDEST
0000081d: CALLER
0000081e: PUSH2 0x0825
00000821: PUSH2 0x13c2
00000824: JUMP
00000825: JUMPDEST
00000826: PUSH1 0x01
00000828: PUSH1 0x01
0000082a: PUSH1 0xa0
0000082c: SHL
0000082d: SUB
0000082e: AND
0000082f: EQ
00000830: PUSH2 0x084b
00000833: JUMPI
00000834: PUSH1 0x40
00000836: MLOAD
00000837: PUSH3 0x461bcd
0000083b: PUSH1 0xe5
0000083d: SHL
0000083e: DUP2
0000083f: MSTORE
00000840: PUSH1 0x04
00000842: ADD
00000843: PUSH2 0x073d
00000846: SWAP1
00000847: PUSH2 0x233a
0000084a: JUMP
0000084b: JUMPDEST
0000084c: PUSH1 0x00
0000084e: JUMPDEST
0000084f: DUP3
00000850: MLOAD
00000851: DUP2
00000852: LT
00000853: ISZERO
00000854: PUSH2 0x0929
00000857: JUMPI
00000858: PUSH1 0x01
0000085a: PUSH1 0x07
0000085c: PUSH1 0x00
0000085e: DUP6
0000085f: DUP5
00000860: DUP2
00000861: MLOAD
00000862: DUP2
00000863: LT
00000864: PUSH2 0x086f
00000867: JUMPI
00000868: PUSH2 0x086f
0000086b: PUSH2 0x23a6
0000086e: JUMP
0000086f: JUMPDEST
00000870: PUSH1 0x20
00000872: MUL
00000873: PUSH1 0x20
00000875: ADD
00000876: ADD
00000877: MLOAD
00000878: PUSH1 0x01
0000087a: PUSH1 0x01
0000087c: PUSH1 0xa0
0000087e: SHL
0000087f: SUB
00000880: AND
00000881: PUSH1 0x01
00000883: PUSH1 0x01
00000885: PUSH1 0xa0
00000887: SHL
00000888: SUB
00000889: AND
0000088a: DUP2
0000088b: MSTORE
0000088c: PUSH1 0x20
0000088e: ADD
0000088f: SWAP1
00000890: DUP2
00000891: MSTORE
00000892: PUSH1 0x20
00000894: ADD
00000895: PUSH1 0x00
00000897: KECCAK256
00000898: PUSH1 0x00
0000089a: PUSH2 0x0100
0000089d: EXP
0000089e: DUP2
0000089f: SLOAD
000008a0: DUP2
000008a1: PUSH1 0xff
000008a3: MUL
000008a4: NOT
000008a5: AND
000008a6: SWAP1
000008a7: DUP4
000008a8: ISZERO
000008a9: ISZERO
000008aa: MUL
000008ab: OR
000008ac: SWAP1
000008ad: SSTORE
000008ae: POP
000008af: PUSH32 0xc648f6265408cc54c0dc26d24ba51dfc9f35ce1a63baa2228f65d93aaf11cc67
000008d0: DUP4
000008d1: DUP3
000008d2: DUP2
000008d3: MLOAD
000008d4: DUP2
000008d5: LT
000008d6: PUSH2 0x08e1
000008d9: JUMPI
000008da: PUSH2 0x08e1
000008dd: PUSH2 0x23a6
000008e0: JUMP
000008e1: JUMPDEST
000008e2: PUSH1 0x20
000008e4: MUL
000008e5: PUSH1 0x20
000008e7: ADD
000008e8: ADD
000008e9: MLOAD
000008ea: PUSH1 0x00
000008ec: PUSH1 0x40
000008ee: MLOAD
000008ef: PUSH2 0x090f
000008f2: SWAP3
000008f3: SWAP2
000008f4: SWAP1
000008f5: PUSH1 0x01
000008f7: PUSH1 0x01
000008f9: PUSH1 0xa0
000008fb: SHL
000008fc: SUB
000008fd: SWAP3
000008fe: SWAP1
000008ff: SWAP3
00000900: AND
00000901: DUP3
00000902: MSTORE
00000903: ISZERO
00000904: ISZERO
00000905: PUSH1 0x20
00000907: DUP3
00000908: ADD
00000909: MSTORE
0000090a: PUSH1 0x40
0000090c: ADD
0000090d: SWAP1
0000090e: JUMP
0000090f: JUMPDEST
00000910: PUSH1 0x40
00000912: MLOAD
00000913: DUP1
00000914: SWAP2
00000915: SUB
00000916: SWAP1
00000917: LOG1
00000918: DUP1
00000919: PUSH2 0x0921
0000091c: DUP2
0000091d: PUSH2 0x23d2
00000920: JUMP
00000921: JUMPDEST
00000922: SWAP2
00000923: POP
00000924: POP
00000925: PUSH2 0x084e
00000928: JUMP
00000929: JUMPDEST
0000092a: POP
0000092b: PUSH1 0x00
0000092d: JUMPDEST
0000092e: DUP2
0000092f: MLOAD
00000930: DUP2
00000931: LT
00000932: ISZERO
00000933: PUSH2 0x09ff
00000936: JUMPI
00000937: PUSH1 0x07
00000939: PUSH1 0x00
0000093b: DUP4
0000093c: DUP4
0000093d: DUP2
0000093e: MLOAD
0000093f: DUP2
00000940: LT
00000941: PUSH2 0x094c
00000944: JUMPI
00000945: PUSH2 0x094c
00000948: PUSH2 0x23a6
0000094b: JUMP
0000094c: JUMPDEST
0000094d: PUSH1 0x20
0000094f: MUL
00000950: PUSH1 0x20
00000952: ADD
00000953: ADD
00000954: MLOAD
00000955: PUSH1 0x01
00000957: PUSH1 0x01
00000959: PUSH1 0xa0
0000095b: SHL
0000095c: SUB
0000095d: AND
0000095e: PUSH1 0x01
00000960: PUSH1 0x01
00000962: PUSH1 0xa0
00000964: SHL
00000965: SUB
00000966: AND
00000967: DUP2
00000968: MSTORE
00000969: PUSH1 0x20
0000096b: ADD
0000096c: SWAP1
0000096d: DUP2
0000096e: MSTORE
0000096f: PUSH1 0x20
00000971: ADD
00000972: PUSH1 0x00
00000974: KECCAK256
00000975: PUSH1 0x00
00000977: PUSH2 0x0100
0000097a: EXP
0000097b: DUP2
0000097c: SLOAD
0000097d: SWAP1
0000097e: PUSH1 0xff
00000980: MUL
00000981: NOT
00000982: AND
00000983: SWAP1
00000984: SSTORE
00000985: PUSH32 0xc648f6265408cc54c0dc26d24ba51dfc9f35ce1a63baa2228f65d93aaf11cc67
000009a6: DUP3
000009a7: DUP3
000009a8: DUP2
000009a9: MLOAD
000009aa: DUP2
000009ab: LT
000009ac: PUSH2 0x09b7
000009af: JUMPI
000009b0: PUSH2 0x09b7
000009b3: PUSH2 0x23a6
000009b6: JUMP
000009b7: JUMPDEST
000009b8: PUSH1 0x20
000009ba: MUL
000009bb: PUSH1 0x20
000009bd: ADD
000009be: ADD
000009bf: MLOAD
000009c0: PUSH1 0x01
000009c2: PUSH1 0x40
000009c4: MLOAD
000009c5: PUSH2 0x09e5
000009c8: SWAP3
000009c9: SWAP2
000009ca: SWAP1
000009cb: PUSH1 0x01
000009cd: PUSH1 0x01
000009cf: PUSH1 0xa0
000009d1: SHL
000009d2: SUB
000009d3: SWAP3
000009d4: SWAP1
000009d5: SWAP3
000009d6: AND
000009d7: DUP3
000009d8: MSTORE
000009d9: ISZERO
000009da: ISZERO
000009db: PUSH1 0x20
000009dd: DUP3
000009de: ADD
000009df: MSTORE
000009e0: PUSH1 0x40
000009e2: ADD
000009e3: SWAP1
000009e4: JUMP
000009e5: JUMPDEST
000009e6: PUSH1 0x40
000009e8: MLOAD
000009e9: DUP1
000009ea: SWAP2
000009eb: SUB
000009ec: SWAP1
000009ed: LOG1
000009ee: DUP1
000009ef: PUSH2 0x09f7
000009f2: DUP2
000009f3: PUSH2 0x23d2
000009f6: JUMP
000009f7: JUMPDEST
000009f8: SWAP2
000009f9: POP
000009fa: POP
000009fb: PUSH2 0x092d
000009fe: JUMP
000009ff: JUMPDEST
00000a00: POP
00000a01: POP
00000a02: POP
00000a03: JUMP
00000a04: JUMPDEST
00000a05: PUSH1 0x02
00000a07: PUSH1 0x01
00000a09: SLOAD
00000a0a: EQ
00000a0b: ISZERO
00000a0c: PUSH2 0x0a27
00000a0f: JUMPI
00000a10: PUSH1 0x40
00000a12: MLOAD
00000a13: PUSH3 0x461bcd
00000a17: PUSH1 0xe5
00000a19: SHL
00000a1a: DUP2
00000a1b: MSTORE
00000a1c: PUSH1 0x04
00000a1e: ADD
00000a1f: PUSH2 0x073d
00000a22: SWAP1
00000a23: PUSH2 0x236f
00000a26: JUMP
00000a27: JUMPDEST
00000a28: PUSH1 0x02
00000a2a: PUSH1 0x01
00000a2c: DUP2
00000a2d: SWAP1
00000a2e: SSTORE
00000a2f: DUP1
00000a30: SLOAD
00000a31: PUSH1 0xff
00000a33: AND
00000a34: DUP2
00000a35: DUP2
00000a36: GT
00000a37: ISZERO
00000a38: PUSH2 0x0a43
00000a3b: JUMPI
00000a3c: PUSH2 0x0a43
00000a3f: PUSH2 0x2117
00000a42: JUMP
00000a43: JUMPDEST
00000a44: EQ
00000a45: PUSH2 0x0a60
00000a48: JUMPI
00000a49: PUSH1 0x40
00000a4b: MLOAD
00000a4c: PUSH3 0x461bcd
00000a50: PUSH1 0xe5
00000a52: SHL
00000a53: DUP2
00000a54: MSTORE
00000a55: PUSH1 0x04
00000a57: ADD
00000a58: PUSH2 0x073d
00000a5b: SWAP1
00000a5c: PUSH2 0x23ed
00000a5f: JUMP
00000a60: JUMPDEST
00000a61: CALLER
00000a62: PUSH1 0x00
00000a64: SWAP1
00000a65: DUP2
00000a66: MSTORE
00000a67: PUSH1 0x08
00000a69: PUSH1 0x20
00000a6b: MSTORE
00000a6c: PUSH1 0x40
00000a6e: SWAP1
00000a6f: KECCAK256
00000a70: PUSH1 0x02
00000a72: ADD
00000a73: SLOAD
00000a74: PUSH1 0xff
00000a76: AND
00000a77: PUSH2 0x0a92
00000a7a: JUMPI
00000a7b: PUSH1 0x40
00000a7d: MLOAD
00000a7e: PUSH3 0x461bcd
00000a82: PUSH1 0xe5
00000a84: SHL
00000a85: DUP2
00000a86: MSTORE
00000a87: PUSH1 0x04
00000a89: ADD
00000a8a: PUSH2 0x073d
00000a8d: SWAP1
00000a8e: PUSH2 0x2424
00000a91: JUMP
00000a92: JUMPDEST
00000a93: PUSH1 0x00
00000a95: PUSH2 0x0a9d
00000a98: CALLER
00000a99: PUSH2 0x16e2
00000a9c: JUMP
00000a9d: JUMPDEST
00000a9e: SWAP1
00000a9f: POP
00000aa0: PUSH1 0x00
00000aa2: DUP2
00000aa3: GT
00000aa4: PUSH2 0x0abf
00000aa7: JUMPI
00000aa8: PUSH1 0x40
00000aaa: MLOAD
00000aab: PUSH3 0x461bcd
00000aaf: PUSH1 0xe5
00000ab1: SHL
00000ab2: DUP2
00000ab3: MSTORE
00000ab4: PUSH1 0x04
00000ab6: ADD
00000ab7: PUSH2 0x073d
00000aba: SWAP1
00000abb: PUSH2 0x245b
00000abe: JUMP
00000abf: JUMPDEST
00000ac0: PUSH2 0x0ac8
00000ac3: CALLER
00000ac4: PUSH2 0x181e
00000ac7: JUMP
00000ac8: JUMPDEST
00000ac9: POP
00000aca: CALLER
00000acb: PUSH1 0x00
00000acd: SWAP1
00000ace: DUP2
00000acf: MSTORE
00000ad0: PUSH1 0x08
00000ad2: PUSH1 0x20
00000ad4: MSTORE
00000ad5: PUSH1 0x40
00000ad7: DUP2
00000ad8: KECCAK256
00000ad9: DUP1
00000ada: SLOAD
00000adb: DUP4
00000adc: SWAP3
00000add: SWAP1
00000ade: PUSH2 0x0ae8
00000ae1: SWAP1
00000ae2: DUP5
00000ae3: SWAP1
00000ae4: PUSH2 0x2492
00000ae7: JUMP
00000ae8: JUMPDEST
00000ae9: SWAP1
00000aea: SWAP2
00000aeb: SSTORE
00000aec: POP
00000aed: PUSH2 0x0b22
00000af0: SWAP1
00000af1: POP
00000af2: PUSH1 0x01
00000af4: PUSH1 0x01
00000af6: PUSH1 0xa0
00000af8: SHL
00000af9: SUB
00000afa: PUSH32 0x0000000000000000000000001e4ede388cbc9f4b5c79681b7f94d36a11abebc9
00000b1b: AND
00000b1c: CALLER
00000b1d: DUP4
00000b1e: PUSH2 0x18e4
00000b21: JUMP
00000b22: JUMPDEST
00000b23: PUSH1 0x40
00000b25: MLOAD
00000b26: DUP2
00000b27: DUP2
00000b28: MSTORE
00000b29: CALLER
00000b2a: SWAP1
00000b2b: PUSH32 0x884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364
00000b4c: SWAP1
00000b4d: PUSH1 0x20
00000b4f: ADD
00000b50: JUMPDEST
00000b51: PUSH1 0x40
00000b53: MLOAD
00000b54: DUP1
00000b55: SWAP2
00000b56: SUB
00000b57: SWAP1
00000b58: LOG2
00000b59: POP
00000b5a: PUSH1 0x01
00000b5c: DUP1
00000b5d: SSTORE
00000b5e: JUMP
00000b5f: JUMPDEST
00000b60: PUSH1 0x02
00000b62: PUSH1 0x01
00000b64: SLOAD
00000b65: EQ
00000b66: ISZERO
00000b67: PUSH2 0x0b82
00000b6a: JUMPI
00000b6b: PUSH1 0x40
00000b6d: MLOAD
00000b6e: PUSH3 0x461bcd
00000b72: PUSH1 0xe5
00000b74: SHL
00000b75: DUP2
00000b76: MSTORE
00000b77: PUSH1 0x04
00000b79: ADD
00000b7a: PUSH2 0x073d
00000b7d: SWAP1
00000b7e: PUSH2 0x236f
00000b81: JUMP
00000b82: JUMPDEST
00000b83: PUSH1 0x02
00000b85: PUSH1 0x01
00000b87: DUP2
00000b88: SWAP1
00000b89: SSTORE
00000b8a: DUP1
00000b8b: SLOAD
00000b8c: PUSH1 0xff
00000b8e: AND
00000b8f: DUP2
00000b90: DUP2
00000b91: GT
00000b92: ISZERO
00000b93: PUSH2 0x0b9e
00000b96: JUMPI
00000b97: PUSH2 0x0b9e
00000b9a: PUSH2 0x2117
00000b9d: JUMP
00000b9e: JUMPDEST
00000b9f: EQ
00000ba0: PUSH2 0x0beb
00000ba3: JUMPI
00000ba4: PUSH1 0x40
00000ba6: MLOAD
00000ba7: PUSH3 0x461bcd
00000bab: PUSH1 0xe5
00000bad: SHL
00000bae: DUP2
00000baf: MSTORE
00000bb0: PUSH1 0x20
00000bb2: PUSH1 0x04
00000bb4: DUP3
00000bb5: ADD
00000bb6: MSTORE
00000bb7: PUSH1 0x1e
00000bb9: PUSH1 0x24
00000bbb: DUP3
00000bbc: ADD
00000bbd: MSTORE
00000bbe: PUSH32 0x486172766573743a205068617365206d757374206265205374616b696e670000
00000bdf: PUSH1 0x44
00000be1: DUP3
00000be2: ADD
00000be3: MSTORE
00000be4: PUSH1 0x64
00000be6: ADD
00000be7: PUSH2 0x073d
00000bea: JUMP
00000beb: JUMPDEST
00000bec: CALLER
00000bed: PUSH1 0x00
00000bef: SWAP1
00000bf0: DUP2
00000bf1: MSTORE
00000bf2: PUSH1 0x08
00000bf4: PUSH1 0x20
00000bf6: MSTORE
00000bf7: PUSH1 0x40
00000bf9: SWAP1
00000bfa: KECCAK256
00000bfb: PUSH1 0x02
00000bfd: ADD
00000bfe: SLOAD
00000bff: PUSH1 0xff
00000c01: AND
00000c02: PUSH2 0x0c4d
00000c05: JUMPI
00000c06: PUSH1 0x40
00000c08: MLOAD
00000c09: PUSH3 0x461bcd
00000c0d: PUSH1 0xe5
00000c0f: SHL
00000c10: DUP2
00000c11: MSTORE
00000c12: PUSH1 0x20
00000c14: PUSH1 0x04
00000c16: DUP3
00000c17: ADD
00000c18: MSTORE
00000c19: PUSH1 0x1a
00000c1b: PUSH1 0x24
00000c1d: DUP3
00000c1e: ADD
00000c1f: MSTORE
00000c20: PUSH32 0x486172766573743a2055736572206e6f7420656c696769626c65000000000000
00000c41: PUSH1 0x44
00000c43: DUP3
00000c44: ADD
00000c45: MSTORE
00000c46: PUSH1 0x64
00000c48: ADD
00000c49: PUSH2 0x073d
00000c4c: JUMP
00000c4d: JUMPDEST
00000c4e: PUSH1 0x00
00000c50: PUSH2 0x0c58
00000c53: CALLER
00000c54: PUSH2 0x181e
00000c57: JUMP
00000c58: JUMPDEST
00000c59: GT
00000c5a: PUSH2 0x0ca5
00000c5d: JUMPI
00000c5e: PUSH1 0x40
00000c60: MLOAD
00000c61: PUSH3 0x461bcd
00000c65: PUSH1 0xe5
00000c67: SHL
00000c68: DUP2
00000c69: MSTORE
00000c6a: PUSH1 0x20
00000c6c: PUSH1 0x04
00000c6e: DUP3
00000c6f: ADD
00000c70: MSTORE
00000c71: PUSH1 0x1a
00000c73: PUSH1 0x24
00000c75: DUP3
00000c76: ADD
00000c77: MSTORE
00000c78: PUSH32 0x486172766573743a204e6f2070656e64696e6720726577617264000000000000
00000c99: PUSH1 0x44
00000c9b: DUP3
00000c9c: ADD
00000c9d: MSTORE
00000c9e: PUSH1 0x64
00000ca0: ADD
00000ca1: PUSH2 0x073d
00000ca4: JUMP
00000ca5: JUMPDEST
00000ca6: PUSH1 0x01
00000ca8: DUP1
00000ca9: SSTORE
00000caa: JUMP
00000cab: JUMPDEST
00000cac: CALLER
00000cad: PUSH2 0x0cb4
00000cb0: PUSH2 0x13c2
00000cb3: JUMP
00000cb4: JUMPDEST
00000cb5: PUSH1 0x01
00000cb7: PUSH1 0x01
00000cb9: PUSH1 0xa0
00000cbb: SHL
00000cbc: SUB
00000cbd: AND
00000cbe: EQ
00000cbf: PUSH2 0x0cda
00000cc2: JUMPI
00000cc3: PUSH1 0x40
00000cc5: MLOAD
00000cc6: PUSH3 0x461bcd
00000cca: PUSH1 0xe5
00000ccc: SHL
00000ccd: DUP2
00000cce: MSTORE
00000ccf: PUSH1 0x04
00000cd1: ADD
00000cd2: PUSH2 0x073d
00000cd5: SWAP1
00000cd6: PUSH2 0x233a
00000cd9: JUMP
00000cda: JUMPDEST
00000cdb: PUSH1 0x02
00000cdd: PUSH1 0x01
00000cdf: SLOAD
00000ce0: EQ
00000ce1: ISZERO
00000ce2: PUSH2 0x0cfd
00000ce5: JUMPI
00000ce6: PUSH1 0x40
00000ce8: MLOAD
00000ce9: PUSH3 0x461bcd
00000ced: PUSH1 0xe5
00000cef: SHL
00000cf0: DUP2
00000cf1: MSTORE
00000cf2: PUSH1 0x04
00000cf4: ADD
00000cf5: PUSH2 0x073d
00000cf8: SWAP1
00000cf9: PUSH2 0x236f
00000cfc: JUMP
00000cfd: JUMPDEST
00000cfe: PUSH1 0x02
00000d00: PUSH1 0x01
00000d02: SSTORE
00000d03: PUSH2 0x0d4c
00000d06: PUSH32 0x000000000000000000000000000000000000000000000000000000000002f9b8
00000d27: PUSH32 0x0000000000000000000000000000000000000000000000000000000000fc9508
00000d48: PUSH2 0x2492
00000d4b: JUMP
00000d4c: JUMPDEST
00000d4d: NUMBER
00000d4e: GT
00000d4f: PUSH2 0x0da4
00000d52: JUMPI
00000d53: PUSH1 0x40
00000d55: MLOAD
00000d56: PUSH3 0x461bcd
00000d5a: PUSH1 0xe5
00000d5c: SHL
00000d5d: DUP2
00000d5e: MSTORE
00000d5f: PUSH1 0x20
00000d61: PUSH1 0x04
00000d63: DUP3
00000d64: ADD
00000d65: MSTORE
00000d66: PUSH1 0x21
00000d68: PUSH1 0x24
00000d6a: DUP3
00000d6b: ADD
00000d6c: MSTORE
00000d6d: PUSH32 0x4f776e65723a207374616b696e672068617665206e6f7420656e646564207965
00000d8e: PUSH1 0x44
00000d90: DUP3
00000d91: ADD
00000d92: MSTORE
00000d93: PUSH1 0x1d
00000d95: PUSH1 0xfa
00000d97: SHL
00000d98: PUSH1 0x64
00000d9a: DUP3
00000d9b: ADD
00000d9c: MSTORE
00000d9d: PUSH1 0x84
00000d9f: ADD
00000da0: PUSH2 0x073d
00000da3: JUMP
00000da4: JUMPDEST
00000da5: PUSH1 0x00
00000da7: DUP2
00000da8: GT
00000da9: PUSH2 0x0dea
00000dac: JUMPI
00000dad: PUSH1 0x40
00000daf: MLOAD
00000db0: PUSH3 0x461bcd
00000db4: PUSH1 0xe5
00000db6: SHL
00000db7: DUP2
00000db8: MSTORE
00000db9: PUSH1 0x20
00000dbb: PUSH1 0x04
00000dbd: DUP3
00000dbe: ADD
00000dbf: MSTORE
00000dc0: PUSH1 0x13
00000dc2: PUSH1 0x24
00000dc4: DUP3
00000dc5: ADD
00000dc6: MSTORE
00000dc7: PUSH19 0x04f776e65723a207769746864726177203e203
00000ddb: PUSH1 0x6c
00000ddd: SHL
00000dde: PUSH1 0x44
00000de0: DUP3
00000de1: ADD
00000de2: MSTORE
00000de3: PUSH1 0x64
00000de5: ADD
00000de6: PUSH2 0x073d
00000de9: JUMP
00000dea: JUMPDEST
00000deb: DUP1
00000dec: PUSH1 0x06
00000dee: PUSH1 0x00
00000df0: DUP3
00000df1: DUP3
00000df2: SLOAD
00000df3: PUSH2 0x0dfc
00000df6: SWAP2
00000df7: SWAP1
00000df8: PUSH2 0x2492
00000dfb: JUMP
00000dfc: JUMPDEST
00000dfd: SWAP1
00000dfe: SWAP2
00000dff: SSTORE
00000e00: POP
00000e01: PUSH2 0x0e36
00000e04: SWAP1
00000e05: POP
00000e06: PUSH1 0x01
00000e08: PUSH1 0x01
00000e0a: PUSH1 0xa0
00000e0c: SHL
00000e0d: SUB
00000e0e: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000e2f: AND
00000e30: CALLER
00000e31: DUP4
00000e32: PUSH2 0x18e4
00000e35: JUMP
00000e36: JUMPDEST
00000e37: PUSH1 0x40
00000e39: MLOAD
00000e3a: DUP2
00000e3b: DUP2
00000e3c: MSTORE
00000e3d: PUSH32 0xf1b96db22d7f3eb7ef19d9ddbc4d63be139f5d014216d4e42107e10cfd4ff16c
00000e5e: SWAP1
00000e5f: PUSH1 0x20
00000e61: ADD
00000e62: PUSH1 0x40
00000e64: MLOAD
00000e65: DUP1
00000e66: SWAP2
00000e67: SUB
00000e68: SWAP1
00000e69: LOG1
00000e6a: POP
00000e6b: PUSH1 0x01
00000e6d: DUP1
00000e6e: SSTORE
00000e6f: JUMP
00000e70: JUMPDEST
00000e71: CALLER
00000e72: PUSH2 0x0e79
00000e75: PUSH2 0x13c2
00000e78: JUMP
00000e79: JUMPDEST
00000e7a: PUSH1 0x01
00000e7c: PUSH1 0x01
00000e7e: PUSH1 0xa0
00000e80: SHL
00000e81: SUB
00000e82: AND
00000e83: EQ
00000e84: PUSH2 0x0e9f
00000e87: JUMPI
00000e88: PUSH1 0x40
00000e8a: MLOAD
00000e8b: PUSH3 0x461bcd
00000e8f: PUSH1 0xe5
00000e91: SHL
00000e92: DUP2
00000e93: MSTORE
00000e94: PUSH1 0x04
00000e96: ADD
00000e97: PUSH2 0x073d
00000e9a: SWAP1
00000e9b: PUSH2 0x233a
00000e9e: JUMP
00000e9f: JUMPDEST
00000ea0: PUSH1 0x02
00000ea2: PUSH1 0x01
00000ea4: SLOAD
00000ea5: EQ
00000ea6: ISZERO
00000ea7: PUSH2 0x0ec2
00000eaa: JUMPI
00000eab: PUSH1 0x40
00000ead: MLOAD
00000eae: PUSH3 0x461bcd
00000eb2: PUSH1 0xe5
00000eb4: SHL
00000eb5: DUP2
00000eb6: MSTORE
00000eb7: PUSH1 0x04
00000eb9: ADD
00000eba: PUSH2 0x073d
00000ebd: SWAP1
00000ebe: PUSH2 0x236f
00000ec1: JUMP
00000ec2: JUMPDEST
00000ec3: PUSH1 0x02
00000ec5: PUSH1 0x01
00000ec7: SSTORE
00000ec8: PUSH1 0x00
00000eca: PUSH1 0x02
00000ecc: DUP1
00000ecd: SLOAD
00000ece: PUSH1 0xff
00000ed0: AND
00000ed1: SWAP1
00000ed2: DUP2
00000ed3: GT
00000ed4: ISZERO
00000ed5: PUSH2 0x0ee0
00000ed8: JUMPI
00000ed9: PUSH2 0x0ee0
00000edc: PUSH2 0x2117
00000edf: JUMP
00000ee0: JUMPDEST
00000ee1: EQ
00000ee2: PUSH2 0x0f29
00000ee5: JUMPI
00000ee6: PUSH1 0x40
00000ee8: MLOAD
00000ee9: PUSH3 0x461bcd
00000eed: PUSH1 0xe5
00000eef: SHL
00000ef0: DUP2
00000ef1: MSTORE
00000ef2: PUSH1 0x20
00000ef4: PUSH1 0x04
00000ef6: DUP3
00000ef7: ADD
00000ef8: MSTORE
00000ef9: PUSH1 0x19
00000efb: PUSH1 0x24
00000efd: DUP3
00000efe: ADD
00000eff: MSTORE
00000f00: PUSH25 0x4f776e65723a205068617365206d7573742062652053616c65
00000f1a: PUSH1 0x38
00000f1c: SHL
00000f1d: PUSH1 0x44
00000f1f: DUP3
00000f20: ADD
00000f21: MSTORE
00000f22: PUSH1 0x64
00000f24: ADD
00000f25: PUSH2 0x073d
00000f28: JUMP
00000f29: JUMPDEST
00000f2a: SELFBALANCE
00000f2b: PUSH2 0x0f34
00000f2e: CALLER
00000f2f: DUP3
00000f30: PUSH2 0x1936
00000f33: JUMP
00000f34: JUMPDEST
00000f35: PUSH1 0x00
00000f37: PUSH32 0x00000000000000000000000000000000000000000000032d26d12e980b600000
00000f58: PUSH1 0x03
00000f5a: SLOAD
00000f5b: PUSH2 0x0f64
00000f5e: SWAP2
00000f5f: SWAP1
00000f60: PUSH2 0x24aa
00000f63: JUMP
00000f64: JUMPDEST
00000f65: PUSH1 0x40
00000f67: MLOAD
00000f68: PUSH4 0x70a08231
00000f6d: PUSH1 0xe0
00000f6f: SHL
00000f70: DUP2
00000f71: MSTORE
00000f72: PUSH1 0x01
00000f74: PUSH1 0x01
00000f76: PUSH1 0xa0
00000f78: SHL
00000f79: SUB
00000f7a: PUSH32 0x0000000000000000000000001e4ede388cbc9f4b5c79681b7f94d36a11abebc9
00000f9b: AND
00000f9c: SWAP1
00000f9d: PUSH4 0x70a08231
00000fa2: SWAP1
00000fa3: PUSH2 0x0fb0
00000fa6: SWAP1
00000fa7: ADDRESS
00000fa8: SWAP1
00000fa9: PUSH1 0x04
00000fab: ADD
00000fac: PUSH2 0x22f1
00000faf: JUMP
00000fb0: JUMPDEST
00000fb1: PUSH1 0x20
00000fb3: PUSH1 0x40
00000fb5: MLOAD
00000fb6: DUP1
00000fb7: DUP4
00000fb8: SUB
00000fb9: DUP2
00000fba: DUP7
00000fbb: GAS
00000fbc: STATICCALL
00000fbd: ISZERO
00000fbe: DUP1
00000fbf: ISZERO
00000fc0: PUSH2 0x0fcd
00000fc3: JUMPI
00000fc4: RETURNDATASIZE
00000fc5: PUSH1 0x00
00000fc7: DUP1
00000fc8: RETURNDATACOPY
00000fc9: RETURNDATASIZE
00000fca: PUSH1 0x00
00000fcc: REVERT
00000fcd: JUMPDEST
00000fce: POP
00000fcf: POP
00000fd0: POP
00000fd1: POP
00000fd2: PUSH1 0x40
00000fd4: MLOAD
00000fd5: RETURNDATASIZE
00000fd6: PUSH1 0x1f
00000fd8: NOT
00000fd9: PUSH1 0x1f
00000fdb: DUP3
00000fdc: ADD
00000fdd: AND
00000fde: DUP3
00000fdf: ADD
00000fe0: DUP1
00000fe1: PUSH1 0x40
00000fe3: MSTORE
00000fe4: POP
00000fe5: DUP2
00000fe6: ADD
00000fe7: SWAP1
00000fe8: PUSH2 0x0ff1
00000feb: SWAP2
00000fec: SWAP1
00000fed: PUSH2 0x24c9
00000ff0: JUMP
00000ff1: JUMPDEST
00000ff2: PUSH2 0x0ffb
00000ff5: SWAP2
00000ff6: SWAP1
00000ff7: PUSH2 0x24e2
00000ffa: JUMP
00000ffb: JUMPDEST
00000ffc: SWAP1
00000ffd: POP
00000ffe: DUP1
00000fff: ISZERO
00001000: PUSH2 0x1037
00001003: JUMPI
00001004: PUSH2 0x1037
00001007: PUSH1 0x01
00001009: PUSH1 0x01
0000100b: PUSH1 0xa0
0000100d: SHL
0000100e: SUB
0000100f: PUSH32 0x0000000000000000000000001e4ede388cbc9f4b5c79681b7f94d36a11abebc9
00001030: AND
00001031: CALLER
00001032: DUP4
00001033: PUSH2 0x18e4
00001036: JUMP
00001037: JUMPDEST
00001038: PUSH1 0x02
0000103a: DUP1
0000103b: SLOAD
0000103c: PUSH1 0xff
0000103e: NOT
0000103f: AND
00001040: PUSH1 0x01
00001042: SWAP1
00001043: DUP2
00001044: OR
00001045: SWAP1
00001046: SWAP2
00001047: SSTORE
00001048: PUSH1 0x40
0000104a: MLOAD
0000104b: PUSH32 0x31f72b44f546d9e7eaec13f65636997665e15f134a81c82924f568f5c0d07b93
0000106c: SWAP2
0000106d: PUSH2 0x1075
00001070: SWAP2
00001071: PUSH2 0x212d
00001074: JUMP
00001075: JUMPDEST
00001076: PUSH1 0x40
00001078: MLOAD
00001079: DUP1
0000107a: SWAP2
0000107b: SUB
0000107c: SWAP1
0000107d: LOG1
0000107e: POP
0000107f: POP
00001080: PUSH1 0x01
00001082: DUP1
00001083: SSTORE
00001084: JUMP
00001085: JUMPDEST
00001086: CALLER
00001087: PUSH2 0x108e
0000108a: PUSH2 0x13c2
0000108d: JUMP
0000108e: JUMPDEST
0000108f: PUSH1 0x01
00001091: PUSH1 0x01
00001093: PUSH1 0xa0
00001095: SHL
00001096: SUB
00001097: AND
00001098: EQ
00001099: PUSH2 0x10b4
0000109c: JUMPI
0000109d: PUSH1 0x40
0000109f: MLOAD
000010a0: PUSH3 0x461bcd
000010a4: PUSH1 0xe5
000010a6: SHL
000010a7: DUP2
000010a8: MSTORE
000010a9: PUSH1 0x04
000010ab: ADD
000010ac: PUSH2 0x073d
000010af: SWAP1
000010b0: PUSH2 0x233a
000010b3: JUMP
000010b4: JUMPDEST
000010b5: PUSH2 0x10be
000010b8: PUSH1 0x00
000010ba: PUSH2 0x1a4f
000010bd: JUMP
000010be: JUMPDEST
000010bf: JUMP
000010c0: JUMPDEST
000010c1: PUSH1 0x02
000010c3: PUSH1 0x01
000010c5: SLOAD
000010c6: EQ
000010c7: ISZERO
000010c8: PUSH2 0x10e3
000010cb: JUMPI
000010cc: PUSH1 0x40
000010ce: MLOAD
000010cf: PUSH3 0x461bcd
000010d3: PUSH1 0xe5
000010d5: SHL
000010d6: DUP2
000010d7: MSTORE
000010d8: PUSH1 0x04
000010da: ADD
000010db: PUSH2 0x073d
000010de: SWAP1
000010df: PUSH2 0x236f
000010e2: JUMP
000010e3: JUMPDEST
000010e4: PUSH1 0x02
000010e6: PUSH1 0x01
000010e8: SSTORE
000010e9: PUSH1 0x00
000010eb: PUSH1 0x02
000010ed: DUP1
000010ee: SLOAD
000010ef: PUSH1 0xff
000010f1: AND
000010f2: SWAP1
000010f3: DUP2
000010f4: GT
000010f5: ISZERO
000010f6: PUSH2 0x1101
000010f9: JUMPI
000010fa: PUSH2 0x1101
000010fd: PUSH2 0x2117
00001100: JUMP
00001101: JUMPDEST
00001102: EQ
00001103: PUSH2 0x114e
00001106: JUMPI
00001107: PUSH1 0x40
00001109: MLOAD
0000110a: PUSH3 0x461bcd
0000110e: PUSH1 0xe5
00001110: SHL
00001111: DUP2
00001112: MSTORE
00001113: PUSH1 0x20
00001115: PUSH1 0x04
00001117: DUP3
00001118: ADD
00001119: MSTORE
0000111a: PUSH1 0x1b
0000111c: PUSH1 0x24
0000111e: DUP3
0000111f: ADD
00001120: MSTORE
00001121: PUSH32 0x4465706f7369743a205068617365206d7573742062652053616c650000000000
00001142: PUSH1 0x44
00001144: DUP3
00001145: ADD
00001146: MSTORE
00001147: PUSH1 0x64
00001149: ADD
0000114a: PUSH2 0x073d
0000114d: JUMP
0000114e: JUMPDEST
0000114f: CALLER
00001150: PUSH1 0x00
00001152: SWAP1
00001153: DUP2
00001154: MSTORE
00001155: PUSH1 0x08
00001157: PUSH1 0x20
00001159: MSTORE
0000115a: PUSH1 0x40
0000115c: SWAP1
0000115d: KECCAK256
0000115e: PUSH1 0x02
00001160: ADD
00001161: SLOAD
00001162: PUSH1 0xff
00001164: AND
00001165: ISZERO
00001166: PUSH2 0x11aa
00001169: JUMPI
0000116a: PUSH1 0x40
0000116c: MLOAD
0000116d: PUSH3 0x461bcd
00001171: PUSH1 0xe5
00001173: SHL
00001174: DUP2
00001175: MSTORE
00001176: PUSH1 0x20
00001178: PUSH1 0x04
0000117a: DUP3
0000117b: ADD
0000117c: MSTORE
0000117d: PUSH1 0x16
0000117f: PUSH1 0x24
00001181: DUP3
00001182: ADD
00001183: MSTORE
00001184: PUSH22 0x11195c1bdcda5d0e8812185cc819195c1bdcda5d1959
0000119b: PUSH1 0x52
0000119d: SHL
0000119e: PUSH1 0x44
000011a0: DUP3
000011a1: ADD
000011a2: MSTORE
000011a3: PUSH1 0x64
000011a5: ADD
000011a6: PUSH2 0x073d
000011a9: JUMP
000011aa: JUMPDEST
000011ab: PUSH32 0x00000000000000000000000000000000000000000000000014d1120d7b160000
000011cc: CALLVALUE
000011cd: EQ
000011ce: PUSH2 0x1211
000011d1: JUMPI
000011d2: PUSH1 0x40
000011d4: MLOAD
000011d5: PUSH3 0x461bcd
000011d9: PUSH1 0xe5
000011db: SHL
000011dc: DUP2
000011dd: MSTORE
000011de: PUSH1 0x20
000011e0: PUSH1 0x04
000011e2: DUP3
000011e3: ADD
000011e4: MSTORE
000011e5: PUSH1 0x15
000011e7: PUSH1 0x24
000011e9: DUP3
000011ea: ADD
000011eb: MSTORE
000011ec: PUSH21 0x11195c1bdcda5d0e8815dc9bdb99c8185b5bdd5b9d
00001202: PUSH1 0x5a
00001204: SHL
00001205: PUSH1 0x44
00001207: DUP3
00001208: ADD
00001209: MSTORE
0000120a: PUSH1 0x64
0000120c: ADD
0000120d: PUSH2 0x073d
00001210: JUMP
00001211: JUMPDEST
00001212: PUSH32 0x00000000000000000000000000000000000000000000000000000000000003e8
00001233: PUSH1 0x03
00001235: SLOAD
00001236: LT
00001237: PUSH2 0x1282
0000123a: JUMPI
0000123b: PUSH1 0x40
0000123d: MLOAD
0000123e: PUSH3 0x461bcd
00001242: PUSH1 0xe5
00001244: SHL
00001245: DUP2
00001246: MSTORE
00001247: PUSH1 0x20
00001249: PUSH1 0x04
0000124b: DUP3
0000124c: ADD
0000124d: MSTORE
0000124e: PUSH1 0x1c
00001250: PUSH1 0x24
00001252: DUP3
00001253: ADD
00001254: MSTORE
00001255: PUSH32 0x4465706f7369743a204e6f742072616973696e6720616e796d6f726500000000
00001276: PUSH1 0x44
00001278: DUP3
00001279: ADD
0000127a: MSTORE
0000127b: PUSH1 0x64
0000127d: ADD
0000127e: PUSH2 0x073d
00001281: JUMP
00001282: JUMPDEST
00001283: PUSH1 0x00
00001285: PUSH2 0x12b6
00001288: CALLER
00001289: PUSH1 0x40
0000128b: MLOAD
0000128c: PUSH1 0x20
0000128e: ADD
0000128f: PUSH2 0x1298
00001292: SWAP2
00001293: SWAP1
00001294: PUSH2 0x22f1
00001297: JUMP
00001298: JUMPDEST
00001299: PUSH1 0x40
0000129b: MLOAD
0000129c: PUSH1 0x20
0000129e: DUP2
0000129f: DUP4
000012a0: SUB
000012a1: SUB
000012a2: DUP2
000012a3: MSTORE
000012a4: SWAP1
000012a5: PUSH1 0x40
000012a7: MSTORE
000012a8: DUP1
000012a9: MLOAD
000012aa: SWAP1
000012ab: PUSH1 0x20
000012ad: ADD
000012ae: KECCAK256
000012af: DUP6
000012b0: DUP6
000012b1: DUP6
000012b2: PUSH2 0x1a9f
000012b5: JUMP
000012b6: JUMPDEST
000012b7: PUSH1 0x01
000012b9: PUSH1 0x01
000012bb: PUSH1 0xa0
000012bd: SHL
000012be: SUB
000012bf: DUP2
000012c0: AND
000012c1: PUSH1 0x00
000012c3: SWAP1
000012c4: DUP2
000012c5: MSTORE
000012c6: PUSH1 0x07
000012c8: PUSH1 0x20
000012ca: MSTORE
000012cb: PUSH1 0x40
000012cd: SWAP1
000012ce: KECCAK256
000012cf: SLOAD
000012d0: SWAP1
000012d1: SWAP2
000012d2: POP
000012d3: PUSH1 0xff
000012d5: AND
000012d6: PUSH2 0x131c
000012d9: JUMPI
000012da: PUSH1 0x40
000012dc: MLOAD
000012dd: PUSH3 0x461bcd
000012e1: PUSH1 0xe5
000012e3: SHL
000012e4: DUP2
000012e5: MSTORE
000012e6: PUSH1 0x20
000012e8: PUSH1 0x04
000012ea: DUP3
000012eb: ADD
000012ec: MSTORE
000012ed: PUSH1 0x18
000012ef: PUSH1 0x24
000012f1: DUP3
000012f2: ADD
000012f3: MSTORE
000012f4: PUSH24 0x2232b837b9b4ba1d1029b4b3b730ba3ab9329032b93937b9
0000130d: PUSH1 0x41
0000130f: SHL
00001310: PUSH1 0x44
00001312: DUP3
00001313: ADD
00001314: MSTORE
00001315: PUSH1 0x64
00001317: ADD
00001318: PUSH2 0x073d
0000131b: JUMP
0000131c: JUMPDEST
0000131d: CALLER
0000131e: PUSH1 0x00
00001320: SWAP1
00001321: DUP2
00001322: MSTORE
00001323: PUSH1 0x08
00001325: PUSH1 0x20
00001327: MSTORE
00001328: PUSH1 0x40
0000132a: DUP2
0000132b: KECCAK256
0000132c: PUSH1 0x02
0000132e: ADD
0000132f: DUP1
00001330: SLOAD
00001331: PUSH1 0xff
00001333: NOT
00001334: AND
00001335: PUSH1 0x01
00001337: SWAP1
00001338: DUP2
00001339: OR
0000133a: SWAP1
0000133b: SWAP2
0000133c: SSTORE
0000133d: PUSH1 0x03
0000133f: DUP1
00001340: SLOAD
00001341: SWAP2
00001342: SWAP3
00001343: SWAP1
00001344: SWAP2
00001345: PUSH2 0x134f
00001348: SWAP1
00001349: DUP5
0000134a: SWAP1
0000134b: PUSH2 0x2492
0000134e: JUMP
0000134f: JUMPDEST
00001350: SWAP3
00001351: POP
00001352: POP
00001353: DUP2
00001354: SWAP1
00001355: SSTORE
00001356: POP
00001357: PUSH32 0x00000000000000000000000000000000000000000000032d26d12e980b600000
00001378: PUSH1 0x04
0000137a: PUSH1 0x00
0000137c: DUP3
0000137d: DUP3
0000137e: SLOAD
0000137f: PUSH2 0x1388
00001382: SWAP2
00001383: SWAP1
00001384: PUSH2 0x2492
00001387: JUMP
00001388: JUMPDEST
00001389: SWAP1
0000138a: SWAP2
0000138b: SSTORE
0000138c: POP
0000138d: POP
0000138e: PUSH1 0x40
00001390: MLOAD
00001391: CALLER
00001392: SWAP1
00001393: PUSH32 0x8ce0bd46ec50cf39f0d0ea8686a686eb226af5796dcda4231b26fb84b5ef1234
000013b4: SWAP1
000013b5: PUSH1 0x00
000013b7: SWAP1
000013b8: LOG2
000013b9: POP
000013ba: POP
000013bb: PUSH1 0x01
000013bd: DUP1
000013be: SSTORE
000013bf: POP
000013c0: POP
000013c1: JUMP
000013c2: JUMPDEST
000013c3: PUSH1 0x00
000013c5: SLOAD
000013c6: PUSH1 0x01
000013c8: PUSH1 0x01
000013ca: PUSH1 0xa0
000013cc: SHL
000013cd: SUB
000013ce: AND
000013cf: SWAP1
000013d0: JUMP
000013d1: JUMPDEST
000013d2: PUSH1 0x00
000013d4: PUSH2 0x13dc
000013d7: DUP3
000013d8: PUSH2 0x16e2
000013db: JUMP
000013dc: JUMPDEST
000013dd: SWAP3
000013de: SWAP2
000013df: POP
000013e0: POP
000013e1: JUMP
000013e2: JUMPDEST
000013e3: PUSH1 0x00
000013e5: DUP1
000013e6: PUSH1 0x00
000013e8: JUMPDEST
000013e9: DUP4
000013ea: MLOAD
000013eb: DUP2
000013ec: LT
000013ed: ISZERO
000013ee: PUSH2 0x143c
000013f1: JUMPI
000013f2: PUSH1 0x00
000013f4: DUP1
000013f5: PUSH2 0x1416
000013f8: DUP7
000013f9: DUP5
000013fa: DUP2
000013fb: MLOAD
000013fc: DUP2
000013fd: LT
000013fe: PUSH2 0x1409
00001401: JUMPI
00001402: PUSH2 0x1409
00001405: PUSH2 0x23a6
00001408: JUMP
00001409: JUMPDEST
0000140a: PUSH1 0x20
0000140c: MUL
0000140d: PUSH1 0x20
0000140f: ADD
00001410: ADD
00001411: MLOAD
00001412: PUSH2 0x1ac7
00001415: JUMP
00001416: JUMPDEST
00001417: SWAP1
00001418: SWAP3
00001419: POP
0000141a: SWAP1
0000141b: POP
0000141c: PUSH2 0x1425
0000141f: DUP3
00001420: DUP6
00001421: PUSH2 0x2492
00001424: JUMP
00001425: JUMPDEST
00001426: SWAP4
00001427: POP
00001428: POP
00001429: POP
0000142a: DUP1
0000142b: DUP1
0000142c: PUSH2 0x1434
0000142f: SWAP1
00001430: PUSH2 0x23d2
00001433: JUMP
00001434: JUMPDEST
00001435: SWAP2
00001436: POP
00001437: POP
00001438: PUSH2 0x13e8
0000143b: JUMP
0000143c: JUMPDEST
0000143d: POP
0000143e: SWAP3
0000143f: SWAP2
00001440: POP
00001441: POP
00001442: JUMP
00001443: JUMPDEST
00001444: PUSH1 0x02
00001446: PUSH1 0x01
00001448: SLOAD
00001449: EQ
0000144a: ISZERO
0000144b: PUSH2 0x1466
0000144e: JUMPI
0000144f: PUSH1 0x40
00001451: MLOAD
00001452: PUSH3 0x461bcd
00001456: PUSH1 0xe5
00001458: SHL
00001459: DUP2
0000145a: MSTORE
0000145b: PUSH1 0x04
0000145d: ADD
0000145e: PUSH2 0x073d
00001461: SWAP1
00001462: PUSH2 0x236f
00001465: JUMP
00001466: JUMPDEST
00001467: PUSH1 0x02
00001469: PUSH1 0x01
0000146b: SSTORE
0000146c: PUSH32 0x0000000000000000000000000000000000000000000000000000000000fc9508
0000148d: NUMBER
0000148e: LT
0000148f: ISZERO
00001490: PUSH2 0x14d1
00001493: JUMPI
00001494: PUSH1 0x40
00001496: MLOAD
00001497: PUSH3 0x461bcd
0000149b: PUSH1 0xe5
0000149d: SHL
0000149e: DUP2
0000149f: MSTORE
000014a0: PUSH1 0x20
000014a2: PUSH1 0x04
000014a4: DUP3
000014a5: ADD
000014a6: MSTORE
000014a7: PUSH1 0x13
000014a9: PUSH1 0x24
000014ab: DUP3
000014ac: ADD
000014ad: MSTORE
000014ae: PUSH19 0x57697468647261773a20546f6f206561726c79
000014c2: PUSH1 0x68
000014c4: SHL
000014c5: PUSH1 0x44
000014c7: DUP3
000014c8: ADD
000014c9: MSTORE
000014ca: PUSH1 0x64
000014cc: ADD
000014cd: PUSH2 0x073d
000014d0: JUMP
000014d1: JUMPDEST
000014d2: PUSH1 0x02
000014d4: DUP1
000014d5: SLOAD
000014d6: PUSH1 0xff
000014d8: AND
000014d9: DUP2
000014da: DUP2
000014db: GT
000014dc: ISZERO
000014dd: PUSH2 0x14e8
000014e0: JUMPI
000014e1: PUSH2 0x14e8
000014e4: PUSH2 0x2117
000014e7: JUMP
000014e8: JUMPDEST
000014e9: EQ
000014ea: PUSH2 0x1505
000014ed: JUMPI
000014ee: PUSH1 0x40
000014f0: MLOAD
000014f1: PUSH3 0x461bcd
000014f5: PUSH1 0xe5
000014f7: SHL
000014f8: DUP2
000014f9: MSTORE
000014fa: PUSH1 0x04
000014fc: ADD
000014fd: PUSH2 0x073d
00001500: SWAP1
00001501: PUSH2 0x23ed
00001504: JUMP
00001505: JUMPDEST
00001506: CALLER
00001507: PUSH1 0x00
00001509: SWAP1
0000150a: DUP2
0000150b: MSTORE
0000150c: PUSH1 0x08
0000150e: PUSH1 0x20
00001510: MSTORE
00001511: PUSH1 0x40
00001513: SWAP1
00001514: KECCAK256
00001515: PUSH1 0x02
00001517: ADD
00001518: SLOAD
00001519: PUSH1 0xff
0000151b: AND
0000151c: PUSH2 0x1537
0000151f: JUMPI
00001520: PUSH1 0x40
00001522: MLOAD
00001523: PUSH3 0x461bcd
00001527: PUSH1 0xe5
00001529: SHL
0000152a: DUP2
0000152b: MSTORE
0000152c: PUSH1 0x04
0000152e: ADD
0000152f: PUSH2 0x073d
00001532: SWAP1
00001533: PUSH2 0x2424
00001536: JUMP
00001537: JUMPDEST
00001538: CALLER
00001539: PUSH1 0x00
0000153b: SWAP1
0000153c: DUP2
0000153d: MSTORE
0000153e: PUSH1 0x08
00001540: PUSH1 0x20
00001542: MSTORE
00001543: PUSH1 0x40
00001545: DUP2
00001546: KECCAK256
00001547: SLOAD
00001548: PUSH2 0x1571
0000154b: SWAP1
0000154c: PUSH32 0x00000000000000000000000000000000000000000000032d26d12e980b600000
0000156d: PUSH2 0x24e2
00001570: JUMP
00001571: JUMPDEST
00001572: SWAP1
00001573: POP
00001574: PUSH1 0x00
00001576: DUP2
00001577: GT
00001578: PUSH2 0x1593
0000157b: JUMPI
0000157c: PUSH1 0x40
0000157e: MLOAD
0000157f: PUSH3 0x461bcd
00001583: PUSH1 0xe5
00001585: SHL
00001586: DUP2
00001587: MSTORE
00001588: PUSH1 0x04
0000158a: ADD
0000158b: PUSH2 0x073d
0000158e: SWAP1
0000158f: PUSH2 0x245b
00001592: JUMP
00001593: JUMPDEST
00001594: PUSH2 0x15c7
00001597: PUSH1 0x01
00001599: PUSH1 0x01
0000159b: PUSH1 0xa0
0000159d: SHL
0000159e: SUB
0000159f: PUSH32 0x0000000000000000000000001e4ede388cbc9f4b5c79681b7f94d36a11abebc9
000015c0: AND
000015c1: CALLER
000015c2: DUP4
000015c3: PUSH2 0x18e4
000015c6: JUMP
000015c7: JUMPDEST
000015c8: CALLER
000015c9: PUSH1 0x00
000015cb: DUP2
000015cc: DUP2
000015cd: MSTORE
000015ce: PUSH1 0x08
000015d0: PUSH1 0x20
000015d2: MSTORE
000015d3: PUSH1 0x40
000015d5: SWAP1
000015d6: DUP2
000015d7: SWAP1
000015d8: KECCAK256
000015d9: PUSH32 0x00000000000000000000000000000000000000000000032d26d12e980b600000
000015fa: SWAP1
000015fb: SSTORE
000015fc: MLOAD
000015fd: PUSH32 0x5fafa99d0643513820be26656b45130b01e1c03062e1266bf36f88cbd3bd9695
0000161e: SWAP1
0000161f: PUSH2 0x0b50
00001622: SWAP1
00001623: DUP5
00001624: DUP2
00001625: MSTORE
00001626: PUSH1 0x20
00001628: ADD
00001629: SWAP1
0000162a: JUMP
0000162b: JUMPDEST
0000162c: CALLER
0000162d: PUSH2 0x1634
00001630: PUSH2 0x13c2
00001633: JUMP
00001634: JUMPDEST
00001635: PUSH1 0x01
00001637: PUSH1 0x01
00001639: PUSH1 0xa0
0000163b: SHL
0000163c: SUB
0000163d: AND
0000163e: EQ
0000163f: PUSH2 0x165a
00001642: JUMPI
00001643: PUSH1 0x40
00001645: MLOAD
00001646: PUSH3 0x461bcd
0000164a: PUSH1 0xe5
0000164c: SHL
0000164d: DUP2
0000164e: MSTORE
0000164f: PUSH1 0x04
00001651: ADD
00001652: PUSH2 0x073d
00001655: SWAP1
00001656: PUSH2 0x233a
00001659: JUMP
0000165a: JUMPDEST
0000165b: PUSH1 0x01
0000165d: PUSH1 0x01
0000165f: PUSH1 0xa0
00001661: SHL
00001662: SUB
00001663: DUP2
00001664: AND
00001665: PUSH2 0x16bf
00001668: JUMPI
00001669: PUSH1 0x40
0000166b: MLOAD
0000166c: PUSH3 0x461bcd
00001670: PUSH1 0xe5
00001672: SHL
00001673: DUP2
00001674: MSTORE
00001675: PUSH1 0x20
00001677: PUSH1 0x04
00001679: DUP3
0000167a: ADD
0000167b: MSTORE
0000167c: PUSH1 0x26
0000167e: PUSH1 0x24
00001680: DUP3
00001681: ADD
00001682: MSTORE
00001683: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061
000016a4: PUSH1 0x44
000016a6: DUP3
000016a7: ADD
000016a8: MSTORE
000016a9: PUSH6 0x646472657373
000016b0: PUSH1 0xd0
000016b2: SHL
000016b3: PUSH1 0x64
000016b5: DUP3
000016b6: ADD
000016b7: MSTORE
000016b8: PUSH1 0x84
000016ba: ADD
000016bb: PUSH2 0x073d
000016be: JUMP
000016bf: JUMPDEST
000016c0: PUSH2 0x16c8
000016c3: DUP2
000016c4: PUSH2 0x1a4f
000016c7: JUMP
000016c8: JUMPDEST
000016c9: POP
000016ca: JUMP
000016cb: JUMPDEST
000016cc: PUSH1 0x00
000016ce: DUP1
000016cf: PUSH1 0x00
000016d1: PUSH2 0x16d9
000016d4: DUP5
000016d5: PUSH2 0x1ac7
000016d8: JUMP
000016d9: JUMPDEST
000016da: POP
000016db: SWAP5
000016dc: SWAP4
000016dd: POP
000016de: POP
000016df: POP
000016e0: POP
000016e1: JUMP
000016e2: JUMPDEST
000016e3: PUSH1 0x01
000016e5: PUSH1 0x01
000016e7: PUSH1 0xa0
000016e9: SHL
000016ea: SUB
000016eb: DUP2
000016ec: AND
000016ed: PUSH1 0x00
000016ef: SWAP1
000016f0: DUP2
000016f1: MSTORE
000016f2: PUSH1 0x08
000016f4: PUSH1 0x20
000016f6: MSTORE
000016f7: PUSH1 0x40
000016f9: DUP2
000016fa: KECCAK256
000016fb: SLOAD
000016fc: PUSH32 0x0000000000000000000000000000000000000000000000000000000000d8e068
0000171d: NUMBER
0000171e: LT
0000171f: ISZERO
00001720: PUSH2 0x172c
00001723: JUMPI
00001724: POP
00001725: PUSH1 0x00
00001727: SWAP3
00001728: SWAP2
00001729: POP
0000172a: POP
0000172b: JUMP
0000172c: JUMPDEST
0000172d: PUSH32 0x0000000000000000000000000000000000000000000000000000000000fc9508
0000174e: NUMBER
0000174f: LT
00001750: PUSH2 0x1784
00001753: JUMPI
00001754: PUSH2 0x177d
00001757: DUP2
00001758: PUSH32 0x00000000000000000000000000000000000000000000032d26d12e980b600000
00001779: PUSH2 0x24e2
0000177c: JUMP
0000177d: JUMPDEST
0000177e: SWAP4
0000177f: SWAP3
00001780: POP
00001781: POP
00001782: POP
00001783: JUMP
00001784: JUMPDEST
00001785: PUSH1 0x00
00001787: PUSH2 0x17b0
0000178a: PUSH32 0x0000000000000000000000000000000000000000000000000000000000d8e068
000017ab: NUMBER
000017ac: PUSH2 0x24e2
000017af: JUMP
000017b0: JUMPDEST
000017b1: SWAP1
000017b2: POP
000017b3: PUSH1 0x00
000017b5: PUSH32 0x000000000000000000000000000000000000000000000000000000000023b4a0
000017d6: PUSH2 0x17ff
000017d9: DUP4
000017da: PUSH32 0x00000000000000000000000000000000000000000000032d26d12e980b600000
000017fb: PUSH2 0x24aa
000017fe: JUMP
000017ff: JUMPDEST
00001800: PUSH2 0x1809
00001803: SWAP2
00001804: SWAP1
00001805: PUSH2 0x24f9
00001808: JUMP
00001809: JUMPDEST
0000180a: SWAP1
0000180b: POP
0000180c: PUSH2 0x1815
0000180f: DUP4
00001810: DUP3
00001811: PUSH2 0x24e2
00001814: JUMP
00001815: JUMPDEST
00001816: SWAP6
00001817: SWAP5
00001818: POP
00001819: POP
0000181a: POP
0000181b: POP
0000181c: POP
0000181d: JUMP
0000181e: JUMPDEST
0000181f: PUSH1 0x00
00001821: DUP1
00001822: PUSH1 0x00
00001824: PUSH2 0x182c
00001827: DUP5
00001828: PUSH2 0x1ac7
0000182b: JUMP
0000182c: JUMPDEST
0000182d: SWAP1
0000182e: SWAP3
0000182f: POP
00001830: SWAP1
00001831: POP
00001832: DUP2
00001833: ISZERO
00001834: PUSH2 0x143c
00001837: JUMPI
00001838: DUP2
00001839: PUSH1 0x05
0000183b: PUSH1 0x00
0000183d: DUP3
0000183e: DUP3
0000183f: SLOAD
00001840: PUSH2 0x1849
00001843: SWAP2
00001844: SWAP1
00001845: PUSH2 0x2492
00001848: JUMP
00001849: JUMPDEST
0000184a: SWAP1
0000184b: SWAP2
0000184c: SSTORE
0000184d: POP
0000184e: POP
0000184f: PUSH1 0x01
00001851: PUSH1 0x01
00001853: PUSH1 0xa0
00001855: SHL
00001856: SUB
00001857: DUP1
00001858: DUP6
00001859: AND
0000185a: PUSH1 0x00
0000185c: SWAP1
0000185d: DUP2
0000185e: MSTORE
0000185f: PUSH1 0x08
00001861: PUSH1 0x20
00001863: MSTORE
00001864: PUSH1 0x40
00001866: SWAP1
00001867: KECCAK256
00001868: PUSH1 0x01
0000186a: ADD
0000186b: DUP3
0000186c: SWAP1
0000186d: SSTORE
0000186e: PUSH2 0x189a
00001871: SWAP1
00001872: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001893: AND
00001894: DUP6
00001895: DUP5
00001896: PUSH2 0x18e4
00001899: JUMP
0000189a: JUMPDEST
0000189b: DUP4
0000189c: PUSH1 0x01
0000189e: PUSH1 0x01
000018a0: PUSH1 0xa0
000018a2: SHL
000018a3: SUB
000018a4: AND
000018a5: PUSH32 0xc9695243a805adb74c91f28311176c65b417e842d5699893cef56d18bfa48cba
000018c6: DUP4
000018c7: PUSH1 0x40
000018c9: MLOAD
000018ca: PUSH2 0x18d5
000018cd: SWAP2
000018ce: DUP2
000018cf: MSTORE
000018d0: PUSH1 0x20
000018d2: ADD
000018d3: SWAP1
000018d4: JUMP
000018d5: JUMPDEST
000018d6: PUSH1 0x40
000018d8: MLOAD
000018d9: DUP1
000018da: SWAP2
000018db: SUB
000018dc: SWAP1
000018dd: LOG2
000018de: POP
000018df: SWAP3
000018e0: SWAP2
000018e1: POP
000018e2: POP
000018e3: JUMP
000018e4: JUMPDEST
000018e5: PUSH1 0x40
000018e7: DUP1
000018e8: MLOAD
000018e9: PUSH1 0x01
000018eb: PUSH1 0x01
000018ed: PUSH1 0xa0
000018ef: SHL
000018f0: SUB
000018f1: DUP5
000018f2: AND
000018f3: PUSH1 0x24
000018f5: DUP3
000018f6: ADD
000018f7: MSTORE
000018f8: PUSH1 0x44
000018fa: DUP1
000018fb: DUP3
000018fc: ADD
000018fd: DUP5
000018fe: SWAP1
000018ff: MSTORE
00001900: DUP3
00001901: MLOAD
00001902: DUP1
00001903: DUP4
00001904: SUB
00001905: SWAP1
00001906: SWAP2
00001907: ADD
00001908: DUP2
00001909: MSTORE
0000190a: PUSH1 0x64
0000190c: SWAP1
0000190d: SWAP2
0000190e: ADD
0000190f: SWAP1
00001910: SWAP2
00001911: MSTORE
00001912: PUSH1 0x20
00001914: DUP2
00001915: ADD
00001916: DUP1
00001917: MLOAD
00001918: PUSH1 0x01
0000191a: PUSH1 0x01
0000191c: PUSH1 0xe0
0000191e: SHL
0000191f: SUB
00001920: AND
00001921: PUSH4 0xa9059cbb
00001926: PUSH1 0xe0
00001928: SHL
00001929: OR
0000192a: SWAP1
0000192b: MSTORE
0000192c: PUSH2 0x09ff
0000192f: SWAP1
00001930: DUP5
00001931: SWAP1
00001932: PUSH2 0x1b85
00001935: JUMP
00001936: JUMPDEST
00001937: DUP1
00001938: SELFBALANCE
00001939: LT
0000193a: ISZERO
0000193b: PUSH2 0x1986
0000193e: JUMPI
0000193f: PUSH1 0x40
00001941: MLOAD
00001942: PUSH3 0x461bcd
00001946: PUSH1 0xe5
00001948: SHL
00001949: DUP2
0000194a: MSTORE
0000194b: PUSH1 0x20
0000194d: PUSH1 0x04
0000194f: DUP3
00001950: ADD
00001951: MSTORE
00001952: PUSH1 0x1d
00001954: PUSH1 0x24
00001956: DUP3
00001957: ADD
00001958: MSTORE
00001959: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e6365000000
0000197a: PUSH1 0x44
0000197c: DUP3
0000197d: ADD
0000197e: MSTORE
0000197f: PUSH1 0x64
00001981: ADD
00001982: PUSH2 0x073d
00001985: JUMP
00001986: JUMPDEST
00001987: PUSH1 0x00
00001989: DUP3
0000198a: PUSH1 0x01
0000198c: PUSH1 0x01
0000198e: PUSH1 0xa0
00001990: SHL
00001991: SUB
00001992: AND
00001993: DUP3
00001994: PUSH1 0x40
00001996: MLOAD
00001997: PUSH1 0x00
00001999: PUSH1 0x40
0000199b: MLOAD
0000199c: DUP1
0000199d: DUP4
0000199e: SUB
0000199f: DUP2
000019a0: DUP6
000019a1: DUP8
000019a2: GAS
000019a3: CALL
000019a4: SWAP3
000019a5: POP
000019a6: POP
000019a7: POP
000019a8: RETURNDATASIZE
000019a9: DUP1
000019aa: PUSH1 0x00
000019ac: DUP2
000019ad: EQ
000019ae: PUSH2 0x19d3
000019b1: JUMPI
000019b2: PUSH1 0x40
000019b4: MLOAD
000019b5: SWAP2
000019b6: POP
000019b7: PUSH1 0x1f
000019b9: NOT
000019ba: PUSH1 0x3f
000019bc: RETURNDATASIZE
000019bd: ADD
000019be: AND
000019bf: DUP3
000019c0: ADD
000019c1: PUSH1 0x40
000019c3: MSTORE
000019c4: RETURNDATASIZE
000019c5: DUP3
000019c6: MSTORE
000019c7: RETURNDATASIZE
000019c8: PUSH1 0x00
000019ca: PUSH1 0x20
000019cc: DUP5
000019cd: ADD
000019ce: RETURNDATACOPY
000019cf: PUSH2 0x19d8
000019d2: JUMP
000019d3: JUMPDEST
000019d4: PUSH1 0x60
000019d6: SWAP2
000019d7: POP
000019d8: JUMPDEST
000019d9: POP
000019da: POP
000019db: SWAP1
000019dc: POP
000019dd: DUP1
000019de: PUSH2 0x09ff
000019e1: JUMPI
000019e2: PUSH1 0x40
000019e4: MLOAD
000019e5: PUSH3 0x461bcd
000019e9: PUSH1 0xe5
000019eb: SHL
000019ec: DUP2
000019ed: MSTORE
000019ee: PUSH1 0x20
000019f0: PUSH1 0x04
000019f2: DUP3
000019f3: ADD
000019f4: MSTORE
000019f5: PUSH1 0x3a
000019f7: PUSH1 0x24
000019f9: DUP3
000019fa: ADD
000019fb: MSTORE
000019fc: PUSH32 0x416464726573733a20756e61626c6520746f2073656e642076616c75652c2072
00001a1d: PUSH1 0x44
00001a1f: DUP3
00001a20: ADD
00001a21: MSTORE
00001a22: PUSH32 0x6563697069656e74206d61792068617665207265766572746564000000000000
00001a43: PUSH1 0x64
00001a45: DUP3
00001a46: ADD
00001a47: MSTORE
00001a48: PUSH1 0x84
00001a4a: ADD
00001a4b: PUSH2 0x073d
00001a4e: JUMP
00001a4f: JUMPDEST
00001a50: PUSH1 0x00
00001a52: DUP1
00001a53: SLOAD
00001a54: PUSH1 0x01
00001a56: PUSH1 0x01
00001a58: PUSH1 0xa0
00001a5a: SHL
00001a5b: SUB
00001a5c: DUP4
00001a5d: DUP2
00001a5e: AND
00001a5f: PUSH1 0x01
00001a61: PUSH1 0x01
00001a63: PUSH1 0xa0
00001a65: SHL
00001a66: SUB
00001a67: NOT
00001a68: DUP4
00001a69: AND
00001a6a: DUP2
00001a6b: OR
00001a6c: DUP5
00001a6d: SSTORE
00001a6e: PUSH1 0x40
00001a70: MLOAD
00001a71: SWAP2
00001a72: SWAP1
00001a73: SWAP3
00001a74: AND
00001a75: SWAP3
00001a76: DUP4
00001a77: SWAP2
00001a78: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00001a99: SWAP2
00001a9a: SWAP1
00001a9b: LOG3
00001a9c: POP
00001a9d: POP
00001a9e: JUMP
00001a9f: JUMPDEST
00001aa0: PUSH1 0x00
00001aa2: DUP1
00001aa3: PUSH1 0x00
00001aa5: PUSH2 0x1ab0
00001aa8: DUP8
00001aa9: DUP8
00001aaa: DUP8
00001aab: DUP8
00001aac: PUSH2 0x1c57
00001aaf: JUMP
00001ab0: JUMPDEST
00001ab1: SWAP2
00001ab2: POP
00001ab3: SWAP2
00001ab4: POP
00001ab5: PUSH2 0x1abd
00001ab8: DUP2
00001ab9: PUSH2 0x1d3a
00001abc: JUMP
00001abd: JUMPDEST
00001abe: POP
00001abf: SWAP6
00001ac0: SWAP5
00001ac1: POP
00001ac2: POP
00001ac3: POP
00001ac4: POP
00001ac5: POP
00001ac6: JUMP
00001ac7: JUMPDEST
00001ac8: PUSH1 0x00
00001aca: DUP1
00001acb: PUSH1 0x00
00001acd: PUSH2 0x1ad4
00001ad0: PUSH2 0x1ef0
00001ad3: JUMP
00001ad4: JUMPDEST
00001ad5: PUSH1 0x01
00001ad7: PUSH1 0x01
00001ad9: PUSH1 0xa0
00001adb: SHL
00001adc: SUB
00001add: DUP6
00001ade: AND
00001adf: PUSH1 0x00
00001ae1: SWAP1
00001ae2: DUP2
00001ae3: MSTORE
00001ae4: PUSH1 0x08
00001ae6: PUSH1 0x20
00001ae8: MSTORE
00001ae9: PUSH1 0x40
00001aeb: DUP2
00001aec: KECCAK256
00001aed: PUSH1 0x01
00001aef: DUP2
00001af0: ADD
00001af1: SLOAD
00001af2: SWAP1
00001af3: SLOAD
00001af4: SWAP3
00001af5: SWAP4
00001af6: POP
00001af7: SWAP2
00001af8: PUSH2 0x1b21
00001afb: SWAP1
00001afc: PUSH32 0x00000000000000000000000000000000000000000000032d26d12e980b600000
00001b1d: PUSH2 0x24e2
00001b20: JUMP
00001b21: JUMPDEST
00001b22: SWAP1
00001b23: POP
00001b24: PUSH1 0x00
00001b26: PUSH1 0x03
00001b28: SLOAD
00001b29: DUP5
00001b2a: PUSH2 0x1b33
00001b2d: SWAP2
00001b2e: SWAP1
00001b2f: PUSH2 0x24f9
00001b32: JUMP
00001b33: JUMPDEST
00001b34: SWAP1
00001b35: POP
00001b36: PUSH1 0x00
00001b38: PUSH32 0x00000000000000000000000000000000000000000000032d26d12e980b600000
00001b59: DUP4
00001b5a: PUSH2 0x1b63
00001b5d: DUP7
00001b5e: DUP6
00001b5f: PUSH2 0x24e2
00001b62: JUMP
00001b63: JUMPDEST
00001b64: PUSH2 0x1b6d
00001b67: SWAP2
00001b68: SWAP1
00001b69: PUSH2 0x24aa
00001b6c: JUMP
00001b6d: JUMPDEST
00001b6e: PUSH2 0x1b77
00001b71: SWAP2
00001b72: SWAP1
00001b73: PUSH2 0x24f9
00001b76: JUMP
00001b77: JUMPDEST
00001b78: SWAP9
00001b79: SWAP2
00001b7a: SWAP8
00001b7b: POP
00001b7c: SWAP1
00001b7d: SWAP6
00001b7e: POP
00001b7f: POP
00001b80: POP
00001b81: POP
00001b82: POP
00001b83: POP
00001b84: JUMP
00001b85: JUMPDEST
00001b86: PUSH1 0x00
00001b88: PUSH2 0x1bda
00001b8b: DUP3
00001b8c: PUSH1 0x40
00001b8e: MLOAD
00001b8f: DUP1
00001b90: PUSH1 0x40
00001b92: ADD
00001b93: PUSH1 0x40
00001b95: MSTORE
00001b96: DUP1
00001b97: PUSH1 0x20
00001b99: DUP2
00001b9a: MSTORE
00001b9b: PUSH1 0x20
00001b9d: ADD
00001b9e: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00001bbf: DUP2
00001bc0: MSTORE
00001bc1: POP
00001bc2: DUP6
00001bc3: PUSH1 0x01
00001bc5: PUSH1 0x01
00001bc7: PUSH1 0xa0
00001bc9: SHL
00001bca: SUB
00001bcb: AND
00001bcc: PUSH2 0x1f9f
00001bcf: SWAP1
00001bd0: SWAP3
00001bd1: SWAP2
00001bd2: SWAP1
00001bd3: PUSH4 0xffffffff
00001bd8: AND
00001bd9: JUMP
00001bda: JUMPDEST
00001bdb: DUP1
00001bdc: MLOAD
00001bdd: SWAP1
00001bde: SWAP2
00001bdf: POP
00001be0: ISZERO
00001be1: PUSH2 0x09ff
00001be4: JUMPI
00001be5: DUP1
00001be6: DUP1
00001be7: PUSH1 0x20
00001be9: ADD
00001bea: SWAP1
00001beb: MLOAD
00001bec: DUP2
00001bed: ADD
00001bee: SWAP1
00001bef: PUSH2 0x1bf8
00001bf2: SWAP2
00001bf3: SWAP1
00001bf4: PUSH2 0x251b
00001bf7: JUMP
00001bf8: JUMPDEST
00001bf9: PUSH2 0x09ff
00001bfc: JUMPI
00001bfd: PUSH1 0x40
00001bff: MLOAD
00001c00: PUSH3 0x461bcd
00001c04: PUSH1 0xe5
00001c06: SHL
00001c07: DUP2
00001c08: MSTORE
00001c09: PUSH1 0x20
00001c0b: PUSH1 0x04
00001c0d: DUP3
00001c0e: ADD
00001c0f: MSTORE
00001c10: PUSH1 0x2a
00001c12: PUSH1 0x24
00001c14: DUP3
00001c15: ADD
00001c16: MSTORE
00001c17: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00001c38: PUSH1 0x44
00001c3a: DUP3
00001c3b: ADD
00001c3c: MSTORE
00001c3d: PUSH10 0x1bdd081cdd58d8d95959
00001c48: PUSH1 0xb2
00001c4a: SHL
00001c4b: PUSH1 0x64
00001c4d: DUP3
00001c4e: ADD
00001c4f: MSTORE
00001c50: PUSH1 0x84
00001c52: ADD
00001c53: PUSH2 0x073d
00001c56: JUMP
00001c57: JUMPDEST
00001c58: PUSH1 0x00
00001c5a: DUP1
00001c5b: PUSH16 0xa2a8918ca85bafe22016d0b997e4df60
00001c6c: PUSH1 0x01
00001c6e: PUSH1 0xff
00001c70: SHL
00001c71: SUB
00001c72: DUP4
00001c73: GT
00001c74: ISZERO
00001c75: PUSH2 0x1c84
00001c78: JUMPI
00001c79: POP
00001c7a: PUSH1 0x00
00001c7c: SWAP1
00001c7d: POP
00001c7e: PUSH1 0x03
00001c80: PUSH2 0x1d31
00001c83: JUMP
00001c84: JUMPDEST
00001c85: DUP5
00001c86: PUSH1 0xff
00001c88: AND
00001c89: PUSH1 0x1b
00001c8b: EQ
00001c8c: ISZERO
00001c8d: DUP1
00001c8e: ISZERO
00001c8f: PUSH2 0x1c9c
00001c92: JUMPI
00001c93: POP
00001c94: DUP5
00001c95: PUSH1 0xff
00001c97: AND
00001c98: PUSH1 0x1c
00001c9a: EQ
00001c9b: ISZERO
00001c9c: JUMPDEST
00001c9d: ISZERO
00001c9e: PUSH2 0x1cad
00001ca1: JUMPI
00001ca2: POP
00001ca3: PUSH1 0x00
00001ca5: SWAP1
00001ca6: POP
00001ca7: PUSH1 0x04
00001ca9: PUSH2 0x1d31
00001cac: JUMP
00001cad: JUMPDEST
00001cae: PUSH1 0x40
00001cb0: DUP1
00001cb1: MLOAD
00001cb2: PUSH1 0x00
00001cb4: DUP1
00001cb5: DUP3
00001cb6: MSTORE
00001cb7: PUSH1 0x20
00001cb9: DUP3
00001cba: ADD
00001cbb: DUP1
00001cbc: DUP5
00001cbd: MSTORE
00001cbe: DUP10
00001cbf: SWAP1
00001cc0: MSTORE
00001cc1: PUSH1 0xff
00001cc3: DUP9
00001cc4: AND
00001cc5: SWAP3
00001cc6: DUP3
00001cc7: ADD
00001cc8: SWAP3
00001cc9: SWAP1
00001cca: SWAP3
00001ccb: MSTORE
00001ccc: PUSH1 0x60
00001cce: DUP2
00001ccf: ADD
00001cd0: DUP7
00001cd1: SWAP1
00001cd2: MSTORE
00001cd3: PUSH1 0x80
00001cd5: DUP2
00001cd6: ADD
00001cd7: DUP6
00001cd8: SWAP1
00001cd9: MSTORE
00001cda: PUSH1 0x01
00001cdc: SWAP1
00001cdd: PUSH1 0xa0
00001cdf: ADD
00001ce0: PUSH1 0x20
00001ce2: PUSH1 0x40
00001ce4: MLOAD
00001ce5: PUSH1 0x20
00001ce7: DUP2
00001ce8: SUB
00001ce9: SWAP1
00001cea: DUP1
00001ceb: DUP5
00001cec: SUB
00001ced: SWAP1
00001cee: DUP6
00001cef: GAS
00001cf0: STATICCALL
00001cf1: ISZERO
00001cf2: DUP1
00001cf3: ISZERO
00001cf4: PUSH2 0x1d01
00001cf7: JUMPI
00001cf8: RETURNDATASIZE
00001cf9: PUSH1 0x00
00001cfb: DUP1
00001cfc: RETURNDATACOPY
00001cfd: RETURNDATASIZE
00001cfe: PUSH1 0x00
00001d00: REVERT
00001d01: JUMPDEST
00001d02: POP
00001d03: POP
00001d04: PUSH1 0x40
00001d06: MLOAD
00001d07: PUSH1 0x1f
00001d09: NOT
00001d0a: ADD
00001d0b: MLOAD
00001d0c: SWAP2
00001d0d: POP
00001d0e: POP
00001d0f: PUSH1 0x01
00001d11: PUSH1 0x01
00001d13: PUSH1 0xa0
00001d15: SHL
00001d16: SUB
00001d17: DUP2
00001d18: AND
00001d19: PUSH2 0x1d2a
00001d1c: JUMPI
00001d1d: PUSH1 0x00
00001d1f: PUSH1 0x01
00001d21: SWAP3
00001d22: POP
00001d23: SWAP3
00001d24: POP
00001d25: POP
00001d26: PUSH2 0x1d31
00001d29: JUMP
00001d2a: JUMPDEST
00001d2b: SWAP2
00001d2c: POP
00001d2d: PUSH1 0x00
00001d2f: SWAP1
00001d30: POP
00001d31: JUMPDEST
00001d32: SWAP5
00001d33: POP
00001d34: SWAP5
00001d35: SWAP3
00001d36: POP
00001d37: POP
00001d38: POP
00001d39: JUMP
00001d3a: JUMPDEST
00001d3b: PUSH1 0x00
00001d3d: DUP2
00001d3e: PUSH1 0x04
00001d40: DUP2
00001d41: GT
00001d42: ISZERO
00001d43: PUSH2 0x1d4e
00001d46: JUMPI
00001d47: PUSH2 0x1d4e
00001d4a: PUSH2 0x2117
00001d4d: JUMP
00001d4e: JUMPDEST
00001d4f: EQ
00001d50: ISZERO
00001d51: PUSH2 0x1d57
00001d54: JUMPI
00001d55: POP
00001d56: JUMP
00001d57: JUMPDEST
00001d58: PUSH1 0x01
00001d5a: DUP2
00001d5b: PUSH1 0x04
00001d5d: DUP2
00001d5e: GT
00001d5f: ISZERO
00001d60: PUSH2 0x1d6b
00001d63: JUMPI
00001d64: PUSH2 0x1d6b
00001d67: PUSH2 0x2117
00001d6a: JUMP
00001d6b: JUMPDEST
00001d6c: EQ
00001d6d: ISZERO
00001d6e: PUSH2 0x1db4
00001d71: JUMPI
00001d72: PUSH1 0x40
00001d74: MLOAD
00001d75: PUSH3 0x461bcd
00001d79: PUSH1 0xe5
00001d7b: SHL
00001d7c: DUP2
00001d7d: MSTORE
00001d7e: PUSH1 0x20
00001d80: PUSH1 0x04
00001d82: DUP3
00001d83: ADD
00001d84: MSTORE
00001d85: PUSH1 0x18
00001d87: PUSH1 0x24
00001d89: DUP3
00001d8a: ADD
00001d8b: MSTORE
00001d8c: PUSH24 0x45434453413a20696e76616c6964207369676e6174757265
00001da5: PUSH1 0x40
00001da7: SHL
00001da8: PUSH1 0x44
00001daa: DUP3
00001dab: ADD
00001dac: MSTORE
00001dad: PUSH1 0x64
00001daf: ADD
00001db0: PUSH2 0x073d
00001db3: JUMP
00001db4: JUMPDEST
00001db5: PUSH1 0x02
00001db7: DUP2
00001db8: PUSH1 0x04
00001dba: DUP2
00001dbb: GT
00001dbc: ISZERO
00001dbd: PUSH2 0x1dc8
00001dc0: JUMPI
00001dc1: PUSH2 0x1dc8
00001dc4: PUSH2 0x2117
00001dc7: JUMP
00001dc8: JUMPDEST
00001dc9: EQ
00001dca: ISZERO
00001dcb: PUSH2 0x1e16
00001dce: JUMPI
00001dcf: PUSH1 0x40
00001dd1: MLOAD
00001dd2: PUSH3 0x461bcd
00001dd6: PUSH1 0xe5
00001dd8: SHL
00001dd9: DUP2
00001dda: MSTORE
00001ddb: PUSH1 0x20
00001ddd: PUSH1 0x04
00001ddf: DUP3
00001de0: ADD
00001de1: MSTORE
00001de2: PUSH1 0x1f
00001de4: PUSH1 0x24
00001de6: DUP3
00001de7: ADD
00001de8: MSTORE
00001de9: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265206c656e67746800
00001e0a: PUSH1 0x44
00001e0c: DUP3
00001e0d: ADD
00001e0e: MSTORE
00001e0f: PUSH1 0x64
00001e11: ADD
00001e12: PUSH2 0x073d
00001e15: JUMP
00001e16: JUMPDEST
00001e17: PUSH1 0x03
00001e19: DUP2
00001e1a: PUSH1 0x04
00001e1c: DUP2
00001e1d: GT
00001e1e: ISZERO
00001e1f: PUSH2 0x1e2a
00001e22: JUMPI
00001e23: PUSH2 0x1e2a
00001e26: PUSH2 0x2117
00001e29: JUMP
00001e2a: JUMPDEST
00001e2b: EQ
00001e2c: ISZERO
00001e2d: PUSH2 0x1e83
00001e30: JUMPI
00001e31: PUSH1 0x40
00001e33: MLOAD
00001e34: PUSH3 0x461bcd
00001e38: PUSH1 0xe5
00001e3a: SHL
00001e3b: DUP2
00001e3c: MSTORE
00001e3d: PUSH1 0x20
00001e3f: PUSH1 0x04
00001e41: DUP3
00001e42: ADD
00001e43: MSTORE
00001e44: PUSH1 0x22
00001e46: PUSH1 0x24
00001e48: DUP3
00001e49: ADD
00001e4a: MSTORE
00001e4b: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265202773272076616c
00001e6c: PUSH1 0x44
00001e6e: DUP3
00001e6f: ADD
00001e70: MSTORE
00001e71: PUSH2 0x7565
00001e74: PUSH1 0xf0
00001e76: SHL
00001e77: PUSH1 0x64
00001e79: DUP3
00001e7a: ADD
00001e7b: MSTORE
00001e7c: PUSH1 0x84
00001e7e: ADD
00001e7f: PUSH2 0x073d
00001e82: JUMP
00001e83: JUMPDEST
00001e84: PUSH1 0x04
00001e86: DUP2
00001e87: PUSH1 0x04
00001e89: DUP2
00001e8a: GT
00001e8b: ISZERO
00001e8c: PUSH2 0x1e97
00001e8f: JUMPI
00001e90: PUSH2 0x1e97
00001e93: PUSH2 0x2117
00001e96: JUMP
00001e97: JUMPDEST
00001e98: EQ
00001e99: ISZERO
00001e9a: PUSH2 0x16c8
00001e9d: JUMPI
00001e9e: PUSH1 0x40
00001ea0: MLOAD
00001ea1: PUSH3 0x461bcd
00001ea5: PUSH1 0xe5
00001ea7: SHL
00001ea8: DUP2
00001ea9: MSTORE
00001eaa: PUSH1 0x20
00001eac: PUSH1 0x04
00001eae: DUP3
00001eaf: ADD
00001eb0: MSTORE
00001eb1: PUSH1 0x22
00001eb3: PUSH1 0x24
00001eb5: DUP3
00001eb6: ADD
00001eb7: MSTORE
00001eb8: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265202776272076616c
00001ed9: PUSH1 0x44
00001edb: DUP3
00001edc: ADD
00001edd: MSTORE
00001ede: PUSH2 0x7565
00001ee1: PUSH1 0xf0
00001ee3: SHL
00001ee4: PUSH1 0x64
00001ee6: DUP3
00001ee7: ADD
00001ee8: MSTORE
00001ee9: PUSH1 0x84
00001eeb: ADD
00001eec: PUSH2 0x073d
00001eef: JUMP
00001ef0: JUMPDEST
00001ef1: PUSH1 0x40
00001ef3: MLOAD
00001ef4: PUSH4 0x70a08231
00001ef9: PUSH1 0xe0
00001efb: SHL
00001efc: DUP2
00001efd: MSTORE
00001efe: PUSH1 0x00
00001f00: SWAP1
00001f01: PUSH1 0x01
00001f03: PUSH1 0x01
00001f05: PUSH1 0xa0
00001f07: SHL
00001f08: SUB
00001f09: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001f2a: AND
00001f2b: SWAP1
00001f2c: PUSH4 0x70a08231
00001f31: SWAP1
00001f32: PUSH2 0x1f3f
00001f35: SWAP1
00001f36: ADDRESS
00001f37: SWAP1
00001f38: PUSH1 0x04
00001f3a: ADD
00001f3b: PUSH2 0x22f1
00001f3e: JUMP
00001f3f: JUMPDEST
00001f40: PUSH1 0x20
00001f42: PUSH1 0x40
00001f44: MLOAD
00001f45: DUP1
00001f46: DUP4
00001f47: SUB
00001f48: DUP2
00001f49: DUP7
00001f4a: GAS
00001f4b: STATICCALL
00001f4c: ISZERO
00001f4d: DUP1
00001f4e: ISZERO
00001f4f: PUSH2 0x1f5c
00001f52: JUMPI
00001f53: RETURNDATASIZE
00001f54: PUSH1 0x00
00001f56: DUP1
00001f57: RETURNDATACOPY
00001f58: RETURNDATASIZE
00001f59: PUSH1 0x00
00001f5b: REVERT
00001f5c: JUMPDEST
00001f5d: POP
00001f5e: POP
00001f5f: POP
00001f60: POP
00001f61: PUSH1 0x40
00001f63: MLOAD
00001f64: RETURNDATASIZE
00001f65: PUSH1 0x1f
00001f67: NOT
00001f68: PUSH1 0x1f
00001f6a: DUP3
00001f6b: ADD
00001f6c: AND
00001f6d: DUP3
00001f6e: ADD
00001f6f: DUP1
00001f70: PUSH1 0x40
00001f72: MSTORE
00001f73: POP
00001f74: DUP2
00001f75: ADD
00001f76: SWAP1
00001f77: PUSH2 0x1f80
00001f7a: SWAP2
00001f7b: SWAP1
00001f7c: PUSH2 0x24c9
00001f7f: JUMP
00001f80: JUMPDEST
00001f81: PUSH1 0x05
00001f83: SLOAD
00001f84: PUSH1 0x06
00001f86: SLOAD
00001f87: PUSH2 0x1f90
00001f8a: SWAP2
00001f8b: SWAP1
00001f8c: PUSH2 0x2492
00001f8f: JUMP
00001f90: JUMPDEST
00001f91: PUSH2 0x1f9a
00001f94: SWAP2
00001f95: SWAP1
00001f96: PUSH2 0x2492
00001f99: JUMP
00001f9a: JUMPDEST
00001f9b: SWAP1
00001f9c: POP
00001f9d: SWAP1
00001f9e: JUMP
00001f9f: JUMPDEST
00001fa0: PUSH1 0x60
00001fa2: PUSH2 0x1fae
00001fa5: DUP5
00001fa6: DUP5
00001fa7: PUSH1 0x00
00001fa9: DUP6
00001faa: PUSH2 0x1fb6
00001fad: JUMP
00001fae: JUMPDEST
00001faf: SWAP5
00001fb0: SWAP4
00001fb1: POP
00001fb2: POP
00001fb3: POP
00001fb4: POP
00001fb5: JUMP
00001fb6: JUMPDEST
00001fb7: PUSH1 0x60
00001fb9: DUP3
00001fba: SELFBALANCE
00001fbb: LT
00001fbc: ISZERO
00001fbd: PUSH2 0x2017
00001fc0: JUMPI
00001fc1: PUSH1 0x40
00001fc3: MLOAD
00001fc4: PUSH3 0x461bcd
00001fc8: PUSH1 0xe5
00001fca: SHL
00001fcb: DUP2
00001fcc: MSTORE
00001fcd: PUSH1 0x20
00001fcf: PUSH1 0x04
00001fd1: DUP3
00001fd2: ADD
00001fd3: MSTORE
00001fd4: PUSH1 0x26
00001fd6: PUSH1 0x24
00001fd8: DUP3
00001fd9: ADD
00001fda: MSTORE
00001fdb: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
00001ffc: PUSH1 0x44
00001ffe: DUP3
00001fff: ADD
00002000: MSTORE
00002001: PUSH6 0x1c8818d85b1b
00002008: PUSH1 0xd2
0000200a: SHL
0000200b: PUSH1 0x64
0000200d: DUP3
0000200e: ADD
0000200f: MSTORE
00002010: PUSH1 0x84
00002012: ADD
00002013: PUSH2 0x073d
00002016: JUMP
00002017: JUMPDEST
00002018: DUP5
00002019: EXTCODESIZE
0000201a: PUSH2 0x2065
0000201d: JUMPI
0000201e: PUSH1 0x40
00002020: MLOAD
00002021: PUSH3 0x461bcd
00002025: PUSH1 0xe5
00002027: SHL
00002028: DUP2
00002029: MSTORE
0000202a: PUSH1 0x20
0000202c: PUSH1 0x04
0000202e: DUP3
0000202f: ADD
00002030: MSTORE
00002031: PUSH1 0x1d
00002033: PUSH1 0x24
00002035: DUP3
00002036: ADD
00002037: MSTORE
00002038: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00002059: PUSH1 0x44
0000205b: DUP3
0000205c: ADD
0000205d: MSTORE
0000205e: PUSH1 0x64
00002060: ADD
00002061: PUSH2 0x073d
00002064: JUMP
00002065: JUMPDEST
00002066: PUSH1 0x00
00002068: DUP1
00002069: DUP7
0000206a: PUSH1 0x01
0000206c: PUSH1 0x01
0000206e: PUSH1 0xa0
00002070: SHL
00002071: SUB
00002072: AND
00002073: DUP6
00002074: DUP8
00002075: PUSH1 0x40
00002077: MLOAD
00002078: PUSH2 0x2081
0000207b: SWAP2
0000207c: SWAP1
0000207d: PUSH2 0x256d
00002080: JUMP
00002081: JUMPDEST
00002082: PUSH1 0x00
00002084: PUSH1 0x40
00002086: MLOAD
00002087: DUP1
00002088: DUP4
00002089: SUB
0000208a: DUP2
0000208b: DUP6
0000208c: DUP8
0000208d: GAS
0000208e: CALL
0000208f: SWAP3
00002090: POP
00002091: POP
00002092: POP
00002093: RETURNDATASIZE
00002094: DUP1
00002095: PUSH1 0x00
00002097: DUP2
00002098: EQ
00002099: PUSH2 0x20be
0000209c: JUMPI
0000209d: PUSH1 0x40
0000209f: MLOAD
000020a0: SWAP2
000020a1: POP
000020a2: PUSH1 0x1f
000020a4: NOT
000020a5: PUSH1 0x3f
000020a7: RETURNDATASIZE
000020a8: ADD
000020a9: AND
000020aa: DUP3
000020ab: ADD
000020ac: PUSH1 0x40
000020ae: MSTORE
000020af: RETURNDATASIZE
000020b0: DUP3
000020b1: MSTORE
000020b2: RETURNDATASIZE
000020b3: PUSH1 0x00
000020b5: PUSH1 0x20
000020b7: DUP5
000020b8: ADD
000020b9: RETURNDATACOPY
000020ba: PUSH2 0x20c3
000020bd: JUMP
000020be: JUMPDEST
000020bf: PUSH1 0x60
000020c1: SWAP2
000020c2: POP
000020c3: JUMPDEST
000020c4: POP
000020c5: SWAP2
000020c6: POP
000020c7: SWAP2
000020c8: POP
000020c9: PUSH2 0x20d3
000020cc: DUP3
000020cd: DUP3
000020ce: DUP7
000020cf: PUSH2 0x20de
000020d2: JUMP
000020d3: JUMPDEST
000020d4: SWAP8
000020d5: SWAP7
000020d6: POP
000020d7: POP
000020d8: POP
000020d9: POP
000020da: POP
000020db: POP
000020dc: POP
000020dd: JUMP
000020de: JUMPDEST
000020df: PUSH1 0x60
000020e1: DUP4
000020e2: ISZERO
000020e3: PUSH2 0x20ed
000020e6: JUMPI
000020e7: POP
000020e8: DUP2
000020e9: PUSH2 0x177d
000020ec: JUMP
000020ed: JUMPDEST
000020ee: DUP3
000020ef: MLOAD
000020f0: ISZERO
000020f1: PUSH2 0x20fd
000020f4: JUMPI
000020f5: DUP3
000020f6: MLOAD
000020f7: DUP1
000020f8: DUP5
000020f9: PUSH1 0x20
000020fb: ADD
000020fc: REVERT
000020fd: JUMPDEST
000020fe: DUP2
000020ff: PUSH1 0x40
00002101: MLOAD
00002102: PUSH3 0x461bcd
00002106: PUSH1 0xe5
00002108: SHL
00002109: DUP2
0000210a: MSTORE
0000210b: PUSH1 0x04
0000210d: ADD
0000210e: PUSH2 0x073d
00002111: SWAP2
00002112: SWAP1
00002113: PUSH2 0x2589
00002116: JUMP
00002117: JUMPDEST
00002118: PUSH4 0x4e487b71
0000211d: PUSH1 0xe0
0000211f: SHL
00002120: PUSH1 0x00
00002122: MSTORE
00002123: PUSH1 0x21
00002125: PUSH1 0x04
00002127: MSTORE
00002128: PUSH1 0x24
0000212a: PUSH1 0x00
0000212c: REVERT
0000212d: JUMPDEST
0000212e: PUSH1 0x20
00002130: DUP2
00002131: ADD
00002132: PUSH1 0x03
00002134: DUP4
00002135: LT
00002136: PUSH2 0x214f
00002139: JUMPI
0000213a: PUSH4 0x4e487b71
0000213f: PUSH1 0xe0
00002141: SHL
00002142: PUSH1 0x00
00002144: MSTORE
00002145: PUSH1 0x21
00002147: PUSH1 0x04
00002149: MSTORE
0000214a: PUSH1 0x24
0000214c: PUSH1 0x00
0000214e: REVERT
0000214f: JUMPDEST
00002150: SWAP2
00002151: SWAP1
00002152: MSTORE
00002153: SWAP1
00002154: JUMP
00002155: JUMPDEST
00002156: DUP1
00002157: CALLDATALOAD
00002158: PUSH1 0x01
0000215a: PUSH1 0x01
0000215c: PUSH1 0xa0
0000215e: SHL
0000215f: SUB
00002160: DUP2
00002161: AND
00002162: DUP2
00002163: EQ
00002164: PUSH2 0x216c
00002167: JUMPI
00002168: PUSH1 0x00
0000216a: DUP1
0000216b: REVERT
0000216c: JUMPDEST
0000216d: SWAP2
0000216e: SWAP1
0000216f: POP
00002170: JUMP
00002171: JUMPDEST
00002172: PUSH1 0x00
00002174: PUSH1 0x20
00002176: DUP3
00002177: DUP5
00002178: SUB
00002179: SLT
0000217a: ISZERO
0000217b: PUSH2 0x2183
0000217e: JUMPI
0000217f: PUSH1 0x00
00002181: DUP1
00002182: REVERT
00002183: JUMPDEST
00002184: PUSH2 0x177d
00002187: DUP3
00002188: PUSH2 0x2155
0000218b: JUMP
0000218c: JUMPDEST
0000218d: PUSH4 0x4e487b71
00002192: PUSH1 0xe0
00002194: SHL
00002195: PUSH1 0x00
00002197: MSTORE
00002198: PUSH1 0x41
0000219a: PUSH1 0x04
0000219c: MSTORE
0000219d: PUSH1 0x24
0000219f: PUSH1 0x00
000021a1: REVERT
000021a2: JUMPDEST
000021a3: PUSH1 0x00
000021a5: DUP3
000021a6: PUSH1 0x1f
000021a8: DUP4
000021a9: ADD
000021aa: SLT
000021ab: PUSH2 0x21b3
000021ae: JUMPI
000021af: PUSH1 0x00
000021b1: DUP1
000021b2: REVERT
000021b3: JUMPDEST
000021b4: DUP2
000021b5: CALLDATALOAD
000021b6: PUSH1 0x20
000021b8: PUSH8 0xffffffffffffffff
000021c1: DUP1
000021c2: DUP4
000021c3: GT
000021c4: ISZERO
000021c5: PUSH2 0x21d0
000021c8: JUMPI
000021c9: PUSH2 0x21d0
000021cc: PUSH2 0x218c
000021cf: JUMP
000021d0: JUMPDEST
000021d1: DUP3
000021d2: PUSH1 0x05
000021d4: SHL
000021d5: PUSH1 0x40
000021d7: MLOAD
000021d8: PUSH1 0x1f
000021da: NOT
000021db: PUSH1 0x3f
000021dd: DUP4
000021de: ADD
000021df: AND
000021e0: DUP2
000021e1: ADD
000021e2: DUP2
000021e3: DUP2
000021e4: LT
000021e5: DUP5
000021e6: DUP3
000021e7: GT
000021e8: OR
000021e9: ISZERO
000021ea: PUSH2 0x21f5
000021ed: JUMPI
000021ee: PUSH2 0x21f5
000021f1: PUSH2 0x218c
000021f4: JUMP
000021f5: JUMPDEST
000021f6: PUSH1 0x40
000021f8: MSTORE
000021f9: SWAP4
000021fa: DUP5
000021fb: MSTORE
000021fc: DUP6
000021fd: DUP2
000021fe: ADD
000021ff: DUP4
00002200: ADD
00002201: SWAP4
00002202: DUP4
00002203: DUP2
00002204: ADD
00002205: SWAP3
00002206: POP
00002207: DUP8
00002208: DUP6
00002209: GT
0000220a: ISZERO
0000220b: PUSH2 0x2213
0000220e: JUMPI
0000220f: PUSH1 0x00
00002211: DUP1
00002212: REVERT
00002213: JUMPDEST
00002214: DUP4
00002215: DUP8
00002216: ADD
00002217: SWAP2
00002218: POP
00002219: JUMPDEST
0000221a: DUP5
0000221b: DUP3
0000221c: LT
0000221d: ISZERO
0000221e: PUSH2 0x20d3
00002221: JUMPI
00002222: PUSH2 0x222a
00002225: DUP3
00002226: PUSH2 0x2155
00002229: JUMP
0000222a: JUMPDEST
0000222b: DUP4
0000222c: MSTORE
0000222d: SWAP2
0000222e: DUP4
0000222f: ADD
00002230: SWAP2
00002231: SWAP1
00002232: DUP4
00002233: ADD
00002234: SWAP1
00002235: PUSH2 0x2219
00002238: JUMP
00002239: JUMPDEST
0000223a: PUSH1 0x00
0000223c: DUP1
0000223d: PUSH1 0x40
0000223f: DUP4
00002240: DUP6
00002241: SUB
00002242: SLT
00002243: ISZERO
00002244: PUSH2 0x224c
00002247: JUMPI
00002248: PUSH1 0x00
0000224a: DUP1
0000224b: REVERT
0000224c: JUMPDEST
0000224d: DUP3
0000224e: CALLDATALOAD
0000224f: PUSH8 0xffffffffffffffff
00002258: DUP1
00002259: DUP3
0000225a: GT
0000225b: ISZERO
0000225c: PUSH2 0x2264
0000225f: JUMPI
00002260: PUSH1 0x00
00002262: DUP1
00002263: REVERT
00002264: JUMPDEST
00002265: PUSH2 0x2270
00002268: DUP7
00002269: DUP4
0000226a: DUP8
0000226b: ADD
0000226c: PUSH2 0x21a2
0000226f: JUMP
00002270: JUMPDEST
00002271: SWAP4
00002272: POP
00002273: PUSH1 0x20
00002275: DUP6
00002276: ADD
00002277: CALLDATALOAD
00002278: SWAP2
00002279: POP
0000227a: DUP1
0000227b: DUP3
0000227c: GT
0000227d: ISZERO
0000227e: PUSH2 0x2286
00002281: JUMPI
00002282: PUSH1 0x00
00002284: DUP1
00002285: REVERT
00002286: JUMPDEST
00002287: POP
00002288: PUSH2 0x2293
0000228b: DUP6
0000228c: DUP3
0000228d: DUP7
0000228e: ADD
0000228f: PUSH2 0x21a2
00002292: JUMP
00002293: JUMPDEST
00002294: SWAP2
00002295: POP
00002296: POP
00002297: SWAP3
00002298: POP
00002299: SWAP3
0000229a: SWAP1
0000229b: POP
0000229c: JUMP
0000229d: JUMPDEST
0000229e: PUSH1 0x00
000022a0: PUSH1 0x20
000022a2: DUP3
000022a3: DUP5
000022a4: SUB
000022a5: SLT
000022a6: ISZERO
000022a7: PUSH2 0x22af
000022aa: JUMPI
000022ab: PUSH1 0x00
000022ad: DUP1
000022ae: REVERT
000022af: JUMPDEST
000022b0: POP
000022b1: CALLDATALOAD
000022b2: SWAP2
000022b3: SWAP1
000022b4: POP
000022b5: JUMP
000022b6: JUMPDEST
000022b7: PUSH1 0x00
000022b9: DUP1
000022ba: PUSH1 0x00
000022bc: PUSH1 0x60
000022be: DUP5
000022bf: DUP7
000022c0: SUB
000022c1: SLT
000022c2: ISZERO
000022c3: PUSH2 0x22cb
000022c6: JUMPI
000022c7: PUSH1 0x00
000022c9: DUP1
000022ca: REVERT
000022cb: JUMPDEST
000022cc: DUP4
000022cd: CALLDATALOAD
000022ce: PUSH1 0xff
000022d0: DUP2
000022d1: AND
000022d2: DUP2
000022d3: EQ
000022d4: PUSH2 0x22dc
000022d7: JUMPI
000022d8: PUSH1 0x00
000022da: DUP1
000022db: REVERT
000022dc: JUMPDEST
000022dd: SWAP6
000022de: PUSH1 0x20
000022e0: DUP6
000022e1: ADD
000022e2: CALLDATALOAD
000022e3: SWAP6
000022e4: POP
000022e5: PUSH1 0x40
000022e7: SWAP1
000022e8: SWAP5
000022e9: ADD
000022ea: CALLDATALOAD
000022eb: SWAP4
000022ec: SWAP3
000022ed: POP
000022ee: POP
000022ef: POP
000022f0: JUMP
000022f1: JUMPDEST
000022f2: PUSH1 0x01
000022f4: PUSH1 0x01
000022f6: PUSH1 0xa0
000022f8: SHL
000022f9: SUB
000022fa: SWAP2
000022fb: SWAP1
000022fc: SWAP2
000022fd: AND
000022fe: DUP2
000022ff: MSTORE
00002300: PUSH1 0x20
00002302: ADD
00002303: SWAP1
00002304: JUMP
00002305: JUMPDEST
00002306: PUSH1 0x00
00002308: PUSH1 0x20
0000230a: DUP3
0000230b: DUP5
0000230c: SUB
0000230d: SLT
0000230e: ISZERO
0000230f: PUSH2 0x2317
00002312: JUMPI
00002313: PUSH1 0x00
00002315: DUP1
00002316: REVERT
00002317: JUMPDEST
00002318: DUP2
00002319: CALLDATALOAD
0000231a: PUSH8 0xffffffffffffffff
00002323: DUP2
00002324: GT
00002325: ISZERO
00002326: PUSH2 0x232e
00002329: JUMPI
0000232a: PUSH1 0x00
0000232c: DUP1
0000232d: REVERT
0000232e: JUMPDEST
0000232f: PUSH2 0x1fae
00002332: DUP5
00002333: DUP3
00002334: DUP6
00002335: ADD
00002336: PUSH2 0x21a2
00002339: JUMP
0000233a: JUMPDEST
0000233b: PUSH1 0x20
0000233d: DUP1
0000233e: DUP3
0000233f: MSTORE
00002340: DUP2
00002341: DUP2
00002342: ADD
00002343: MSTORE
00002344: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00002365: PUSH1 0x40
00002367: DUP3
00002368: ADD
00002369: MSTORE
0000236a: PUSH1 0x60
0000236c: ADD
0000236d: SWAP1
0000236e: JUMP
0000236f: JUMPDEST
00002370: PUSH1 0x20
00002372: DUP1
00002373: DUP3
00002374: MSTORE
00002375: PUSH1 0x1f
00002377: SWAP1
00002378: DUP3
00002379: ADD
0000237a: MSTORE
0000237b: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
0000239c: PUSH1 0x40
0000239e: DUP3
0000239f: ADD
000023a0: MSTORE
000023a1: PUSH1 0x60
000023a3: ADD
000023a4: SWAP1
000023a5: JUMP
000023a6: JUMPDEST
000023a7: PUSH4 0x4e487b71
000023ac: PUSH1 0xe0
000023ae: SHL
000023af: PUSH1 0x00
000023b1: MSTORE
000023b2: PUSH1 0x32
000023b4: PUSH1 0x04
000023b6: MSTORE
000023b7: PUSH1 0x24
000023b9: PUSH1 0x00
000023bb: REVERT
000023bc: JUMPDEST
000023bd: PUSH4 0x4e487b71
000023c2: PUSH1 0xe0
000023c4: SHL
000023c5: PUSH1 0x00
000023c7: MSTORE
000023c8: PUSH1 0x11
000023ca: PUSH1 0x04
000023cc: MSTORE
000023cd: PUSH1 0x24
000023cf: PUSH1 0x00
000023d1: REVERT
000023d2: JUMPDEST
000023d3: PUSH1 0x00
000023d5: PUSH1 0x00
000023d7: NOT
000023d8: DUP3
000023d9: EQ
000023da: ISZERO
000023db: PUSH2 0x23e6
000023de: JUMPI
000023df: PUSH2 0x23e6
000023e2: PUSH2 0x23bc
000023e5: JUMP
000023e6: JUMPDEST
000023e7: POP
000023e8: PUSH1 0x01
000023ea: ADD
000023eb: SWAP1
000023ec: JUMP
000023ed: JUMPDEST
000023ee: PUSH1 0x20
000023f0: DUP1
000023f1: DUP3
000023f2: MSTORE
000023f3: PUSH1 0x1f
000023f5: SWAP1
000023f6: DUP3
000023f7: ADD
000023f8: MSTORE
000023f9: PUSH32 0x57697468647261773a205068617365206d757374206265205374616b696e6700
0000241a: PUSH1 0x40
0000241c: DUP3
0000241d: ADD
0000241e: MSTORE
0000241f: PUSH1 0x60
00002421: ADD
00002422: SWAP1
00002423: JUMP
00002424: JUMPDEST
00002425: PUSH1 0x20
00002427: DUP1
00002428: DUP3
00002429: MSTORE
0000242a: PUSH1 0x1b
0000242c: SWAP1
0000242d: DUP3
0000242e: ADD
0000242f: MSTORE
00002430: PUSH32 0x57697468647261773a2055736572206e6f7420656c696769626c650000000000
00002451: PUSH1 0x40
00002453: DUP3
00002454: ADD
00002455: MSTORE
00002456: PUSH1 0x60
00002458: ADD
00002459: SWAP1
0000245a: JUMP
0000245b: JUMPDEST
0000245c: PUSH1 0x20
0000245e: DUP1
0000245f: DUP3
00002460: MSTORE
00002461: PUSH1 0x1a
00002463: SWAP1
00002464: DUP3
00002465: ADD
00002466: MSTORE
00002467: PUSH32 0x57697468647261773a204e6f2070656e64696e6720746f6b656e000000000000
00002488: PUSH1 0x40
0000248a: DUP3
0000248b: ADD
0000248c: MSTORE
0000248d: PUSH1 0x60
0000248f: ADD
00002490: SWAP1
00002491: JUMP
00002492: JUMPDEST
00002493: PUSH1 0x00
00002495: DUP3
00002496: NOT
00002497: DUP3
00002498: GT
00002499: ISZERO
0000249a: PUSH2 0x24a5
0000249d: JUMPI
0000249e: PUSH2 0x24a5
000024a1: PUSH2 0x23bc
000024a4: JUMP
000024a5: JUMPDEST
000024a6: POP
000024a7: ADD
000024a8: SWAP1
000024a9: JUMP
000024aa: JUMPDEST
000024ab: PUSH1 0x00
000024ad: DUP2
000024ae: PUSH1 0x00
000024b0: NOT
000024b1: DIV
000024b2: DUP4
000024b3: GT
000024b4: DUP3
000024b5: ISZERO
000024b6: ISZERO
000024b7: AND
000024b8: ISZERO
000024b9: PUSH2 0x24c4
000024bc: JUMPI
000024bd: PUSH2 0x24c4
000024c0: PUSH2 0x23bc
000024c3: JUMP
000024c4: JUMPDEST
000024c5: POP
000024c6: MUL
000024c7: SWAP1
000024c8: JUMP
000024c9: JUMPDEST
000024ca: PUSH1 0x00
000024cc: PUSH1 0x20
000024ce: DUP3
000024cf: DUP5
000024d0: SUB
000024d1: SLT
000024d2: ISZERO
000024d3: PUSH2 0x24db
000024d6: JUMPI
000024d7: PUSH1 0x00
000024d9: DUP1
000024da: REVERT
000024db: JUMPDEST
000024dc: POP
000024dd: MLOAD
000024de: SWAP2
000024df: SWAP1
000024e0: POP
000024e1: JUMP
000024e2: JUMPDEST
000024e3: PUSH1 0x00
000024e5: DUP3
000024e6: DUP3
000024e7: LT
000024e8: ISZERO
000024e9: PUSH2 0x24f4
000024ec: JUMPI
000024ed: PUSH2 0x24f4
000024f0: PUSH2 0x23bc
000024f3: JUMP
000024f4: JUMPDEST
000024f5: POP
000024f6: SUB
000024f7: SWAP1
000024f8: JUMP
000024f9: JUMPDEST
000024fa: PUSH1 0x00
000024fc: DUP3
000024fd: PUSH2 0x2516
00002500: JUMPI
00002501: PUSH4 0x4e487b71
00002506: PUSH1 0xe0
00002508: SHL
00002509: PUSH1 0x00
0000250b: MSTORE
0000250c: PUSH1 0x12
0000250e: PUSH1 0x04
00002510: MSTORE
00002511: PUSH1 0x24
00002513: PUSH1 0x00
00002515: REVERT
00002516: JUMPDEST
00002517: POP
00002518: DIV
00002519: SWAP1
0000251a: JUMP
0000251b: JUMPDEST
0000251c: PUSH1 0x00
0000251e: PUSH1 0x20
00002520: DUP3
00002521: DUP5
00002522: SUB
00002523: SLT
00002524: ISZERO
00002525: PUSH2 0x252d
00002528: JUMPI
00002529: PUSH1 0x00
0000252b: DUP1
0000252c: REVERT
0000252d: JUMPDEST
0000252e: DUP2
0000252f: MLOAD
00002530: DUP1
00002531: ISZERO
00002532: ISZERO
00002533: DUP2
00002534: EQ
00002535: PUSH2 0x177d
00002538: JUMPI
00002539: PUSH1 0x00
0000253b: DUP1
0000253c: REVERT
0000253d: JUMPDEST
0000253e: PUSH1 0x00
00002540: JUMPDEST
00002541: DUP4
00002542: DUP2
00002543: LT
00002544: ISZERO
00002545: PUSH2 0x2558
00002548: JUMPI
00002549: DUP2
0000254a: DUP2
0000254b: ADD
0000254c: MLOAD
0000254d: DUP4
0000254e: DUP3
0000254f: ADD
00002550: MSTORE
00002551: PUSH1 0x20
00002553: ADD
00002554: PUSH2 0x2540
00002557: JUMP
00002558: JUMPDEST
00002559: DUP4
0000255a: DUP2
0000255b: GT
0000255c: ISZERO
0000255d: PUSH2 0x2567
00002560: JUMPI
00002561: PUSH1 0x00
00002563: DUP5
00002564: DUP5
00002565: ADD
00002566: MSTORE
00002567: JUMPDEST
00002568: POP
00002569: POP
0000256a: POP
0000256b: POP
0000256c: JUMP
0000256d: JUMPDEST
0000256e: PUSH1 0x00
00002570: DUP3
00002571: MLOAD
00002572: PUSH2 0x257f
00002575: DUP2
00002576: DUP5
00002577: PUSH1 0x20
00002579: DUP8
0000257a: ADD
0000257b: PUSH2 0x253d
0000257e: JUMP
0000257f: JUMPDEST
00002580: SWAP2
00002581: SWAP1
00002582: SWAP2
00002583: ADD
00002584: SWAP3
00002585: SWAP2
00002586: POP
00002587: POP
00002588: JUMP
00002589: JUMPDEST
0000258a: PUSH1 0x20
0000258c: DUP2
0000258d: MSTORE
0000258e: PUSH1 0x00
00002590: DUP3
00002591: MLOAD
00002592: DUP1
00002593: PUSH1 0x20
00002595: DUP5
00002596: ADD
00002597: MSTORE
00002598: PUSH2 0x25a8
0000259b: DUP2
0000259c: PUSH1 0x40
0000259e: DUP6
0000259f: ADD
000025a0: PUSH1 0x20
000025a2: DUP8
000025a3: ADD
000025a4: PUSH2 0x253d
000025a7: JUMP
000025a8: JUMPDEST
000025a9: PUSH1 0x1f
000025ab: ADD
000025ac: PUSH1 0x1f
000025ae: NOT
000025af: AND
000025b0: SWAP2
000025b1: SWAP1
000025b2: SWAP2
000025b3: ADD
000025b4: PUSH1 0x40
000025b6: ADD
000025b7: SWAP3
000025b8: SWAP2
000025b9: POP
000025ba: POP
000025bb: JUMP
000025bc: INVALID
000025bd: LOG2
000025be: PUSH5 0x6970667358
000025c4: UNKNOWN(0x22)
000025c5: SLT
000025c6: KECCAK256
000025c7: ADD
000025c8: JUMP
000025c9: PUSH26 0x9ca4c281d83cfb56358298509d08fafcf9b6a142c89452a450c1
000025e4: XOR
000025e5: UNKNOWN(0xD3)
000025e6: UNKNOWN(0xBE)
000025e7: PUSH5 0x736f6c6343
000025ed: STOP
000025ee: ADDMOD
000025ef: SIGNEXTEND
000025f0: STOP
000025f1: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x99f49a5b82fbd7efc12ad4cd73527df20d983a8f35e3c7f6016e3bb6f889c49b
call_targets: 0xc2f44bc508b6b50047a2f3afb1984ed105070be1
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x99f49a5b82fbd7efc12ad4cd73527df20d983a8f35e3c7f6016e3bb6f889c49b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xc2f44bc508b6b50047a2f3afb1984ed105070be1"
    ],
    "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": "0xce9d16fe",
            "selector": "0xce9d16fe",
            "calldata_variants": [
                "0xce9d16fe",
                "0xce9d16fe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdb2e21bc",
            "selector": "0xdb2e21bc",
            "calldata_variants": [
                "0xdb2e21bc",
                "0xdb2e21bc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdf1fb713",
            "selector": "0xdf1fb713",
            "calldata_variants": [
                "0xdf1fb713",
                "0xdf1fb7130000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xebde5ee6",
            "selector": "0xebde5ee6",
            "calldata_variants": [
                "0xebde5ee6",
                "0xebde5ee60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec2fc051",
            "selector": "0xec2fc051",
            "calldata_variants": [
                "0xec2fc051",
                "0xec2fc0510000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf40f0f52",
            "selector": "0xf40f0f52",
            "calldata_variants": [
                "0xf40f0f52",
                "0xf40f0f520000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf7c618c1",
            "selector": "0xf7c618c1",
            "calldata_variants": [
                "0xf7c618c1",
                "0xf7c618c10000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 6563,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 8334,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [],
    "untrusted_call_count": 2
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x99f49a5b82fbd7efc12ad4cd73527df20d983a8f35e3c7f6016e3bb6f889c49b
call_targets: 0xc2f44bc508b6b50047a2f3afb1984ed105070be1
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x99f49a5b82fbd7efc12ad4cd73527df20d983a8f35e3c7f6016e3bb6f889c49b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xc2f44bc508b6b50047a2f3afb1984ed105070be1"
    ],
    "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": "0xce9d16fe",
            "selector": "0xce9d16fe",
            "calldata_variants": [
                "0xce9d16fe",
                "0xce9d16fe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdb2e21bc",
            "selector": "0xdb2e21bc",
            "calldata_variants": [
                "0xdb2e21bc",
                "0xdb2e21bc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdf1fb713",
            "selector": "0xdf1fb713",
            "calldata_variants": [
                "0xdf1fb713",
                "0xdf1fb7130000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xebde5ee6",
            "selector": "0xebde5ee6",
            "calldata_variants": [
                "0xebde5ee6",
                "0xebde5ee60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec2fc051",
            "selector": "0xec2fc051",
            "calldata_variants": [
                "0xec2fc051",
                "0xec2fc0510000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf40f0f52",
            "selector": "0xf40f0f52",
            "calldata_variants": [
                "0xf40f0f52",
                "0xf40f0f520000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf7c618c1",
            "selector": "0xf7c618c1",
            "calldata_variants": [
                "0xf7c618c1",
                "0xf7c618c10000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 6563,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 8334,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": []
}
medium auth codex Allowlist signatures lack domain separation, enabling replay across deployments/chains 75 no
view
evidence_json
{
    "evidence": "`deposit` recovers the signer from `keccak256(abi.encode(msg.sender))` and checks it against `signers` without including contract address, chain id, or a nonce.",
    "locations": [
        "contracts/contracts/Presale.sol:114",
        "contracts/contracts/Presale.sol:124",
        "contracts/contracts/Presale.sol:125"
    ],
    "recommendation": "Bind the signed message to this contract and chain by including `address(this)`, `block.chainid`, and a sale-specific nonce or identifier, and verify using EIP-712 typed data (or at least `toEthSignedMessageHash`). Consider tracking used signatures if you allow multiple deposits per address in future versions.",
    "exploit_scenario": "A user obtains a whitelist signature for their address from another deployment (e.g., testnet, previous sale, or cloned contract) that uses the same signer keys and message format. Because the signed message only hashes the address, the user can reuse that signature here to pass `deposit` and bypass the intended per-sale whitelist boundary."
}