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

Analysis Run

a4ff4f05-4e3e-4551-98c5-e84e98ac3bc8

complete
Chain ID
1
Address
Block Number
Created
Sun, Dec 28, 2025 7:58 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
Authorization based on tx.origin
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
30374 report.consolidate complete 1 / 1 3 months ago
74428 artifact.fetch complete 1 / 3 1 week ago
74429 tool.cast_disasm complete 1 / 3 1 week ago
74430 analysis.bundle complete 1 / 3 1 week ago
74431 capability.graph complete 1 / 3 1 week ago
74432 detector.run complete 1 / 3 1 week ago
74433 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
3
No findings?
no
Summary
Identified one accounting/invariant risk around deposit minting, plus a low-severity logic bug in transfer address validation and a governance/timelock bypass footgun.
View stderr
[codex:644649] OpenAI Codex v0.77.0 (research preview)
[codex:644649] --------
[codex:644649] workdir: /tmp/codex-multi-tg09c73r
[codex:644649] model: gpt-5.2-codex
[codex:644649] provider: openai
[codex:644649] approval: never
[codex:644649] sandbox: read-only
[codex:644649] reasoning effort: xhigh
[codex:644649] reasoning summaries: auto
[codex:644649] session id: 019b6688-2e9f-75c1-b605-bd13b4e7841c
[codex:644649] --------
[codex:644649] user
[codex:644649] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:644649] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:644649] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:644649] 
[codex:644649] Scope rules:
[codex:644649] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:644649] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:644649] 
[codex:644649] Output MUST be valid JSON matching the provided schema.
[codex:644649] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:644649] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:644649] 
[codex:644649] Output constraints (IMPORTANT):
[codex:644649] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:644649] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:644649] mcp startup: no servers
[codex:644649] 
[codex:644649] thinking
[codex:644649] **Starting investigation for instructions**
[codex:644649] exec
[codex:644649] /bin/bash -lc ls in /tmp/codex-multi-tg09c73r succeeded in 6ms:
[codex:644649] AUDIT_BUNDLE.txt
[codex:644649] codex-output-schema.json
[codex:644649] contracts
[codex:644649] 
[codex:644649] thinking
[codex:644649] **Opening AUDIT_BUNDLE file**
[codex:644649] exec
[codex:644649] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-tg09c73r succeeded in 5ms:
[codex:644649] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:644649] 
[codex:644649] ================================================================================
[codex:644649] FILE: contracts/Contract.sol
[codex:644649] ================================================================================
[codex:644649] /**
[codex:644649]  *Submitted for verification at FtmScan.com on 2022-02-16
[codex:644649] */
[codex:644649] 
[codex:644649] /**
[codex:644649]  *Submitted for verification at BscScan.com on 2022-02-11
[codex:644649] */
[codex:644649] 
[codex:644649] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:644649] 
[codex:644649] pragma solidity ^0.8.2;
[codex:644649] 
[codex:644649] /**
[codex:644649]  * @dev Interface of the ERC20 standard as defined in the EIP.
[codex:644649]  */
[codex:644649] 
[codex:644649] thinking
[codex:644649] **Identifying logical errors and potential risks in token contract**
[codex:644649] exec
[codex:644649] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '180,360p'" in /tmp/codex-multi-tg09c73r succeeded in 6ms:
[codex:644649]    180	        }
[codex:644649]    181	        return vault;
[codex:644649]    182	    }
[codex:644649]    183	
[codex:644649]    184	    function setVaultOnly(bool enabled) external onlyVault {
[codex:644649]    185	        _vaultOnly = enabled;
[codex:644649]    186	    }
[codex:644649]    187	
[codex:644649]    188	    function initVault(address _vault) external onlyVault {
[codex:644649]    189	        require(_init);
[codex:644649]    190	        vault = _vault;
[codex:644649]    191	        pendingVault = _vault;
[codex:644649]    192	        isMinter[_vault] = true;
[codex:644649]    193	        minters.push(_vault);
[codex:644649]    194	        delayVault = block.timestamp;
[codex:644649]    195	        _init = false;
[codex:644649]    196	    }
[codex:644649]    197	
[codex:644649]    198	    function setVault(address _vault) external onlyVault {
[codex:644649]    199	        require(_vault != address(0), "AnyswapV3ERC20: address(0x0)");
[codex:644649] 
[codex:644649] thinking
[codex:644649] **Preparing code for transfer process**
[codex:644649] exec
[codex:644649] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '400,620p'" in /tmp/codex-multi-tg09c73r succeeded in 6ms:
[codex:644649]    400	
[codex:644649]    401	        return true;
[codex:644649]    402	    }
[codex:644649]    403	
[codex:644649]    404	    /// @dev Sets `value` as allowance of `spender` account over caller account's AnyswapV3ERC20 token,
[codex:644649]    405	    /// after which a call is executed to an ERC677-compliant contract with the `data` parameter.
[codex:644649]    406	    /// Emits {Approval} event.
[codex:644649]    407	    /// Returns boolean value indicating whether operation succeeded.
[codex:644649]    408	    /// For more information on approveAndCall format, see https://github.com/ethereum/EIPs/issues/677.
[codex:644649]    409	    function approveAndCall(address spender, uint256 value, bytes calldata data) external override returns (bool) {
[codex:644649]    410	        // _approve(msg.sender, spender, value);
[codex:644649]    411	        allowance[msg.sender][spender] = value;
[codex:644649]    412	        emit Approval(msg.sender, spender, value);
[codex:644649]    413	
[codex:644649]    414	        return IApprovalReceiver(spender).onTokenApproval(msg.sender, value, data);
[codex:644649]    415	    }
[codex:644649]    416	
[codex:644649]    417	    /// @dev Sets `value` as allowance of `spender` account over `owner` account's AnyswapV3ERC20 token, given `owner` account's signed approval.
[codex:644649]    418	    /// Emits {Approval} event.
[codex:644649]    419	    /// Requirements:
[codex:644649] 
[codex:644649] 
[codex:644649] thinking
[codex:644649] **Summarizing security findings**
[codex:644649] 
[codex:644649] I'll organize key issues into a structured report, focusing on a medium-severity accounting bug around deflationary token deposits that breaks token backing invariants, a low-severity logic bug allowing transfers to zero or self due to a faulty address check, and an informational note about a governance timelock bypass enabling immediate vault changes. This will help clarify potential risks and recommended mitigations with precise code references.
[codex:644649] thinking
[codex:644649] **Preparing final JSON output**
[codex:644649] codex
[codex:644649] {"no_findings":false,"summary":"Identified one accounting/invariant risk around deposit minting, plus a low-severity logic bug in transfer address validation and a governance/timelock bypass footgun.","findings":[{"severity":"medium","category":"math","title":"Minting uses requested deposit amount rather than actual received amount","exploit_scenario":"If the underlying token charges a transfer fee or rebases downward, an attacker can deposit 100 tokens (contract receives less), but still mint 100 wrapped tokens, then withdraw the full 100 to drain the pooled underlying backing.","recommendation":"Mint based on the actual amount received by measuring `balanceOf` before/after the transfer, or explicitly restrict the underlying to non-fee, non-rebasing ERC20s and enforce that invariant.","evidence":"`deposit`/`deposit(amount)` perform `safeTransferFrom` for `amount` and then call `_deposit(amount, ...)`, which mints exactly `amount` without checking the post-transfer balance.","locations":["contracts/Contract.sol:309","contracts/Contract.sol:315","contracts/Contract.sol:320","contracts/Contract.sol:329","contracts/Contract.sol:331"]},{"severity":"low","category":"other","title":"Transfer destination check always passes due to `||`","exploit_scenario":"Transfers to `address(0)` or to the token contract itself are allowed even though comments indicate they should be blocked; this can lock tokens irrecoverably or violate integration assumptions that such transfers revert.","recommendation":"Use `require(to != address(0) && to != address(this))` or implement explicit burn/withdraw semantics if zero/self transfers are intended.","evidence":"The condition `require(to != address(0) || to != address(this))` is always true for any address, so it never blocks transfers.","locations":["contracts/Contract.sol:459","contracts/Contract.sol:498","contracts/Contract.sol:520","contracts/Contract.sol:551"]},{"severity":"info","category":"access_control","title":"Timelock bypass via changeVault","exploit_scenario":"Even if users rely on `setVault`’s delay, the current vault can instantly switch control with `changeVault`, eliminating the intended reaction window for governance/security monitoring.","recommendation":"Remove `changeVault` or enforce the same delay mechanism used by `setVault`/`applyVault`.","evidence":"`changeVault` immediately updates `vault`/`pendingVault` without delay, while `setVault` uses a delay mechanism.","locations":["contracts/Contract.sol:198","contracts/Contract.sol:230"]}]}
[codex:644649] tokens used
[codex:644649] 19,358
[codex:644649] {"no_findings":false,"summary":"Identified one accounting/invariant risk around deposit minting, plus a low-severity logic bug in transfer address validation and a governance/timelock bypass footgun.","findings":[{"severity":"medium","category":"math","title":"Minting uses requested deposit amount rather than actual received amount","exploit_scenario":"If the underlying token charges a transfer fee or rebases downward, an attacker can deposit 100 tokens (contract receives less), but still mint 100 wrapped tokens, then withdraw the full 100 to drain the pooled underlying backing.","recommendation":"Mint based on the actual amount received by measuring `balanceOf` before/after the transfer, or explicitly restrict the underlying to non-fee, non-rebasing ERC20s and enforce that invariant.","evidence":"`deposit`/`deposit(amount)` perform `safeTransferFrom` for `amount` and then call `_deposit(amount, ...)`, which mints exactly `amount` without checking the post-transfer balance.","locations":["contracts/Contract.sol:309","contracts/Contract.sol:315","contracts/Contract.sol:320","contracts/Contract.sol:329","contracts/Contract.sol:331"]},{"severity":"low","category":"other","title":"Transfer destination check always passes due to `||`","exploit_scenario":"Transfers to `address(0)` or to the token contract itself are allowed even though comments indicate they should be blocked; this can lock tokens irrecoverably or violate integration assumptions that such transfers revert.","recommendation":"Use `require(to != address(0) && to != address(this))` or implement explicit burn/withdraw semantics if zero/self transfers are intended.","evidence":"The condition `require(to != address(0) || to != address(this))` is always true for any address, so it never blocks transfers.","locations":["contracts/Contract.sol:459","contracts/Contract.sol:498","contracts/Contract.sol:520","contracts/Contract.sol:551"]},{"severity":"info","category":"access_control","title":"Timelock bypass via changeVault","exploit_scenario":"Even if users rely on `setVault`’s delay, the current vault can instantly switch control with `changeVault`, eliminating the intended reaction window for governance/security monitoring.","recommendation":"Remove `changeVault` or enforce the same delay mechanism used by `setVault`/`applyVault`.","evidence":"`changeVault` immediately updates `vault`/`pendingVault` without delay, while `setVault` uses a delay mechanism.","locations":["contracts/Contract.sol:198","contracts/Contract.sol:230"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-28T19:58:36.956469+00:00",
        "returncode": 0
    },
    "summary": "Identified one accounting/invariant risk around deposit minting, plus a low-severity logic bug in transfer address validation and a governance/timelock bypass footgun.",
    "raw_final": {
        "summary": "Identified one accounting/invariant risk around deposit minting, plus a low-severity logic bug in transfer address validation and a governance/timelock bypass footgun.",
        "findings": [
            {
                "title": "Minting uses requested deposit amount rather than actual received amount",
                "category": "math",
                "evidence": "`deposit`/`deposit(amount)` perform `safeTransferFrom` for `amount` and then call `_deposit(amount, ...)`, which mints exactly `amount` without checking the post-transfer balance.",
                "severity": "medium",
                "locations": [
                    "contracts/Contract.sol:309",
                    "contracts/Contract.sol:315",
                    "contracts/Contract.sol:320",
                    "contracts/Contract.sol:329",
                    "contracts/Contract.sol:331"
                ],
                "recommendation": "Mint based on the actual amount received by measuring `balanceOf` before/after the transfer, or explicitly restrict the underlying to non-fee, non-rebasing ERC20s and enforce that invariant.",
                "exploit_scenario": "If the underlying token charges a transfer fee or rebases downward, an attacker can deposit 100 tokens (contract receives less), but still mint 100 wrapped tokens, then withdraw the full 100 to drain the pooled underlying backing."
            },
            {
                "title": "Transfer destination check always passes due to `||`",
                "category": "other",
                "evidence": "The condition `require(to != address(0) || to != address(this))` is always true for any address, so it never blocks transfers.",
                "severity": "low",
                "locations": [
                    "contracts/Contract.sol:459",
                    "contracts/Contract.sol:498",
                    "contracts/Contract.sol:520",
                    "contracts/Contract.sol:551"
                ],
                "recommendation": "Use `require(to != address(0) && to != address(this))` or implement explicit burn/withdraw semantics if zero/self transfers are intended.",
                "exploit_scenario": "Transfers to `address(0)` or to the token contract itself are allowed even though comments indicate they should be blocked; this can lock tokens irrecoverably or violate integration assumptions that such transfers revert."
            },
            {
                "title": "Timelock bypass via changeVault",
                "category": "access_control",
                "evidence": "`changeVault` immediately updates `vault`/`pendingVault` without delay, while `setVault` uses a delay mechanism.",
                "severity": "info",
                "locations": [
                    "contracts/Contract.sol:198",
                    "contracts/Contract.sol:230"
                ],
                "recommendation": "Remove `changeVault` or enforce the same delay mechanism used by `setVault`/`applyVault`.",
                "exploit_scenario": "Even if users rely on `setVault`\u2019s delay, the current vault can instantly switch control with `changeVault`, eliminating the intended reaction window for governance/security monitoring."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
2
CALL-family (heavy)
7
EXT*/BALANCE
1
Total opcodes
5843
Flags
create_opcodes_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x0010
0000000b: JUMPI
0000000c: PUSH1 0x00
0000000e: DUP1
0000000f: REVERT
00000010: JUMPDEST
00000011: POP
00000012: PUSH1 0x04
00000014: CALLDATASIZE
00000015: LT
00000016: PUSH2 0x02b8
00000019: JUMPI
0000001a: PUSH1 0x00
0000001c: CALLDATALOAD
0000001d: PUSH1 0xe0
0000001f: SHR
00000020: DUP1
00000021: PUSH4 0x70a08231
00000026: GT
00000027: PUSH2 0x0182
0000002a: JUMPI
0000002b: DUP1
0000002c: PUSH4 0xbebbf4d0
00000031: GT
00000032: PUSH2 0x00e9
00000035: JUMPI
00000036: DUP1
00000037: PUSH4 0xd505accf
0000003c: GT
0000003d: PUSH2 0x00a2
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0xec126c77
00000047: GT
00000048: PUSH2 0x007c
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0xec126c77
00000052: EQ
00000053: PUSH2 0x06a2
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0xf75c2664
0000005d: EQ
0000005e: PUSH2 0x06b5
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0xfbfa77cf
00000068: EQ
00000069: PUSH2 0x06bd
0000006c: JUMPI
0000006d: DUP1
0000006e: PUSH4 0xfca3b5aa
00000073: EQ
00000074: PUSH2 0x06d0
00000077: JUMPI
00000078: PUSH1 0x00
0000007a: DUP1
0000007b: REVERT
0000007c: JUMPDEST
0000007d: DUP1
0000007e: PUSH4 0xd505accf
00000083: EQ
00000084: PUSH2 0x065c
00000087: JUMPI
00000088: DUP1
00000089: PUSH4 0xd93f2445
0000008e: EQ
0000008f: PUSH2 0x066f
00000092: JUMPI
00000093: DUP1
00000094: PUSH4 0xdd62ed3e
00000099: EQ
0000009a: PUSH2 0x0677
0000009d: JUMPI
0000009e: PUSH1 0x00
000000a0: DUP1
000000a1: REVERT
000000a2: JUMPDEST
000000a3: DUP1
000000a4: PUSH4 0xbebbf4d0
000000a9: EQ
000000aa: PUSH2 0x05ff
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0xc3081240
000000b4: EQ
000000b5: PUSH2 0x0612
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0xc4b740f5
000000bf: EQ
000000c0: PUSH2 0x061b
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0xcae9ca51
000000ca: EQ
000000cb: PUSH2 0x062e
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0xcfbd4885
000000d5: EQ
000000d6: PUSH2 0x0641
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0xd0e30db0
000000e0: EQ
000000e1: PUSH2 0x0654
000000e4: JUMPI
000000e5: PUSH1 0x00
000000e7: DUP1
000000e8: REVERT
000000e9: JUMPDEST
000000ea: DUP1
000000eb: PUSH4 0x95d89b41
000000f0: GT
000000f1: PUSH2 0x013b
000000f4: JUMPI
000000f5: DUP1
000000f6: PUSH4 0x95d89b41
000000fb: EQ
000000fc: PUSH2 0x0586
000000ff: JUMPI
00000100: DUP1
00000101: PUSH4 0x9dc29fac
00000106: EQ
00000107: PUSH2 0x058e
0000010a: JUMPI
0000010b: DUP1
0000010c: PUSH4 0xa045442c
00000111: EQ
00000112: PUSH2 0x05a1
00000115: JUMPI
00000116: DUP1
00000117: PUSH4 0xa9059cbb
0000011c: EQ
0000011d: PUSH2 0x05b6
00000120: JUMPI
00000121: DUP1
00000122: PUSH4 0xaa271e1a
00000127: EQ
00000128: PUSH2 0x05c9
0000012b: JUMPI
0000012c: DUP1
0000012d: PUSH4 0xb6b55f25
00000132: EQ
00000133: PUSH2 0x05ec
00000136: JUMPI
00000137: PUSH1 0x00
00000139: DUP1
0000013a: REVERT
0000013b: JUMPDEST
0000013c: DUP1
0000013d: PUSH4 0x70a08231
00000142: EQ
00000143: PUSH2 0x050f
00000146: JUMPI
00000147: DUP1
00000148: PUSH4 0x7ecebe00
0000014d: EQ
0000014e: PUSH2 0x052f
00000151: JUMPI
00000152: DUP1
00000153: PUSH4 0x8623ec7b
00000158: EQ
00000159: PUSH2 0x054f
0000015c: JUMPI
0000015d: DUP1
0000015e: PUSH4 0x87689e28
00000163: EQ
00000164: PUSH2 0x0562
00000167: JUMPI
00000168: DUP1
00000169: PUSH4 0x8da5cb5b
0000016e: EQ
0000016f: PUSH2 0x056b
00000172: JUMPI
00000173: DUP1
00000174: PUSH4 0x91c5df49
00000179: EQ
0000017a: PUSH2 0x0573
0000017d: JUMPI
0000017e: PUSH1 0x00
00000180: DUP1
00000181: REVERT
00000182: JUMPDEST
00000183: DUP1
00000184: PUSH4 0x3644e515
00000189: GT
0000018a: PUSH2 0x0226
0000018d: JUMPI
0000018e: DUP1
0000018f: PUSH4 0x60e232a9
00000194: GT
00000195: PUSH2 0x01df
00000198: JUMPI
00000199: DUP1
0000019a: PUSH4 0x60e232a9
0000019f: EQ
000001a0: PUSH2 0x0493
000001a3: JUMPI
000001a4: DUP1
000001a5: PUSH4 0x628d6cba
000001aa: EQ
000001ab: PUSH2 0x04a6
000001ae: JUMPI
000001af: DUP1
000001b0: PUSH4 0x6817031b
000001b5: EQ
000001b6: PUSH2 0x04b9
000001b9: JUMPI
000001ba: DUP1
000001bb: PUSH4 0x6a42b8f8
000001c0: EQ
000001c1: PUSH2 0x04cc
000001c4: JUMPI
000001c5: DUP1
000001c6: PUSH4 0x6e553f65
000001cb: EQ
000001cc: PUSH2 0x04d5
000001cf: JUMPI
000001d0: DUP1
000001d1: PUSH4 0x6f307dc3
000001d6: EQ
000001d7: PUSH2 0x04e8
000001da: JUMPI
000001db: PUSH1 0x00
000001dd: DUP1
000001de: REVERT
000001df: JUMPDEST
000001e0: DUP1
000001e1: PUSH4 0x3644e515
000001e6: EQ
000001e7: PUSH2 0x0400
000001ea: JUMPI
000001eb: DUP1
000001ec: PUSH4 0x3ccfd60b
000001f1: EQ
000001f2: PUSH2 0x0427
000001f5: JUMPI
000001f6: DUP1
000001f7: PUSH4 0x4000aea0
000001fc: EQ
000001fd: PUSH2 0x042f
00000200: JUMPI
00000201: DUP1
00000202: PUSH4 0x40c10f19
00000207: EQ
00000208: PUSH2 0x0442
0000020b: JUMPI
0000020c: DUP1
0000020d: PUSH4 0x52113ba7
00000212: EQ
00000213: PUSH2 0x0455
00000216: JUMPI
00000217: DUP1
00000218: PUSH4 0x605629d6
0000021d: EQ
0000021e: PUSH2 0x0480
00000221: JUMPI
00000222: PUSH1 0x00
00000224: DUP1
00000225: REVERT
00000226: JUMPDEST
00000227: DUP1
00000228: PUSH4 0x18160ddd
0000022d: GT
0000022e: PUSH2 0x0278
00000231: JUMPI
00000232: DUP1
00000233: PUSH4 0x18160ddd
00000238: EQ
00000239: PUSH2 0x035f
0000023c: JUMPI
0000023d: DUP1
0000023e: PUSH4 0x23b872dd
00000243: EQ
00000244: PUSH2 0x0367
00000247: JUMPI
00000248: DUP1
00000249: PUSH4 0x2e1a7d4d
0000024e: EQ
0000024f: PUSH2 0x037a
00000252: JUMPI
00000253: DUP1
00000254: PUSH4 0x2ebe3fbb
00000259: EQ
0000025a: PUSH2 0x038d
0000025d: JUMPI
0000025e: DUP1
0000025f: PUSH4 0x30adf81f
00000264: EQ
00000265: PUSH2 0x03a0
00000268: JUMPI
00000269: DUP1
0000026a: PUSH4 0x313ce567
0000026f: EQ
00000270: PUSH2 0x03c7
00000273: JUMPI
00000274: PUSH1 0x00
00000276: DUP1
00000277: REVERT
00000278: JUMPDEST
00000279: DUP1
0000027a: PUSH3 0x39d6ec
0000027e: EQ
0000027f: PUSH2 0x02bd
00000282: JUMPI
00000283: DUP1
00000284: PUSH3 0xbf26f4
00000288: EQ
00000289: PUSH2 0x02e3
0000028c: JUMPI
0000028d: DUP1
0000028e: PUSH3 0xf714ce
00000292: EQ
00000293: PUSH2 0x030a
00000296: JUMPI
00000297: DUP1
00000298: PUSH4 0x06fdde03
0000029d: EQ
0000029e: PUSH2 0x031d
000002a1: JUMPI
000002a2: DUP1
000002a3: PUSH4 0x095ea7b3
000002a8: EQ
000002a9: PUSH2 0x0332
000002ac: JUMPI
000002ad: DUP1
000002ae: PUSH4 0x0d707df8
000002b3: EQ
000002b4: PUSH2 0x0355
000002b7: JUMPI
000002b8: JUMPDEST
000002b9: PUSH1 0x00
000002bb: DUP1
000002bc: REVERT
000002bd: JUMPDEST
000002be: PUSH2 0x02d0
000002c1: PUSH2 0x02cb
000002c4: CALLDATASIZE
000002c5: PUSH1 0x04
000002c7: PUSH2 0x1fb1
000002ca: JUMP
000002cb: JUMPDEST
000002cc: PUSH2 0x06e3
000002cf: JUMP
000002d0: JUMPDEST
000002d1: PUSH1 0x40
000002d3: MLOAD
000002d4: SWAP1
000002d5: DUP2
000002d6: MSTORE
000002d7: PUSH1 0x20
000002d9: ADD
000002da: JUMPDEST
000002db: PUSH1 0x40
000002dd: MLOAD
000002de: DUP1
000002df: SWAP2
000002e0: SUB
000002e1: SWAP1
000002e2: RETURN
000002e3: JUMPDEST
000002e4: PUSH2 0x02d0
000002e7: PUSH32 0x42ce63790c28229c123925d83266e77c04d28784552ab68b350a9003226cbd59
00000308: DUP2
00000309: JUMP
0000030a: JUMPDEST
0000030b: PUSH2 0x02d0
0000030e: PUSH2 0x0318
00000311: CALLDATASIZE
00000312: PUSH1 0x04
00000314: PUSH2 0x1fed
00000317: JUMP
00000318: JUMPDEST
00000319: PUSH2 0x0739
0000031c: JUMP
0000031d: JUMPDEST
0000031e: PUSH2 0x0325
00000321: PUSH2 0x074d
00000324: JUMP
00000325: JUMPDEST
00000326: PUSH1 0x40
00000328: MLOAD
00000329: PUSH2 0x02da
0000032c: SWAP2
0000032d: SWAP1
0000032e: PUSH2 0x2045
00000331: JUMP
00000332: JUMPDEST
00000333: PUSH2 0x0345
00000336: PUSH2 0x0340
00000339: CALLDATASIZE
0000033a: PUSH1 0x04
0000033c: PUSH2 0x2078
0000033f: JUMP
00000340: JUMPDEST
00000341: PUSH2 0x07db
00000344: JUMP
00000345: JUMPDEST
00000346: PUSH1 0x40
00000348: MLOAD
00000349: SWAP1
0000034a: ISZERO
0000034b: ISZERO
0000034c: DUP2
0000034d: MSTORE
0000034e: PUSH1 0x20
00000350: ADD
00000351: PUSH2 0x02da
00000354: JUMP
00000355: JUMPDEST
00000356: PUSH2 0x035d
00000359: PUSH2 0x0835
0000035c: JUMP
0000035d: JUMPDEST
0000035e: STOP
0000035f: JUMPDEST
00000360: PUSH1 0x03
00000362: SLOAD
00000363: PUSH2 0x02d0
00000366: JUMP
00000367: JUMPDEST
00000368: PUSH2 0x0345
0000036b: PUSH2 0x0375
0000036e: CALLDATASIZE
0000036f: PUSH1 0x04
00000371: PUSH2 0x20a2
00000374: JUMP
00000375: JUMPDEST
00000376: PUSH2 0x08f1
00000379: JUMP
0000037a: JUMPDEST
0000037b: PUSH2 0x02d0
0000037e: PUSH2 0x0388
00000381: CALLDATASIZE
00000382: PUSH1 0x04
00000384: PUSH2 0x20de
00000387: JUMP
00000388: JUMPDEST
00000389: PUSH2 0x0adc
0000038c: JUMP
0000038d: JUMPDEST
0000038e: PUSH2 0x035d
00000391: PUSH2 0x039b
00000394: CALLDATASIZE
00000395: PUSH1 0x04
00000397: PUSH2 0x20f7
0000039a: JUMP
0000039b: JUMPDEST
0000039c: PUSH2 0x0aef
0000039f: JUMP
000003a0: JUMPDEST
000003a1: PUSH2 0x02d0
000003a4: PUSH32 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9
000003c5: DUP2
000003c6: JUMP
000003c7: JUMPDEST
000003c8: PUSH2 0x03ee
000003cb: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000012
000003ec: DUP2
000003ed: JUMP
000003ee: JUMPDEST
000003ef: PUSH1 0x40
000003f1: MLOAD
000003f2: PUSH1 0xff
000003f4: SWAP1
000003f5: SWAP2
000003f6: AND
000003f7: DUP2
000003f8: MSTORE
000003f9: PUSH1 0x20
000003fb: ADD
000003fc: PUSH2 0x02da
000003ff: JUMP
00000400: JUMPDEST
00000401: PUSH2 0x02d0
00000404: PUSH32 0x584a74212f993f39abbcbc43a56ec7bc7fbeb1b356c465c2b1d2cd44c34eaf43
00000425: DUP2
00000426: JUMP
00000427: JUMPDEST
00000428: PUSH2 0x02d0
0000042b: PUSH2 0x0bc6
0000042e: JUMP
0000042f: JUMPDEST
00000430: PUSH2 0x0345
00000433: PUSH2 0x043d
00000436: CALLDATASIZE
00000437: PUSH1 0x04
00000439: PUSH2 0x2112
0000043c: JUMP
0000043d: JUMPDEST
0000043e: PUSH2 0x0be7
00000441: JUMP
00000442: JUMPDEST
00000443: PUSH2 0x0345
00000446: PUSH2 0x0450
00000449: CALLDATASIZE
0000044a: PUSH1 0x04
0000044c: PUSH2 0x2078
0000044f: JUMP
00000450: JUMPDEST
00000451: PUSH2 0x0d31
00000454: JUMP
00000455: JUMPDEST
00000456: PUSH1 0x0b
00000458: SLOAD
00000459: PUSH2 0x0468
0000045c: SWAP1
0000045d: PUSH1 0x01
0000045f: PUSH1 0x01
00000461: PUSH1 0xa0
00000463: SHL
00000464: SUB
00000465: AND
00000466: DUP2
00000467: JUMP
00000468: JUMPDEST
00000469: PUSH1 0x40
0000046b: MLOAD
0000046c: PUSH1 0x01
0000046e: PUSH1 0x01
00000470: PUSH1 0xa0
00000472: SHL
00000473: SUB
00000474: SWAP1
00000475: SWAP2
00000476: AND
00000477: DUP2
00000478: MSTORE
00000479: PUSH1 0x20
0000047b: ADD
0000047c: PUSH2 0x02da
0000047f: JUMP
00000480: JUMPDEST
00000481: PUSH2 0x0345
00000484: PUSH2 0x048e
00000487: CALLDATASIZE
00000488: PUSH1 0x04
0000048a: PUSH2 0x2199
0000048d: JUMP
0000048e: JUMPDEST
0000048f: PUSH2 0x0d73
00000492: JUMP
00000493: JUMPDEST
00000494: PUSH2 0x0345
00000497: PUSH2 0x04a1
0000049a: CALLDATASIZE
0000049b: PUSH1 0x04
0000049d: PUSH2 0x20f7
000004a0: JUMP
000004a1: JUMPDEST
000004a2: PUSH2 0x0f83
000004a5: JUMP
000004a6: JUMPDEST
000004a7: PUSH2 0x0345
000004aa: PUSH2 0x04b4
000004ad: CALLDATASIZE
000004ae: PUSH1 0x04
000004b0: PUSH2 0x1fed
000004b3: JUMP
000004b4: JUMPDEST
000004b5: PUSH2 0x1044
000004b8: JUMP
000004b9: JUMPDEST
000004ba: PUSH2 0x035d
000004bd: PUSH2 0x04c7
000004c0: CALLDATASIZE
000004c1: PUSH1 0x04
000004c3: PUSH2 0x20f7
000004c6: JUMP
000004c7: JUMPDEST
000004c8: PUSH2 0x110c
000004cb: JUMP
000004cc: JUMPDEST
000004cd: PUSH2 0x02d0
000004d0: PUSH1 0x05
000004d2: SLOAD
000004d3: DUP2
000004d4: JUMP
000004d5: JUMPDEST
000004d6: PUSH2 0x02d0
000004d9: PUSH2 0x04e3
000004dc: CALLDATASIZE
000004dd: PUSH1 0x04
000004df: PUSH2 0x1fed
000004e2: JUMP
000004e3: JUMPDEST
000004e4: PUSH2 0x1198
000004e7: JUMP
000004e8: JUMPDEST
000004e9: PUSH2 0x0468
000004ec: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
0000050d: DUP2
0000050e: JUMP
0000050f: JUMPDEST
00000510: PUSH2 0x02d0
00000513: PUSH2 0x051d
00000516: CALLDATASIZE
00000517: PUSH1 0x04
00000519: PUSH2 0x20f7
0000051c: JUMP
0000051d: JUMPDEST
0000051e: PUSH1 0x02
00000520: PUSH1 0x20
00000522: MSTORE
00000523: PUSH1 0x00
00000525: SWAP1
00000526: DUP2
00000527: MSTORE
00000528: PUSH1 0x40
0000052a: SWAP1
0000052b: KECCAK256
0000052c: SLOAD
0000052d: DUP2
0000052e: JUMP
0000052f: JUMPDEST
00000530: PUSH2 0x02d0
00000533: PUSH2 0x053d
00000536: CALLDATASIZE
00000537: PUSH1 0x04
00000539: PUSH2 0x20f7
0000053c: JUMP
0000053d: JUMPDEST
0000053e: PUSH1 0x0d
00000540: PUSH1 0x20
00000542: MSTORE
00000543: PUSH1 0x00
00000545: SWAP1
00000546: DUP2
00000547: MSTORE
00000548: PUSH1 0x40
0000054a: SWAP1
0000054b: KECCAK256
0000054c: SLOAD
0000054d: DUP2
0000054e: JUMP
0000054f: JUMPDEST
00000550: PUSH2 0x0468
00000553: PUSH2 0x055d
00000556: CALLDATASIZE
00000557: PUSH1 0x04
00000559: PUSH2 0x20de
0000055c: JUMP
0000055d: JUMPDEST
0000055e: PUSH2 0x11d9
00000561: JUMP
00000562: JUMPDEST
00000563: PUSH2 0x02d0
00000566: PUSH1 0x0c
00000568: SLOAD
00000569: DUP2
0000056a: JUMP
0000056b: JUMPDEST
0000056c: PUSH2 0x0468
0000056f: PUSH2 0x1203
00000572: JUMP
00000573: JUMPDEST
00000574: PUSH1 0x09
00000576: SLOAD
00000577: PUSH2 0x0468
0000057a: SWAP1
0000057b: PUSH1 0x01
0000057d: PUSH1 0x01
0000057f: PUSH1 0xa0
00000581: SHL
00000582: SUB
00000583: AND
00000584: DUP2
00000585: JUMP
00000586: JUMPDEST
00000587: PUSH2 0x0325
0000058a: PUSH2 0x120d
0000058d: JUMP
0000058e: JUMPDEST
0000058f: PUSH2 0x0345
00000592: PUSH2 0x059c
00000595: CALLDATASIZE
00000596: PUSH1 0x04
00000598: PUSH2 0x2078
0000059b: JUMP
0000059c: JUMPDEST
0000059d: PUSH2 0x121a
000005a0: JUMP
000005a1: JUMPDEST
000005a2: PUSH2 0x05a9
000005a5: PUSH2 0x1279
000005a8: JUMP
000005a9: JUMPDEST
000005aa: PUSH1 0x40
000005ac: MLOAD
000005ad: PUSH2 0x02da
000005b0: SWAP2
000005b1: SWAP1
000005b2: PUSH2 0x220c
000005b5: JUMP
000005b6: JUMPDEST
000005b7: PUSH2 0x0345
000005ba: PUSH2 0x05c4
000005bd: CALLDATASIZE
000005be: PUSH1 0x04
000005c0: PUSH2 0x2078
000005c3: JUMP
000005c4: JUMPDEST
000005c5: PUSH2 0x12db
000005c8: JUMP
000005c9: JUMPDEST
000005ca: PUSH2 0x0345
000005cd: PUSH2 0x05d7
000005d0: CALLDATASIZE
000005d1: PUSH1 0x04
000005d3: PUSH2 0x20f7
000005d6: JUMP
000005d7: JUMPDEST
000005d8: PUSH1 0x06
000005da: PUSH1 0x20
000005dc: MSTORE
000005dd: PUSH1 0x00
000005df: SWAP1
000005e0: DUP2
000005e1: MSTORE
000005e2: PUSH1 0x40
000005e4: SWAP1
000005e5: KECCAK256
000005e6: SLOAD
000005e7: PUSH1 0xff
000005e9: AND
000005ea: DUP2
000005eb: JUMP
000005ec: JUMPDEST
000005ed: PUSH2 0x02d0
000005f0: PUSH2 0x05fa
000005f3: CALLDATASIZE
000005f4: PUSH1 0x04
000005f6: PUSH2 0x20de
000005f9: JUMP
000005fa: JUMPDEST
000005fb: PUSH2 0x13b1
000005fe: JUMP
000005ff: JUMPDEST
00000600: PUSH2 0x02d0
00000603: PUSH2 0x060d
00000606: CALLDATASIZE
00000607: PUSH1 0x04
00000609: PUSH2 0x1fed
0000060c: JUMP
0000060d: JUMPDEST
0000060e: PUSH2 0x13f2
00000611: JUMP
00000612: JUMPDEST
00000613: PUSH2 0x02d0
00000616: PUSH1 0x0a
00000618: SLOAD
00000619: DUP2
0000061a: JUMP
0000061b: JUMPDEST
0000061c: PUSH2 0x035d
0000061f: PUSH2 0x0629
00000622: CALLDATASIZE
00000623: PUSH1 0x04
00000625: PUSH2 0x226a
00000628: JUMP
00000629: JUMPDEST
0000062a: PUSH2 0x142c
0000062d: JUMP
0000062e: JUMPDEST
0000062f: PUSH2 0x0345
00000632: PUSH2 0x063c
00000635: CALLDATASIZE
00000636: PUSH1 0x04
00000638: PUSH2 0x2112
0000063b: JUMP
0000063c: JUMPDEST
0000063d: PUSH2 0x147e
00000640: JUMP
00000641: JUMPDEST
00000642: PUSH2 0x035d
00000645: PUSH2 0x064f
00000648: CALLDATASIZE
00000649: PUSH1 0x04
0000064b: PUSH2 0x20f7
0000064e: JUMP
0000064f: JUMPDEST
00000650: PUSH2 0x154b
00000653: JUMP
00000654: JUMPDEST
00000655: PUSH2 0x02d0
00000658: PUSH2 0x15a4
0000065b: JUMP
0000065c: JUMPDEST
0000065d: PUSH2 0x035d
00000660: PUSH2 0x066a
00000663: CALLDATASIZE
00000664: PUSH1 0x04
00000666: PUSH2 0x2199
00000669: JUMP
0000066a: JUMPDEST
0000066b: PUSH2 0x1678
0000066e: JUMP
0000066f: JUMPDEST
00000670: PUSH2 0x035d
00000673: PUSH2 0x17e6
00000676: JUMP
00000677: JUMPDEST
00000678: PUSH2 0x02d0
0000067b: PUSH2 0x0685
0000067e: CALLDATASIZE
0000067f: PUSH1 0x04
00000681: PUSH2 0x2287
00000684: JUMP
00000685: JUMPDEST
00000686: PUSH1 0x0e
00000688: PUSH1 0x20
0000068a: SWAP1
0000068b: DUP2
0000068c: MSTORE
0000068d: PUSH1 0x00
0000068f: SWAP3
00000690: DUP4
00000691: MSTORE
00000692: PUSH1 0x40
00000694: DUP1
00000695: DUP5
00000696: KECCAK256
00000697: SWAP1
00000698: SWAP2
00000699: MSTORE
0000069a: SWAP1
0000069b: DUP3
0000069c: MSTORE
0000069d: SWAP1
0000069e: KECCAK256
0000069f: SLOAD
000006a0: DUP2
000006a1: JUMP
000006a2: JUMPDEST
000006a3: PUSH2 0x0345
000006a6: PUSH2 0x06b0
000006a9: CALLDATASIZE
000006aa: PUSH1 0x04
000006ac: PUSH2 0x22b1
000006af: JUMP
000006b0: JUMPDEST
000006b1: PUSH2 0x1851
000006b4: JUMP
000006b5: JUMPDEST
000006b6: PUSH2 0x0468
000006b9: PUSH2 0x18c6
000006bc: JUMP
000006bd: JUMPDEST
000006be: PUSH1 0x08
000006c0: SLOAD
000006c1: PUSH2 0x0468
000006c4: SWAP1
000006c5: PUSH1 0x01
000006c7: PUSH1 0x01
000006c9: PUSH1 0xa0
000006cb: SHL
000006cc: SUB
000006cd: AND
000006ce: DUP2
000006cf: JUMP
000006d0: JUMPDEST
000006d1: PUSH2 0x035d
000006d4: PUSH2 0x06de
000006d7: CALLDATASIZE
000006d8: PUSH1 0x04
000006da: PUSH2 0x20f7
000006dd: JUMP
000006de: JUMPDEST
000006df: PUSH2 0x18f1
000006e2: JUMP
000006e3: JUMPDEST
000006e4: PUSH1 0x00
000006e6: PUSH2 0x06ed
000006e9: PUSH2 0x18c6
000006ec: JUMP
000006ed: JUMPDEST
000006ee: PUSH1 0x01
000006f0: PUSH1 0x01
000006f2: PUSH1 0xa0
000006f4: SHL
000006f5: SUB
000006f6: AND
000006f7: CALLER
000006f8: PUSH1 0x01
000006fa: PUSH1 0x01
000006fc: PUSH1 0xa0
000006fe: SHL
000006ff: SUB
00000700: AND
00000701: EQ
00000702: PUSH2 0x0726
00000705: JUMPI
00000706: PUSH1 0x40
00000708: MLOAD
00000709: PUSH3 0x461bcd
0000070d: PUSH1 0xe5
0000070f: SHL
00000710: DUP2
00000711: MSTORE
00000712: PUSH1 0x04
00000714: ADD
00000715: PUSH2 0x071d
00000718: SWAP1
00000719: PUSH2 0x22d6
0000071c: JUMP
0000071d: JUMPDEST
0000071e: PUSH1 0x40
00000720: MLOAD
00000721: DUP1
00000722: SWAP2
00000723: SUB
00000724: SWAP1
00000725: REVERT
00000726: JUMPDEST
00000727: PUSH2 0x0731
0000072a: DUP5
0000072b: DUP5
0000072c: DUP5
0000072d: PUSH2 0x197d
00000730: JUMP
00000731: JUMPDEST
00000732: SWAP5
00000733: SWAP4
00000734: POP
00000735: POP
00000736: POP
00000737: POP
00000738: JUMP
00000739: JUMPDEST
0000073a: PUSH1 0x00
0000073c: PUSH2 0x0746
0000073f: CALLER
00000740: DUP5
00000741: DUP5
00000742: PUSH2 0x197d
00000745: JUMP
00000746: JUMPDEST
00000747: SWAP4
00000748: SWAP3
00000749: POP
0000074a: POP
0000074b: POP
0000074c: JUMP
0000074d: JUMPDEST
0000074e: PUSH1 0x00
00000750: DUP1
00000751: SLOAD
00000752: PUSH2 0x075a
00000755: SWAP1
00000756: PUSH2 0x230d
00000759: JUMP
0000075a: JUMPDEST
0000075b: DUP1
0000075c: PUSH1 0x1f
0000075e: ADD
0000075f: PUSH1 0x20
00000761: DUP1
00000762: SWAP2
00000763: DIV
00000764: MUL
00000765: PUSH1 0x20
00000767: ADD
00000768: PUSH1 0x40
0000076a: MLOAD
0000076b: SWAP1
0000076c: DUP2
0000076d: ADD
0000076e: PUSH1 0x40
00000770: MSTORE
00000771: DUP1
00000772: SWAP3
00000773: SWAP2
00000774: SWAP1
00000775: DUP2
00000776: DUP2
00000777: MSTORE
00000778: PUSH1 0x20
0000077a: ADD
0000077b: DUP3
0000077c: DUP1
0000077d: SLOAD
0000077e: PUSH2 0x0786
00000781: SWAP1
00000782: PUSH2 0x230d
00000785: JUMP
00000786: JUMPDEST
00000787: DUP1
00000788: ISZERO
00000789: PUSH2 0x07d3
0000078c: JUMPI
0000078d: DUP1
0000078e: PUSH1 0x1f
00000790: LT
00000791: PUSH2 0x07a8
00000794: JUMPI
00000795: PUSH2 0x0100
00000798: DUP1
00000799: DUP4
0000079a: SLOAD
0000079b: DIV
0000079c: MUL
0000079d: DUP4
0000079e: MSTORE
0000079f: SWAP2
000007a0: PUSH1 0x20
000007a2: ADD
000007a3: SWAP2
000007a4: PUSH2 0x07d3
000007a7: JUMP
000007a8: JUMPDEST
000007a9: DUP3
000007aa: ADD
000007ab: SWAP2
000007ac: SWAP1
000007ad: PUSH1 0x00
000007af: MSTORE
000007b0: PUSH1 0x20
000007b2: PUSH1 0x00
000007b4: KECCAK256
000007b5: SWAP1
000007b6: JUMPDEST
000007b7: DUP2
000007b8: SLOAD
000007b9: DUP2
000007ba: MSTORE
000007bb: SWAP1
000007bc: PUSH1 0x01
000007be: ADD
000007bf: SWAP1
000007c0: PUSH1 0x20
000007c2: ADD
000007c3: DUP1
000007c4: DUP4
000007c5: GT
000007c6: PUSH2 0x07b6
000007c9: JUMPI
000007ca: DUP3
000007cb: SWAP1
000007cc: SUB
000007cd: PUSH1 0x1f
000007cf: AND
000007d0: DUP3
000007d1: ADD
000007d2: SWAP2
000007d3: JUMPDEST
000007d4: POP
000007d5: POP
000007d6: POP
000007d7: POP
000007d8: POP
000007d9: DUP2
000007da: JUMP
000007db: JUMPDEST
000007dc: CALLER
000007dd: PUSH1 0x00
000007df: DUP2
000007e0: DUP2
000007e1: MSTORE
000007e2: PUSH1 0x0e
000007e4: PUSH1 0x20
000007e6: SWAP1
000007e7: DUP2
000007e8: MSTORE
000007e9: PUSH1 0x40
000007eb: DUP1
000007ec: DUP4
000007ed: KECCAK256
000007ee: PUSH1 0x01
000007f0: PUSH1 0x01
000007f2: PUSH1 0xa0
000007f4: SHL
000007f5: SUB
000007f6: DUP8
000007f7: AND
000007f8: DUP1
000007f9: DUP6
000007fa: MSTORE
000007fb: SWAP3
000007fc: MSTORE
000007fd: DUP1
000007fe: DUP4
000007ff: KECCAK256
00000800: DUP6
00000801: SWAP1
00000802: SSTORE
00000803: MLOAD
00000804: SWAP2
00000805: SWAP3
00000806: SWAP1
00000807: SWAP2
00000808: PUSH1 0x00
0000080a: DUP1
0000080b: MLOAD
0000080c: PUSH1 0x20
0000080e: PUSH2 0x2520
00000811: DUP4
00000812: CODECOPY
00000813: DUP2
00000814: MLOAD
00000815: SWAP2
00000816: MSTORE
00000817: SWAP1
00000818: PUSH2 0x0824
0000081b: SWAP1
0000081c: DUP7
0000081d: DUP2
0000081e: MSTORE
0000081f: PUSH1 0x20
00000821: ADD
00000822: SWAP1
00000823: JUMP
00000824: JUMPDEST
00000825: PUSH1 0x40
00000827: MLOAD
00000828: DUP1
00000829: SWAP2
0000082a: SUB
0000082b: SWAP1
0000082c: LOG3
0000082d: POP
0000082e: PUSH1 0x01
00000830: SWAP3
00000831: SWAP2
00000832: POP
00000833: POP
00000834: JUMP
00000835: JUMPDEST
00000836: PUSH2 0x083d
00000839: PUSH2 0x18c6
0000083c: JUMP
0000083d: JUMPDEST
0000083e: PUSH1 0x01
00000840: PUSH1 0x01
00000842: PUSH1 0xa0
00000844: SHL
00000845: SUB
00000846: AND
00000847: CALLER
00000848: PUSH1 0x01
0000084a: PUSH1 0x01
0000084c: PUSH1 0xa0
0000084e: SHL
0000084f: SUB
00000850: AND
00000851: EQ
00000852: PUSH2 0x086d
00000855: JUMPI
00000856: PUSH1 0x40
00000858: MLOAD
00000859: PUSH3 0x461bcd
0000085d: PUSH1 0xe5
0000085f: SHL
00000860: DUP2
00000861: MSTORE
00000862: PUSH1 0x04
00000864: ADD
00000865: PUSH2 0x071d
00000868: SWAP1
00000869: PUSH2 0x22d6
0000086c: JUMP
0000086d: JUMPDEST
0000086e: PUSH1 0x0a
00000870: SLOAD
00000871: TIMESTAMP
00000872: LT
00000873: ISZERO
00000874: PUSH2 0x087c
00000877: JUMPI
00000878: PUSH1 0x00
0000087a: DUP1
0000087b: REVERT
0000087c: JUMPDEST
0000087d: PUSH1 0x09
0000087f: DUP1
00000880: SLOAD
00000881: PUSH1 0x01
00000883: PUSH1 0x01
00000885: PUSH1 0xa0
00000887: SHL
00000888: SUB
00000889: SWAP1
0000088a: DUP2
0000088b: AND
0000088c: PUSH1 0x00
0000088e: SWAP1
0000088f: DUP2
00000890: MSTORE
00000891: PUSH1 0x06
00000893: PUSH1 0x20
00000895: MSTORE
00000896: PUSH1 0x40
00000898: DUP2
00000899: KECCAK256
0000089a: DUP1
0000089b: SLOAD
0000089c: PUSH1 0xff
0000089e: NOT
0000089f: AND
000008a0: PUSH1 0x01
000008a2: SWAP1
000008a3: DUP2
000008a4: OR
000008a5: SWAP1
000008a6: SWAP2
000008a7: SSTORE
000008a8: SWAP3
000008a9: SLOAD
000008aa: PUSH1 0x07
000008ac: DUP1
000008ad: SLOAD
000008ae: SWAP5
000008af: DUP6
000008b0: ADD
000008b1: DUP2
000008b2: SSTORE
000008b3: SWAP1
000008b4: SWAP2
000008b5: MSTORE
000008b6: PUSH32 0xa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688
000008d7: SWAP1
000008d8: SWAP3
000008d9: ADD
000008da: DUP1
000008db: SLOAD
000008dc: PUSH1 0x01
000008de: PUSH1 0x01
000008e0: PUSH1 0xa0
000008e2: SHL
000008e3: SUB
000008e4: NOT
000008e5: AND
000008e6: SWAP3
000008e7: SWAP1
000008e8: SWAP2
000008e9: AND
000008ea: SWAP2
000008eb: SWAP1
000008ec: SWAP2
000008ed: OR
000008ee: SWAP1
000008ef: SSTORE
000008f0: JUMP
000008f1: JUMPDEST
000008f2: PUSH1 0x00
000008f4: PUSH1 0x01
000008f6: PUSH1 0x01
000008f8: PUSH1 0xa0
000008fa: SHL
000008fb: SUB
000008fc: DUP4
000008fd: AND
000008fe: ISZERO
000008ff: ISZERO
00000900: DUP1
00000901: PUSH2 0x0913
00000904: JUMPI
00000905: POP
00000906: PUSH1 0x01
00000908: PUSH1 0x01
0000090a: PUSH1 0xa0
0000090c: SHL
0000090d: SUB
0000090e: DUP4
0000090f: AND
00000910: ADDRESS
00000911: EQ
00000912: ISZERO
00000913: JUMPDEST
00000914: PUSH2 0x091c
00000917: JUMPI
00000918: PUSH1 0x00
0000091a: DUP1
0000091b: REVERT
0000091c: JUMPDEST
0000091d: PUSH1 0x01
0000091f: PUSH1 0x01
00000921: PUSH1 0xa0
00000923: SHL
00000924: SUB
00000925: DUP5
00000926: AND
00000927: CALLER
00000928: EQ
00000929: PUSH2 0x0a16
0000092c: JUMPI
0000092d: PUSH1 0x01
0000092f: PUSH1 0x01
00000931: PUSH1 0xa0
00000933: SHL
00000934: SUB
00000935: DUP5
00000936: AND
00000937: PUSH1 0x00
00000939: SWAP1
0000093a: DUP2
0000093b: MSTORE
0000093c: PUSH1 0x0e
0000093e: PUSH1 0x20
00000940: SWAP1
00000941: DUP2
00000942: MSTORE
00000943: PUSH1 0x40
00000945: DUP1
00000946: DUP4
00000947: KECCAK256
00000948: CALLER
00000949: DUP5
0000094a: MSTORE
0000094b: SWAP1
0000094c: SWAP2
0000094d: MSTORE
0000094e: SWAP1
0000094f: KECCAK256
00000950: SLOAD
00000951: PUSH1 0x00
00000953: NOT
00000954: DUP2
00000955: EQ
00000956: PUSH2 0x0a14
00000959: JUMPI
0000095a: DUP3
0000095b: DUP2
0000095c: LT
0000095d: ISZERO
0000095e: PUSH2 0x09bb
00000961: JUMPI
00000962: PUSH1 0x40
00000964: MLOAD
00000965: PUSH3 0x461bcd
00000969: PUSH1 0xe5
0000096b: SHL
0000096c: DUP2
0000096d: MSTORE
0000096e: PUSH1 0x20
00000970: PUSH1 0x04
00000972: DUP3
00000973: ADD
00000974: MSTORE
00000975: PUSH1 0x29
00000977: PUSH1 0x24
00000979: DUP3
0000097a: ADD
0000097b: MSTORE
0000097c: PUSH32 0x416e7973776170563345524332303a2072657175657374206578636565647320
0000099d: PUSH1 0x44
0000099f: DUP3
000009a0: ADD
000009a1: MSTORE
000009a2: PUSH9 0x616c6c6f77616e6365
000009ac: PUSH1 0xb8
000009ae: SHL
000009af: PUSH1 0x64
000009b1: DUP3
000009b2: ADD
000009b3: MSTORE
000009b4: PUSH1 0x84
000009b6: ADD
000009b7: PUSH2 0x071d
000009ba: JUMP
000009bb: JUMPDEST
000009bc: PUSH1 0x00
000009be: PUSH2 0x09c7
000009c1: DUP5
000009c2: DUP4
000009c3: PUSH2 0x235e
000009c6: JUMP
000009c7: JUMPDEST
000009c8: PUSH1 0x01
000009ca: PUSH1 0x01
000009cc: PUSH1 0xa0
000009ce: SHL
000009cf: SUB
000009d0: DUP8
000009d1: AND
000009d2: PUSH1 0x00
000009d4: DUP2
000009d5: DUP2
000009d6: MSTORE
000009d7: PUSH1 0x0e
000009d9: PUSH1 0x20
000009db: SWAP1
000009dc: DUP2
000009dd: MSTORE
000009de: PUSH1 0x40
000009e0: DUP1
000009e1: DUP4
000009e2: KECCAK256
000009e3: CALLER
000009e4: DUP1
000009e5: DUP6
000009e6: MSTORE
000009e7: SWAP1
000009e8: DUP4
000009e9: MSTORE
000009ea: SWAP3
000009eb: DUP2
000009ec: SWAP1
000009ed: KECCAK256
000009ee: DUP6
000009ef: SWAP1
000009f0: SSTORE
000009f1: MLOAD
000009f2: DUP5
000009f3: DUP2
000009f4: MSTORE
000009f5: SWAP4
000009f6: SWAP5
000009f7: POP
000009f8: SWAP1
000009f9: SWAP3
000009fa: PUSH1 0x00
000009fc: DUP1
000009fd: MLOAD
000009fe: PUSH1 0x20
00000a00: PUSH2 0x2520
00000a03: DUP4
00000a04: CODECOPY
00000a05: DUP2
00000a06: MLOAD
00000a07: SWAP2
00000a08: MSTORE
00000a09: SWAP2
00000a0a: ADD
00000a0b: PUSH1 0x40
00000a0d: MLOAD
00000a0e: DUP1
00000a0f: SWAP2
00000a10: SUB
00000a11: SWAP1
00000a12: LOG3
00000a13: POP
00000a14: JUMPDEST
00000a15: POP
00000a16: JUMPDEST
00000a17: PUSH1 0x01
00000a19: PUSH1 0x01
00000a1b: PUSH1 0xa0
00000a1d: SHL
00000a1e: SUB
00000a1f: DUP5
00000a20: AND
00000a21: PUSH1 0x00
00000a23: SWAP1
00000a24: DUP2
00000a25: MSTORE
00000a26: PUSH1 0x02
00000a28: PUSH1 0x20
00000a2a: MSTORE
00000a2b: PUSH1 0x40
00000a2d: SWAP1
00000a2e: KECCAK256
00000a2f: SLOAD
00000a30: DUP3
00000a31: DUP2
00000a32: LT
00000a33: ISZERO
00000a34: PUSH2 0x0a4f
00000a37: JUMPI
00000a38: PUSH1 0x40
00000a3a: MLOAD
00000a3b: PUSH3 0x461bcd
00000a3f: PUSH1 0xe5
00000a41: SHL
00000a42: DUP2
00000a43: MSTORE
00000a44: PUSH1 0x04
00000a46: ADD
00000a47: PUSH2 0x071d
00000a4a: SWAP1
00000a4b: PUSH2 0x2375
00000a4e: JUMP
00000a4f: JUMPDEST
00000a50: PUSH2 0x0a59
00000a53: DUP4
00000a54: DUP3
00000a55: PUSH2 0x235e
00000a58: JUMP
00000a59: JUMPDEST
00000a5a: PUSH1 0x01
00000a5c: PUSH1 0x01
00000a5e: PUSH1 0xa0
00000a60: SHL
00000a61: SUB
00000a62: DUP1
00000a63: DUP8
00000a64: AND
00000a65: PUSH1 0x00
00000a67: SWAP1
00000a68: DUP2
00000a69: MSTORE
00000a6a: PUSH1 0x02
00000a6c: PUSH1 0x20
00000a6e: MSTORE
00000a6f: PUSH1 0x40
00000a71: DUP1
00000a72: DUP3
00000a73: KECCAK256
00000a74: SWAP4
00000a75: SWAP1
00000a76: SWAP4
00000a77: SSTORE
00000a78: SWAP1
00000a79: DUP7
00000a7a: AND
00000a7b: DUP2
00000a7c: MSTORE
00000a7d: SWAP1
00000a7e: DUP2
00000a7f: KECCAK256
00000a80: DUP1
00000a81: SLOAD
00000a82: DUP6
00000a83: SWAP3
00000a84: SWAP1
00000a85: PUSH2 0x0a8f
00000a88: SWAP1
00000a89: DUP5
00000a8a: SWAP1
00000a8b: PUSH2 0x23c4
00000a8e: JUMP
00000a8f: JUMPDEST
00000a90: SWAP3
00000a91: POP
00000a92: POP
00000a93: DUP2
00000a94: SWAP1
00000a95: SSTORE
00000a96: POP
00000a97: DUP4
00000a98: PUSH1 0x01
00000a9a: PUSH1 0x01
00000a9c: PUSH1 0xa0
00000a9e: SHL
00000a9f: SUB
00000aa0: AND
00000aa1: DUP6
00000aa2: PUSH1 0x01
00000aa4: PUSH1 0x01
00000aa6: PUSH1 0xa0
00000aa8: SHL
00000aa9: SUB
00000aaa: AND
00000aab: PUSH1 0x00
00000aad: DUP1
00000aae: MLOAD
00000aaf: PUSH1 0x20
00000ab1: PUSH2 0x2500
00000ab4: DUP4
00000ab5: CODECOPY
00000ab6: DUP2
00000ab7: MLOAD
00000ab8: SWAP2
00000ab9: MSTORE
00000aba: DUP6
00000abb: PUSH1 0x40
00000abd: MLOAD
00000abe: PUSH2 0x0ac9
00000ac1: SWAP2
00000ac2: DUP2
00000ac3: MSTORE
00000ac4: PUSH1 0x20
00000ac6: ADD
00000ac7: SWAP1
00000ac8: JUMP
00000ac9: JUMPDEST
00000aca: PUSH1 0x40
00000acc: MLOAD
00000acd: DUP1
00000ace: SWAP2
00000acf: SUB
00000ad0: SWAP1
00000ad1: LOG3
00000ad2: POP
00000ad3: PUSH1 0x01
00000ad5: SWAP5
00000ad6: SWAP4
00000ad7: POP
00000ad8: POP
00000ad9: POP
00000ada: POP
00000adb: JUMP
00000adc: JUMPDEST
00000add: PUSH1 0x00
00000adf: PUSH2 0x0ae9
00000ae2: CALLER
00000ae3: DUP4
00000ae4: CALLER
00000ae5: PUSH2 0x197d
00000ae8: JUMP
00000ae9: JUMPDEST
00000aea: SWAP3
00000aeb: SWAP2
00000aec: POP
00000aed: POP
00000aee: JUMP
00000aef: JUMPDEST
00000af0: PUSH2 0x0af7
00000af3: PUSH2 0x18c6
00000af6: JUMP
00000af7: JUMPDEST
00000af8: PUSH1 0x01
00000afa: PUSH1 0x01
00000afc: PUSH1 0xa0
00000afe: SHL
00000aff: SUB
00000b00: AND
00000b01: CALLER
00000b02: PUSH1 0x01
00000b04: PUSH1 0x01
00000b06: PUSH1 0xa0
00000b08: SHL
00000b09: SUB
00000b0a: AND
00000b0b: EQ
00000b0c: PUSH2 0x0b27
00000b0f: JUMPI
00000b10: PUSH1 0x40
00000b12: MLOAD
00000b13: PUSH3 0x461bcd
00000b17: PUSH1 0xe5
00000b19: SHL
00000b1a: DUP2
00000b1b: MSTORE
00000b1c: PUSH1 0x04
00000b1e: ADD
00000b1f: PUSH2 0x071d
00000b22: SWAP1
00000b23: PUSH2 0x22d6
00000b26: JUMP
00000b27: JUMPDEST
00000b28: PUSH1 0x04
00000b2a: SLOAD
00000b2b: PUSH1 0xff
00000b2d: AND
00000b2e: PUSH2 0x0b36
00000b31: JUMPI
00000b32: PUSH1 0x00
00000b34: DUP1
00000b35: REVERT
00000b36: JUMPDEST
00000b37: PUSH1 0x08
00000b39: DUP1
00000b3a: SLOAD
00000b3b: PUSH1 0x01
00000b3d: PUSH1 0x01
00000b3f: PUSH1 0xa0
00000b41: SHL
00000b42: SUB
00000b43: SWAP1
00000b44: SWAP3
00000b45: AND
00000b46: PUSH1 0x01
00000b48: PUSH1 0x01
00000b4a: PUSH1 0xa0
00000b4c: SHL
00000b4d: SUB
00000b4e: NOT
00000b4f: SWAP3
00000b50: DUP4
00000b51: AND
00000b52: DUP2
00000b53: OR
00000b54: SWAP1
00000b55: SWAP2
00000b56: SSTORE
00000b57: PUSH1 0x0b
00000b59: DUP1
00000b5a: SLOAD
00000b5b: DUP4
00000b5c: AND
00000b5d: DUP3
00000b5e: OR
00000b5f: SWAP1
00000b60: SSTORE
00000b61: PUSH1 0x00
00000b63: DUP2
00000b64: DUP2
00000b65: MSTORE
00000b66: PUSH1 0x06
00000b68: PUSH1 0x20
00000b6a: MSTORE
00000b6b: PUSH1 0x40
00000b6d: DUP2
00000b6e: KECCAK256
00000b6f: DUP1
00000b70: SLOAD
00000b71: PUSH1 0xff
00000b73: NOT
00000b74: SWAP1
00000b75: DUP2
00000b76: AND
00000b77: PUSH1 0x01
00000b79: SWAP1
00000b7a: DUP2
00000b7b: OR
00000b7c: SWAP1
00000b7d: SWAP3
00000b7e: SSTORE
00000b7f: PUSH1 0x07
00000b81: DUP1
00000b82: SLOAD
00000b83: SWAP3
00000b84: DUP4
00000b85: ADD
00000b86: DUP2
00000b87: SSTORE
00000b88: SWAP1
00000b89: SWAP3
00000b8a: MSTORE
00000b8b: PUSH32 0xa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688
00000bac: ADD
00000bad: DUP1
00000bae: SLOAD
00000baf: SWAP1
00000bb0: SWAP4
00000bb1: AND
00000bb2: SWAP1
00000bb3: SWAP2
00000bb4: OR
00000bb5: SWAP1
00000bb6: SWAP2
00000bb7: SSTORE
00000bb8: TIMESTAMP
00000bb9: PUSH1 0x0c
00000bbb: SSTORE
00000bbc: PUSH1 0x04
00000bbe: DUP1
00000bbf: SLOAD
00000bc0: SWAP1
00000bc1: SWAP2
00000bc2: AND
00000bc3: SWAP1
00000bc4: SSTORE
00000bc5: JUMP
00000bc6: JUMPDEST
00000bc7: CALLER
00000bc8: PUSH1 0x00
00000bca: DUP2
00000bcb: DUP2
00000bcc: MSTORE
00000bcd: PUSH1 0x02
00000bcf: PUSH1 0x20
00000bd1: MSTORE
00000bd2: PUSH1 0x40
00000bd4: DUP2
00000bd5: KECCAK256
00000bd6: SLOAD
00000bd7: SWAP1
00000bd8: SWAP2
00000bd9: PUSH2 0x0be2
00000bdc: SWAP2
00000bdd: DUP2
00000bde: PUSH2 0x197d
00000be1: JUMP
00000be2: JUMPDEST
00000be3: SWAP1
00000be4: POP
00000be5: SWAP1
00000be6: JUMP
00000be7: JUMPDEST
00000be8: PUSH1 0x00
00000bea: PUSH1 0x01
00000bec: PUSH1 0x01
00000bee: PUSH1 0xa0
00000bf0: SHL
00000bf1: SUB
00000bf2: DUP6
00000bf3: AND
00000bf4: ISZERO
00000bf5: ISZERO
00000bf6: DUP1
00000bf7: PUSH2 0x0c09
00000bfa: JUMPI
00000bfb: POP
00000bfc: PUSH1 0x01
00000bfe: PUSH1 0x01
00000c00: PUSH1 0xa0
00000c02: SHL
00000c03: SUB
00000c04: DUP6
00000c05: AND
00000c06: ADDRESS
00000c07: EQ
00000c08: ISZERO
00000c09: JUMPDEST
00000c0a: PUSH2 0x0c12
00000c0d: JUMPI
00000c0e: PUSH1 0x00
00000c10: DUP1
00000c11: REVERT
00000c12: JUMPDEST
00000c13: CALLER
00000c14: PUSH1 0x00
00000c16: SWAP1
00000c17: DUP2
00000c18: MSTORE
00000c19: PUSH1 0x02
00000c1b: PUSH1 0x20
00000c1d: MSTORE
00000c1e: PUSH1 0x40
00000c20: SWAP1
00000c21: KECCAK256
00000c22: SLOAD
00000c23: DUP5
00000c24: DUP2
00000c25: LT
00000c26: ISZERO
00000c27: PUSH2 0x0c42
00000c2a: JUMPI
00000c2b: PUSH1 0x40
00000c2d: MLOAD
00000c2e: PUSH3 0x461bcd
00000c32: PUSH1 0xe5
00000c34: SHL
00000c35: DUP2
00000c36: MSTORE
00000c37: PUSH1 0x04
00000c39: ADD
00000c3a: PUSH2 0x071d
00000c3d: SWAP1
00000c3e: PUSH2 0x2375
00000c41: JUMP
00000c42: JUMPDEST
00000c43: PUSH2 0x0c4c
00000c46: DUP6
00000c47: DUP3
00000c48: PUSH2 0x235e
00000c4b: JUMP
00000c4c: JUMPDEST
00000c4d: CALLER
00000c4e: PUSH1 0x00
00000c50: SWAP1
00000c51: DUP2
00000c52: MSTORE
00000c53: PUSH1 0x02
00000c55: PUSH1 0x20
00000c57: MSTORE
00000c58: PUSH1 0x40
00000c5a: DUP1
00000c5b: DUP3
00000c5c: KECCAK256
00000c5d: SWAP3
00000c5e: SWAP1
00000c5f: SWAP3
00000c60: SSTORE
00000c61: PUSH1 0x01
00000c63: PUSH1 0x01
00000c65: PUSH1 0xa0
00000c67: SHL
00000c68: SUB
00000c69: DUP9
00000c6a: AND
00000c6b: DUP2
00000c6c: MSTORE
00000c6d: SWAP1
00000c6e: DUP2
00000c6f: KECCAK256
00000c70: DUP1
00000c71: SLOAD
00000c72: DUP8
00000c73: SWAP3
00000c74: SWAP1
00000c75: PUSH2 0x0c7f
00000c78: SWAP1
00000c79: DUP5
00000c7a: SWAP1
00000c7b: PUSH2 0x23c4
00000c7e: JUMP
00000c7f: JUMPDEST
00000c80: SWAP1
00000c81: SWAP2
00000c82: SSTORE
00000c83: POP
00000c84: POP
00000c85: PUSH1 0x40
00000c87: MLOAD
00000c88: DUP6
00000c89: DUP2
00000c8a: MSTORE
00000c8b: PUSH1 0x01
00000c8d: PUSH1 0x01
00000c8f: PUSH1 0xa0
00000c91: SHL
00000c92: SUB
00000c93: DUP8
00000c94: AND
00000c95: SWAP1
00000c96: CALLER
00000c97: SWAP1
00000c98: PUSH1 0x00
00000c9a: DUP1
00000c9b: MLOAD
00000c9c: PUSH1 0x20
00000c9e: PUSH2 0x2500
00000ca1: DUP4
00000ca2: CODECOPY
00000ca3: DUP2
00000ca4: MLOAD
00000ca5: SWAP2
00000ca6: MSTORE
00000ca7: SWAP1
00000ca8: PUSH1 0x20
00000caa: ADD
00000cab: PUSH1 0x40
00000cad: MLOAD
00000cae: DUP1
00000caf: SWAP2
00000cb0: SUB
00000cb1: SWAP1
00000cb2: LOG3
00000cb3: PUSH1 0x40
00000cb5: MLOAD
00000cb6: PUSH4 0x5260769b
00000cbb: PUSH1 0xe1
00000cbd: SHL
00000cbe: DUP2
00000cbf: MSTORE
00000cc0: PUSH1 0x01
00000cc2: PUSH1 0x01
00000cc4: PUSH1 0xa0
00000cc6: SHL
00000cc7: SUB
00000cc8: DUP8
00000cc9: AND
00000cca: SWAP1
00000ccb: PUSH4 0xa4c0ed36
00000cd0: SWAP1
00000cd1: PUSH2 0x0ce4
00000cd4: SWAP1
00000cd5: CALLER
00000cd6: SWAP1
00000cd7: DUP10
00000cd8: SWAP1
00000cd9: DUP10
00000cda: SWAP1
00000cdb: DUP10
00000cdc: SWAP1
00000cdd: PUSH1 0x04
00000cdf: ADD
00000ce0: PUSH2 0x23dc
00000ce3: JUMP
00000ce4: JUMPDEST
00000ce5: PUSH1 0x20
00000ce7: PUSH1 0x40
00000ce9: MLOAD
00000cea: DUP1
00000ceb: DUP4
00000cec: SUB
00000ced: DUP2
00000cee: PUSH1 0x00
00000cf0: DUP8
00000cf1: GAS
00000cf2: CALL
00000cf3: ISZERO
00000cf4: DUP1
00000cf5: ISZERO
00000cf6: PUSH2 0x0d03
00000cf9: JUMPI
00000cfa: RETURNDATASIZE
00000cfb: PUSH1 0x00
00000cfd: DUP1
00000cfe: RETURNDATACOPY
00000cff: RETURNDATASIZE
00000d00: PUSH1 0x00
00000d02: REVERT
00000d03: JUMPDEST
00000d04: POP
00000d05: POP
00000d06: POP
00000d07: POP
00000d08: PUSH1 0x40
00000d0a: MLOAD
00000d0b: RETURNDATASIZE
00000d0c: PUSH1 0x1f
00000d0e: NOT
00000d0f: PUSH1 0x1f
00000d11: DUP3
00000d12: ADD
00000d13: AND
00000d14: DUP3
00000d15: ADD
00000d16: DUP1
00000d17: PUSH1 0x40
00000d19: MSTORE
00000d1a: POP
00000d1b: DUP2
00000d1c: ADD
00000d1d: SWAP1
00000d1e: PUSH2 0x0d27
00000d21: SWAP2
00000d22: SWAP1
00000d23: PUSH2 0x2424
00000d26: JUMP
00000d27: JUMPDEST
00000d28: SWAP7
00000d29: SWAP6
00000d2a: POP
00000d2b: POP
00000d2c: POP
00000d2d: POP
00000d2e: POP
00000d2f: POP
00000d30: JUMP
00000d31: JUMPDEST
00000d32: CALLER
00000d33: PUSH1 0x00
00000d35: SWAP1
00000d36: DUP2
00000d37: MSTORE
00000d38: PUSH1 0x06
00000d3a: PUSH1 0x20
00000d3c: MSTORE
00000d3d: PUSH1 0x40
00000d3f: DUP2
00000d40: KECCAK256
00000d41: SLOAD
00000d42: PUSH1 0xff
00000d44: AND
00000d45: PUSH2 0x0d60
00000d48: JUMPI
00000d49: PUSH1 0x40
00000d4b: MLOAD
00000d4c: PUSH3 0x461bcd
00000d50: PUSH1 0xe5
00000d52: SHL
00000d53: DUP2
00000d54: MSTORE
00000d55: PUSH1 0x04
00000d57: ADD
00000d58: PUSH2 0x071d
00000d5b: SWAP1
00000d5c: PUSH2 0x2441
00000d5f: JUMP
00000d60: JUMPDEST
00000d61: PUSH2 0x0d6a
00000d64: DUP4
00000d65: DUP4
00000d66: PUSH2 0x19c5
00000d69: JUMP
00000d6a: JUMPDEST
00000d6b: POP
00000d6c: PUSH1 0x01
00000d6e: SWAP3
00000d6f: SWAP2
00000d70: POP
00000d71: POP
00000d72: JUMP
00000d73: JUMPDEST
00000d74: PUSH1 0x00
00000d76: DUP5
00000d77: TIMESTAMP
00000d78: GT
00000d79: ISZERO
00000d7a: PUSH2 0x0dc5
00000d7d: JUMPI
00000d7e: PUSH1 0x40
00000d80: MLOAD
00000d81: PUSH3 0x461bcd
00000d85: PUSH1 0xe5
00000d87: SHL
00000d88: DUP2
00000d89: MSTORE
00000d8a: PUSH1 0x20
00000d8c: PUSH1 0x04
00000d8e: DUP3
00000d8f: ADD
00000d90: MSTORE
00000d91: PUSH1 0x1e
00000d93: PUSH1 0x24
00000d95: DUP3
00000d96: ADD
00000d97: MSTORE
00000d98: PUSH32 0x416e7973776170563345524332303a2045787069726564207065726d69740000
00000db9: PUSH1 0x44
00000dbb: DUP3
00000dbc: ADD
00000dbd: MSTORE
00000dbe: PUSH1 0x64
00000dc0: ADD
00000dc1: PUSH2 0x071d
00000dc4: JUMP
00000dc5: JUMPDEST
00000dc6: PUSH1 0x01
00000dc8: PUSH1 0x01
00000dca: PUSH1 0xa0
00000dcc: SHL
00000dcd: SUB
00000dce: DUP9
00000dcf: AND
00000dd0: PUSH1 0x00
00000dd2: SWAP1
00000dd3: DUP2
00000dd4: MSTORE
00000dd5: PUSH1 0x0d
00000dd7: PUSH1 0x20
00000dd9: MSTORE
00000dda: PUSH1 0x40
00000ddc: DUP2
00000ddd: KECCAK256
00000dde: DUP1
00000ddf: SLOAD
00000de0: PUSH32 0x42ce63790c28229c123925d83266e77c04d28784552ab68b350a9003226cbd59
00000e01: SWAP2
00000e02: DUP12
00000e03: SWAP2
00000e04: DUP12
00000e05: SWAP2
00000e06: DUP12
00000e07: SWAP2
00000e08: SWAP1
00000e09: DUP7
00000e0a: PUSH2 0x0e12
00000e0d: DUP4
00000e0e: PUSH2 0x2478
00000e11: JUMP
00000e12: JUMPDEST
00000e13: SWAP1
00000e14: SWAP2
00000e15: SSTORE
00000e16: POP
00000e17: PUSH1 0x40
00000e19: DUP1
00000e1a: MLOAD
00000e1b: PUSH1 0x20
00000e1d: DUP2
00000e1e: ADD
00000e1f: SWAP7
00000e20: SWAP1
00000e21: SWAP7
00000e22: MSTORE
00000e23: PUSH1 0x01
00000e25: PUSH1 0x01
00000e27: PUSH1 0xa0
00000e29: SHL
00000e2a: SUB
00000e2b: SWAP5
00000e2c: DUP6
00000e2d: AND
00000e2e: SWAP1
00000e2f: DUP7
00000e30: ADD
00000e31: MSTORE
00000e32: SWAP3
00000e33: SWAP1
00000e34: SWAP2
00000e35: AND
00000e36: PUSH1 0x60
00000e38: DUP5
00000e39: ADD
00000e3a: MSTORE
00000e3b: PUSH1 0x80
00000e3d: DUP4
00000e3e: ADD
00000e3f: MSTORE
00000e40: PUSH1 0xa0
00000e42: DUP3
00000e43: ADD
00000e44: MSTORE
00000e45: PUSH1 0xc0
00000e47: DUP2
00000e48: ADD
00000e49: DUP8
00000e4a: SWAP1
00000e4b: MSTORE
00000e4c: PUSH1 0xe0
00000e4e: ADD
00000e4f: PUSH1 0x40
00000e51: MLOAD
00000e52: PUSH1 0x20
00000e54: DUP2
00000e55: DUP4
00000e56: SUB
00000e57: SUB
00000e58: DUP2
00000e59: MSTORE
00000e5a: SWAP1
00000e5b: PUSH1 0x40
00000e5d: MSTORE
00000e5e: DUP1
00000e5f: MLOAD
00000e60: SWAP1
00000e61: PUSH1 0x20
00000e63: ADD
00000e64: KECCAK256
00000e65: SWAP1
00000e66: POP
00000e67: PUSH2 0x0e73
00000e6a: DUP10
00000e6b: DUP3
00000e6c: DUP8
00000e6d: DUP8
00000e6e: DUP8
00000e6f: PUSH2 0x1a93
00000e72: JUMP
00000e73: JUMPDEST
00000e74: DUP1
00000e75: PUSH2 0x0e86
00000e78: JUMPI
00000e79: POP
00000e7a: PUSH2 0x0e86
00000e7d: DUP10
00000e7e: DUP3
00000e7f: DUP8
00000e80: DUP8
00000e81: DUP8
00000e82: PUSH2 0x1b84
00000e85: JUMP
00000e86: JUMPDEST
00000e87: PUSH2 0x0e8f
00000e8a: JUMPI
00000e8b: PUSH1 0x00
00000e8d: DUP1
00000e8e: REVERT
00000e8f: JUMPDEST
00000e90: PUSH1 0x01
00000e92: PUSH1 0x01
00000e94: PUSH1 0xa0
00000e96: SHL
00000e97: SUB
00000e98: DUP9
00000e99: AND
00000e9a: ISZERO
00000e9b: ISZERO
00000e9c: DUP1
00000e9d: PUSH2 0x0eaf
00000ea0: JUMPI
00000ea1: POP
00000ea2: PUSH1 0x01
00000ea4: PUSH1 0x01
00000ea6: PUSH1 0xa0
00000ea8: SHL
00000ea9: SUB
00000eaa: DUP9
00000eab: AND
00000eac: ADDRESS
00000ead: EQ
00000eae: ISZERO
00000eaf: JUMPDEST
00000eb0: PUSH2 0x0eb8
00000eb3: JUMPI
00000eb4: PUSH1 0x00
00000eb6: DUP1
00000eb7: REVERT
00000eb8: JUMPDEST
00000eb9: PUSH1 0x01
00000ebb: PUSH1 0x01
00000ebd: PUSH1 0xa0
00000ebf: SHL
00000ec0: SUB
00000ec1: DUP10
00000ec2: AND
00000ec3: PUSH1 0x00
00000ec5: SWAP1
00000ec6: DUP2
00000ec7: MSTORE
00000ec8: PUSH1 0x02
00000eca: PUSH1 0x20
00000ecc: MSTORE
00000ecd: PUSH1 0x40
00000ecf: SWAP1
00000ed0: KECCAK256
00000ed1: SLOAD
00000ed2: DUP8
00000ed3: DUP2
00000ed4: LT
00000ed5: ISZERO
00000ed6: PUSH2 0x0ef1
00000ed9: JUMPI
00000eda: PUSH1 0x40
00000edc: MLOAD
00000edd: PUSH3 0x461bcd
00000ee1: PUSH1 0xe5
00000ee3: SHL
00000ee4: DUP2
00000ee5: MSTORE
00000ee6: PUSH1 0x04
00000ee8: ADD
00000ee9: PUSH2 0x071d
00000eec: SWAP1
00000eed: PUSH2 0x2375
00000ef0: JUMP
00000ef1: JUMPDEST
00000ef2: PUSH2 0x0efb
00000ef5: DUP9
00000ef6: DUP3
00000ef7: PUSH2 0x235e
00000efa: JUMP
00000efb: JUMPDEST
00000efc: PUSH1 0x01
00000efe: PUSH1 0x01
00000f00: PUSH1 0xa0
00000f02: SHL
00000f03: SUB
00000f04: DUP1
00000f05: DUP13
00000f06: AND
00000f07: PUSH1 0x00
00000f09: SWAP1
00000f0a: DUP2
00000f0b: MSTORE
00000f0c: PUSH1 0x02
00000f0e: PUSH1 0x20
00000f10: MSTORE
00000f11: PUSH1 0x40
00000f13: DUP1
00000f14: DUP3
00000f15: KECCAK256
00000f16: SWAP4
00000f17: SWAP1
00000f18: SWAP4
00000f19: SSTORE
00000f1a: SWAP1
00000f1b: DUP12
00000f1c: AND
00000f1d: DUP2
00000f1e: MSTORE
00000f1f: SWAP1
00000f20: DUP2
00000f21: KECCAK256
00000f22: DUP1
00000f23: SLOAD
00000f24: DUP11
00000f25: SWAP3
00000f26: SWAP1
00000f27: PUSH2 0x0f31
00000f2a: SWAP1
00000f2b: DUP5
00000f2c: SWAP1
00000f2d: PUSH2 0x23c4
00000f30: JUMP
00000f31: JUMPDEST
00000f32: SWAP3
00000f33: POP
00000f34: POP
00000f35: DUP2
00000f36: SWAP1
00000f37: SSTORE
00000f38: POP
00000f39: DUP9
00000f3a: PUSH1 0x01
00000f3c: PUSH1 0x01
00000f3e: PUSH1 0xa0
00000f40: SHL
00000f41: SUB
00000f42: AND
00000f43: DUP11
00000f44: PUSH1 0x01
00000f46: PUSH1 0x01
00000f48: PUSH1 0xa0
00000f4a: SHL
00000f4b: SUB
00000f4c: AND
00000f4d: PUSH1 0x00
00000f4f: DUP1
00000f50: MLOAD
00000f51: PUSH1 0x20
00000f53: PUSH2 0x2500
00000f56: DUP4
00000f57: CODECOPY
00000f58: DUP2
00000f59: MLOAD
00000f5a: SWAP2
00000f5b: MSTORE
00000f5c: DUP11
00000f5d: PUSH1 0x40
00000f5f: MLOAD
00000f60: PUSH2 0x0f6b
00000f63: SWAP2
00000f64: DUP2
00000f65: MSTORE
00000f66: PUSH1 0x20
00000f68: ADD
00000f69: SWAP1
00000f6a: JUMP
00000f6b: JUMPDEST
00000f6c: PUSH1 0x40
00000f6e: MLOAD
00000f6f: DUP1
00000f70: SWAP2
00000f71: SUB
00000f72: SWAP1
00000f73: LOG3
00000f74: POP
00000f75: PUSH1 0x01
00000f77: SWAP10
00000f78: SWAP9
00000f79: POP
00000f7a: POP
00000f7b: POP
00000f7c: POP
00000f7d: POP
00000f7e: POP
00000f7f: POP
00000f80: POP
00000f81: POP
00000f82: JUMP
00000f83: JUMPDEST
00000f84: PUSH1 0x00
00000f86: PUSH2 0x0f8d
00000f89: PUSH2 0x18c6
00000f8c: JUMP
00000f8d: JUMPDEST
00000f8e: PUSH1 0x01
00000f90: PUSH1 0x01
00000f92: PUSH1 0xa0
00000f94: SHL
00000f95: SUB
00000f96: AND
00000f97: CALLER
00000f98: PUSH1 0x01
00000f9a: PUSH1 0x01
00000f9c: PUSH1 0xa0
00000f9e: SHL
00000f9f: SUB
00000fa0: AND
00000fa1: EQ
00000fa2: PUSH2 0x0fbd
00000fa5: JUMPI
00000fa6: PUSH1 0x40
00000fa8: MLOAD
00000fa9: PUSH3 0x461bcd
00000fad: PUSH1 0xe5
00000faf: SHL
00000fb0: DUP2
00000fb1: MSTORE
00000fb2: PUSH1 0x04
00000fb4: ADD
00000fb5: PUSH2 0x071d
00000fb8: SWAP1
00000fb9: PUSH2 0x22d6
00000fbc: JUMP
00000fbd: JUMPDEST
00000fbe: PUSH1 0x01
00000fc0: PUSH1 0x01
00000fc2: PUSH1 0xa0
00000fc4: SHL
00000fc5: SUB
00000fc6: DUP3
00000fc7: AND
00000fc8: PUSH2 0x0fe3
00000fcb: JUMPI
00000fcc: PUSH1 0x40
00000fce: MLOAD
00000fcf: PUSH3 0x461bcd
00000fd3: PUSH1 0xe5
00000fd5: SHL
00000fd6: DUP2
00000fd7: MSTORE
00000fd8: PUSH1 0x04
00000fda: ADD
00000fdb: PUSH2 0x071d
00000fde: SWAP1
00000fdf: PUSH2 0x2493
00000fe2: JUMP
00000fe3: JUMPDEST
00000fe4: PUSH1 0x08
00000fe6: DUP1
00000fe7: SLOAD
00000fe8: PUSH1 0x01
00000fea: PUSH1 0x01
00000fec: PUSH1 0xa0
00000fee: SHL
00000fef: SUB
00000ff0: DUP5
00000ff1: AND
00000ff2: PUSH1 0x01
00000ff4: PUSH1 0x01
00000ff6: PUSH1 0xa0
00000ff8: SHL
00000ff9: SUB
00000ffa: NOT
00000ffb: SWAP2
00000ffc: DUP3
00000ffd: AND
00000ffe: DUP2
00000fff: OR
00001000: SWAP1
00001001: SWAP3
00001002: SSTORE
00001003: PUSH1 0x0b
00001005: DUP1
00001006: SLOAD
00001007: SWAP1
00001008: SWAP2
00001009: AND
0000100a: DUP3
0000100b: OR
0000100c: SWAP1
0000100d: SSTORE
0000100e: PUSH1 0x40
00001010: MLOAD
00001011: TIMESTAMP
00001012: SWAP2
00001013: SWAP1
00001014: DUP2
00001015: SWAP1
00001016: PUSH32 0x5c364079e7102c27c608f9b237c735a1b7bfa0b67f27c2ad26bad447bf965cac
00001037: SWAP1
00001038: PUSH1 0x00
0000103a: SWAP1
0000103b: LOG4
0000103c: POP
0000103d: PUSH1 0x01
0000103f: JUMPDEST
00001040: SWAP2
00001041: SWAP1
00001042: POP
00001043: JUMP
00001044: JUMPDEST
00001045: PUSH1 0x04
00001047: SLOAD
00001048: PUSH1 0x00
0000104a: SWAP1
0000104b: PUSH2 0x0100
0000104e: SWAP1
0000104f: DIV
00001050: PUSH1 0xff
00001052: AND
00001053: ISZERO
00001054: PUSH2 0x109f
00001057: JUMPI
00001058: PUSH1 0x40
0000105a: MLOAD
0000105b: PUSH3 0x461bcd
0000105f: PUSH1 0xe5
00001061: SHL
00001062: DUP2
00001063: MSTORE
00001064: PUSH1 0x20
00001066: PUSH1 0x04
00001068: DUP3
00001069: ADD
0000106a: MSTORE
0000106b: PUSH1 0x18
0000106d: PUSH1 0x24
0000106f: DUP3
00001070: ADD
00001071: MSTORE
00001072: PUSH32 0x416e7973776170563445524332303a206f6e6c79417574680000000000000000
00001093: PUSH1 0x44
00001095: DUP3
00001096: ADD
00001097: MSTORE
00001098: PUSH1 0x64
0000109a: ADD
0000109b: PUSH2 0x071d
0000109e: JUMP
0000109f: JUMPDEST
000010a0: PUSH1 0x01
000010a2: PUSH1 0x01
000010a4: PUSH1 0xa0
000010a6: SHL
000010a7: SUB
000010a8: DUP3
000010a9: AND
000010aa: PUSH2 0x10c5
000010ad: JUMPI
000010ae: PUSH1 0x40
000010b0: MLOAD
000010b1: PUSH3 0x461bcd
000010b5: PUSH1 0xe5
000010b7: SHL
000010b8: DUP2
000010b9: MSTORE
000010ba: PUSH1 0x04
000010bc: ADD
000010bd: PUSH2 0x071d
000010c0: SWAP1
000010c1: PUSH2 0x2493
000010c4: JUMP
000010c5: JUMPDEST
000010c6: PUSH2 0x10cf
000010c9: CALLER
000010ca: DUP5
000010cb: PUSH2 0x1be7
000010ce: JUMP
000010cf: JUMPDEST
000010d0: PUSH1 0x40
000010d2: MLOAD
000010d3: DUP4
000010d4: DUP2
000010d5: MSTORE
000010d6: PUSH1 0x01
000010d8: PUSH1 0x01
000010da: PUSH1 0xa0
000010dc: SHL
000010dd: SUB
000010de: DUP4
000010df: AND
000010e0: SWAP1
000010e1: CALLER
000010e2: SWAP1
000010e3: PUSH32 0x6b616089d04950dc06c45c6dd787d657980543f89651aec47924752c7d16c888
00001104: SWAP1
00001105: PUSH1 0x20
00001107: ADD
00001108: PUSH2 0x0824
0000110b: JUMP
0000110c: JUMPDEST
0000110d: PUSH2 0x1114
00001110: PUSH2 0x18c6
00001113: JUMP
00001114: JUMPDEST
00001115: PUSH1 0x01
00001117: PUSH1 0x01
00001119: PUSH1 0xa0
0000111b: SHL
0000111c: SUB
0000111d: AND
0000111e: CALLER
0000111f: PUSH1 0x01
00001121: PUSH1 0x01
00001123: PUSH1 0xa0
00001125: SHL
00001126: SUB
00001127: AND
00001128: EQ
00001129: PUSH2 0x1144
0000112c: JUMPI
0000112d: PUSH1 0x40
0000112f: MLOAD
00001130: PUSH3 0x461bcd
00001134: PUSH1 0xe5
00001136: SHL
00001137: DUP2
00001138: MSTORE
00001139: PUSH1 0x04
0000113b: ADD
0000113c: PUSH2 0x071d
0000113f: SWAP1
00001140: PUSH2 0x22d6
00001143: JUMP
00001144: JUMPDEST
00001145: PUSH1 0x01
00001147: PUSH1 0x01
00001149: PUSH1 0xa0
0000114b: SHL
0000114c: SUB
0000114d: DUP2
0000114e: AND
0000114f: PUSH2 0x116a
00001152: JUMPI
00001153: PUSH1 0x40
00001155: MLOAD
00001156: PUSH3 0x461bcd
0000115a: PUSH1 0xe5
0000115c: SHL
0000115d: DUP2
0000115e: MSTORE
0000115f: PUSH1 0x04
00001161: ADD
00001162: PUSH2 0x071d
00001165: SWAP1
00001166: PUSH2 0x2493
00001169: JUMP
0000116a: JUMPDEST
0000116b: PUSH1 0x0b
0000116d: DUP1
0000116e: SLOAD
0000116f: PUSH1 0x01
00001171: PUSH1 0x01
00001173: PUSH1 0xa0
00001175: SHL
00001176: SUB
00001177: NOT
00001178: AND
00001179: PUSH1 0x01
0000117b: PUSH1 0x01
0000117d: PUSH1 0xa0
0000117f: SHL
00001180: SUB
00001181: DUP4
00001182: AND
00001183: OR
00001184: SWAP1
00001185: SSTORE
00001186: PUSH1 0x05
00001188: SLOAD
00001189: PUSH2 0x1192
0000118c: SWAP1
0000118d: TIMESTAMP
0000118e: PUSH2 0x23c4
00001191: JUMP
00001192: JUMPDEST
00001193: PUSH1 0x0c
00001195: SSTORE
00001196: POP
00001197: JUMP
00001198: JUMPDEST
00001199: PUSH1 0x00
0000119b: PUSH2 0x11cf
0000119e: PUSH1 0x01
000011a0: PUSH1 0x01
000011a2: PUSH1 0xa0
000011a4: SHL
000011a5: SUB
000011a6: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000011c7: AND
000011c8: CALLER
000011c9: ADDRESS
000011ca: DUP7
000011cb: PUSH2 0x1cb9
000011ce: JUMP
000011cf: JUMPDEST
000011d0: PUSH2 0x0746
000011d3: DUP4
000011d4: DUP4
000011d5: PUSH2 0x1d2a
000011d8: JUMP
000011d9: JUMPDEST
000011da: PUSH1 0x07
000011dc: DUP2
000011dd: DUP2
000011de: SLOAD
000011df: DUP2
000011e0: LT
000011e1: PUSH2 0x11e9
000011e4: JUMPI
000011e5: PUSH1 0x00
000011e7: DUP1
000011e8: REVERT
000011e9: JUMPDEST
000011ea: PUSH1 0x00
000011ec: SWAP2
000011ed: DUP3
000011ee: MSTORE
000011ef: PUSH1 0x20
000011f1: SWAP1
000011f2: SWAP2
000011f3: KECCAK256
000011f4: ADD
000011f5: SLOAD
000011f6: PUSH1 0x01
000011f8: PUSH1 0x01
000011fa: PUSH1 0xa0
000011fc: SHL
000011fd: SUB
000011fe: AND
000011ff: SWAP1
00001200: POP
00001201: DUP2
00001202: JUMP
00001203: JUMPDEST
00001204: PUSH1 0x00
00001206: PUSH2 0x0be2
00001209: PUSH2 0x18c6
0000120c: JUMP
0000120d: JUMPDEST
0000120e: PUSH1 0x01
00001210: DUP1
00001211: SLOAD
00001212: PUSH2 0x075a
00001215: SWAP1
00001216: PUSH2 0x230d
00001219: JUMP
0000121a: JUMPDEST
0000121b: CALLER
0000121c: PUSH1 0x00
0000121e: SWAP1
0000121f: DUP2
00001220: MSTORE
00001221: PUSH1 0x06
00001223: PUSH1 0x20
00001225: MSTORE
00001226: PUSH1 0x40
00001228: DUP2
00001229: KECCAK256
0000122a: SLOAD
0000122b: PUSH1 0xff
0000122d: AND
0000122e: PUSH2 0x1249
00001231: JUMPI
00001232: PUSH1 0x40
00001234: MLOAD
00001235: PUSH3 0x461bcd
00001239: PUSH1 0xe5
0000123b: SHL
0000123c: DUP2
0000123d: MSTORE
0000123e: PUSH1 0x04
00001240: ADD
00001241: PUSH2 0x071d
00001244: SWAP1
00001245: PUSH2 0x2441
00001248: JUMP
00001249: JUMPDEST
0000124a: PUSH1 0x01
0000124c: PUSH1 0x01
0000124e: PUSH1 0xa0
00001250: SHL
00001251: SUB
00001252: DUP4
00001253: AND
00001254: PUSH2 0x126f
00001257: JUMPI
00001258: PUSH1 0x40
0000125a: MLOAD
0000125b: PUSH3 0x461bcd
0000125f: PUSH1 0xe5
00001261: SHL
00001262: DUP2
00001263: MSTORE
00001264: PUSH1 0x04
00001266: ADD
00001267: PUSH2 0x071d
0000126a: SWAP1
0000126b: PUSH2 0x2493
0000126e: JUMP
0000126f: JUMPDEST
00001270: PUSH2 0x0d6a
00001273: DUP4
00001274: DUP4
00001275: PUSH2 0x1be7
00001278: JUMP
00001279: JUMPDEST
0000127a: PUSH1 0x60
0000127c: PUSH1 0x07
0000127e: DUP1
0000127f: SLOAD
00001280: DUP1
00001281: PUSH1 0x20
00001283: MUL
00001284: PUSH1 0x20
00001286: ADD
00001287: PUSH1 0x40
00001289: MLOAD
0000128a: SWAP1
0000128b: DUP2
0000128c: ADD
0000128d: PUSH1 0x40
0000128f: MSTORE
00001290: DUP1
00001291: SWAP3
00001292: SWAP2
00001293: SWAP1
00001294: DUP2
00001295: DUP2
00001296: MSTORE
00001297: PUSH1 0x20
00001299: ADD
0000129a: DUP3
0000129b: DUP1
0000129c: SLOAD
0000129d: DUP1
0000129e: ISZERO
0000129f: PUSH2 0x12d1
000012a2: JUMPI
000012a3: PUSH1 0x20
000012a5: MUL
000012a6: DUP3
000012a7: ADD
000012a8: SWAP2
000012a9: SWAP1
000012aa: PUSH1 0x00
000012ac: MSTORE
000012ad: PUSH1 0x20
000012af: PUSH1 0x00
000012b1: KECCAK256
000012b2: SWAP1
000012b3: JUMPDEST
000012b4: DUP2
000012b5: SLOAD
000012b6: PUSH1 0x01
000012b8: PUSH1 0x01
000012ba: PUSH1 0xa0
000012bc: SHL
000012bd: SUB
000012be: AND
000012bf: DUP2
000012c0: MSTORE
000012c1: PUSH1 0x01
000012c3: SWAP1
000012c4: SWAP2
000012c5: ADD
000012c6: SWAP1
000012c7: PUSH1 0x20
000012c9: ADD
000012ca: DUP1
000012cb: DUP4
000012cc: GT
000012cd: PUSH2 0x12b3
000012d0: JUMPI
000012d1: JUMPDEST
000012d2: POP
000012d3: POP
000012d4: POP
000012d5: POP
000012d6: POP
000012d7: SWAP1
000012d8: POP
000012d9: SWAP1
000012da: JUMP
000012db: JUMPDEST
000012dc: PUSH1 0x00
000012de: PUSH1 0x01
000012e0: PUSH1 0x01
000012e2: PUSH1 0xa0
000012e4: SHL
000012e5: SUB
000012e6: DUP4
000012e7: AND
000012e8: ISZERO
000012e9: ISZERO
000012ea: DUP1
000012eb: PUSH2 0x12fd
000012ee: JUMPI
000012ef: POP
000012f0: PUSH1 0x01
000012f2: PUSH1 0x01
000012f4: PUSH1 0xa0
000012f6: SHL
000012f7: SUB
000012f8: DUP4
000012f9: AND
000012fa: ADDRESS
000012fb: EQ
000012fc: ISZERO
000012fd: JUMPDEST
000012fe: PUSH2 0x1306
00001301: JUMPI
00001302: PUSH1 0x00
00001304: DUP1
00001305: REVERT
00001306: JUMPDEST
00001307: CALLER
00001308: PUSH1 0x00
0000130a: SWAP1
0000130b: DUP2
0000130c: MSTORE
0000130d: PUSH1 0x02
0000130f: PUSH1 0x20
00001311: MSTORE
00001312: PUSH1 0x40
00001314: SWAP1
00001315: KECCAK256
00001316: SLOAD
00001317: DUP3
00001318: DUP2
00001319: LT
0000131a: ISZERO
0000131b: PUSH2 0x1336
0000131e: JUMPI
0000131f: PUSH1 0x40
00001321: MLOAD
00001322: PUSH3 0x461bcd
00001326: PUSH1 0xe5
00001328: SHL
00001329: DUP2
0000132a: MSTORE
0000132b: PUSH1 0x04
0000132d: ADD
0000132e: PUSH2 0x071d
00001331: SWAP1
00001332: PUSH2 0x2375
00001335: JUMP
00001336: JUMPDEST
00001337: PUSH2 0x1340
0000133a: DUP4
0000133b: DUP3
0000133c: PUSH2 0x235e
0000133f: JUMP
00001340: JUMPDEST
00001341: CALLER
00001342: PUSH1 0x00
00001344: SWAP1
00001345: DUP2
00001346: MSTORE
00001347: PUSH1 0x02
00001349: PUSH1 0x20
0000134b: MSTORE
0000134c: PUSH1 0x40
0000134e: DUP1
0000134f: DUP3
00001350: KECCAK256
00001351: SWAP3
00001352: SWAP1
00001353: SWAP3
00001354: SSTORE
00001355: PUSH1 0x01
00001357: PUSH1 0x01
00001359: PUSH1 0xa0
0000135b: SHL
0000135c: SUB
0000135d: DUP7
0000135e: AND
0000135f: DUP2
00001360: MSTORE
00001361: SWAP1
00001362: DUP2
00001363: KECCAK256
00001364: DUP1
00001365: SLOAD
00001366: DUP6
00001367: SWAP3
00001368: SWAP1
00001369: PUSH2 0x1373
0000136c: SWAP1
0000136d: DUP5
0000136e: SWAP1
0000136f: PUSH2 0x23c4
00001372: JUMP
00001373: JUMPDEST
00001374: SWAP1
00001375: SWAP2
00001376: SSTORE
00001377: POP
00001378: POP
00001379: PUSH1 0x40
0000137b: MLOAD
0000137c: DUP4
0000137d: DUP2
0000137e: MSTORE
0000137f: PUSH1 0x01
00001381: PUSH1 0x01
00001383: PUSH1 0xa0
00001385: SHL
00001386: SUB
00001387: DUP6
00001388: AND
00001389: SWAP1
0000138a: CALLER
0000138b: SWAP1
0000138c: PUSH1 0x00
0000138e: DUP1
0000138f: MLOAD
00001390: PUSH1 0x20
00001392: PUSH2 0x2500
00001395: DUP4
00001396: CODECOPY
00001397: DUP2
00001398: MLOAD
00001399: SWAP2
0000139a: MSTORE
0000139b: SWAP1
0000139c: PUSH1 0x20
0000139e: ADD
0000139f: JUMPDEST
000013a0: PUSH1 0x40
000013a2: MLOAD
000013a3: DUP1
000013a4: SWAP2
000013a5: SUB
000013a6: SWAP1
000013a7: LOG3
000013a8: POP
000013a9: PUSH1 0x01
000013ab: SWAP4
000013ac: SWAP3
000013ad: POP
000013ae: POP
000013af: POP
000013b0: JUMP
000013b1: JUMPDEST
000013b2: PUSH1 0x00
000013b4: PUSH2 0x13e8
000013b7: PUSH1 0x01
000013b9: PUSH1 0x01
000013bb: PUSH1 0xa0
000013bd: SHL
000013be: SUB
000013bf: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000013e0: AND
000013e1: CALLER
000013e2: ADDRESS
000013e3: DUP6
000013e4: PUSH2 0x1cb9
000013e7: JUMP
000013e8: JUMPDEST
000013e9: PUSH2 0x0ae9
000013ec: DUP3
000013ed: CALLER
000013ee: PUSH2 0x1d2a
000013f1: JUMP
000013f2: JUMPDEST
000013f3: PUSH1 0x00
000013f5: PUSH2 0x13fc
000013f8: PUSH2 0x18c6
000013fb: JUMP
000013fc: JUMPDEST
000013fd: PUSH1 0x01
000013ff: PUSH1 0x01
00001401: PUSH1 0xa0
00001403: SHL
00001404: SUB
00001405: AND
00001406: CALLER
00001407: PUSH1 0x01
00001409: PUSH1 0x01
0000140b: PUSH1 0xa0
0000140d: SHL
0000140e: SUB
0000140f: AND
00001410: EQ
00001411: PUSH2 0x11cf
00001414: JUMPI
00001415: PUSH1 0x40
00001417: MLOAD
00001418: PUSH3 0x461bcd
0000141c: PUSH1 0xe5
0000141e: SHL
0000141f: DUP2
00001420: MSTORE
00001421: PUSH1 0x04
00001423: ADD
00001424: PUSH2 0x071d
00001427: SWAP1
00001428: PUSH2 0x22d6
0000142b: JUMP
0000142c: JUMPDEST
0000142d: PUSH2 0x1434
00001430: PUSH2 0x18c6
00001433: JUMP
00001434: JUMPDEST
00001435: PUSH1 0x01
00001437: PUSH1 0x01
00001439: PUSH1 0xa0
0000143b: SHL
0000143c: SUB
0000143d: AND
0000143e: CALLER
0000143f: PUSH1 0x01
00001441: PUSH1 0x01
00001443: PUSH1 0xa0
00001445: SHL
00001446: SUB
00001447: AND
00001448: EQ
00001449: PUSH2 0x1464
0000144c: JUMPI
0000144d: PUSH1 0x40
0000144f: MLOAD
00001450: PUSH3 0x461bcd
00001454: PUSH1 0xe5
00001456: SHL
00001457: DUP2
00001458: MSTORE
00001459: PUSH1 0x04
0000145b: ADD
0000145c: PUSH2 0x071d
0000145f: SWAP1
00001460: PUSH2 0x22d6
00001463: JUMP
00001464: JUMPDEST
00001465: PUSH1 0x04
00001467: DUP1
00001468: SLOAD
00001469: SWAP2
0000146a: ISZERO
0000146b: ISZERO
0000146c: PUSH2 0x0100
0000146f: MUL
00001470: PUSH2 0xff00
00001473: NOT
00001474: SWAP1
00001475: SWAP3
00001476: AND
00001477: SWAP2
00001478: SWAP1
00001479: SWAP2
0000147a: OR
0000147b: SWAP1
0000147c: SSTORE
0000147d: JUMP
0000147e: JUMPDEST
0000147f: CALLER
00001480: PUSH1 0x00
00001482: DUP2
00001483: DUP2
00001484: MSTORE
00001485: PUSH1 0x0e
00001487: PUSH1 0x20
00001489: SWAP1
0000148a: DUP2
0000148b: MSTORE
0000148c: PUSH1 0x40
0000148e: DUP1
0000148f: DUP4
00001490: KECCAK256
00001491: PUSH1 0x01
00001493: PUSH1 0x01
00001495: PUSH1 0xa0
00001497: SHL
00001498: SUB
00001499: DUP10
0000149a: AND
0000149b: DUP1
0000149c: DUP6
0000149d: MSTORE
0000149e: SWAP3
0000149f: MSTORE
000014a0: DUP1
000014a1: DUP4
000014a2: KECCAK256
000014a3: DUP8
000014a4: SWAP1
000014a5: SSTORE
000014a6: MLOAD
000014a7: SWAP2
000014a8: SWAP3
000014a9: SWAP1
000014aa: SWAP2
000014ab: PUSH1 0x00
000014ad: DUP1
000014ae: MLOAD
000014af: PUSH1 0x20
000014b1: PUSH2 0x2520
000014b4: DUP4
000014b5: CODECOPY
000014b6: DUP2
000014b7: MLOAD
000014b8: SWAP2
000014b9: MSTORE
000014ba: SWAP1
000014bb: PUSH2 0x14c7
000014be: SWAP1
000014bf: DUP9
000014c0: DUP2
000014c1: MSTORE
000014c2: PUSH1 0x20
000014c4: ADD
000014c5: SWAP1
000014c6: JUMP
000014c7: JUMPDEST
000014c8: PUSH1 0x40
000014ca: MLOAD
000014cb: DUP1
000014cc: SWAP2
000014cd: SUB
000014ce: SWAP1
000014cf: LOG3
000014d0: PUSH1 0x40
000014d2: MLOAD
000014d3: PUSH3 0xba451f
000014d7: PUSH1 0xe0
000014d9: SHL
000014da: DUP2
000014db: MSTORE
000014dc: PUSH1 0x01
000014de: PUSH1 0x01
000014e0: PUSH1 0xa0
000014e2: SHL
000014e3: SUB
000014e4: DUP7
000014e5: AND
000014e6: SWAP1
000014e7: PUSH3 0xba451f
000014eb: SWAP1
000014ec: PUSH2 0x14ff
000014ef: SWAP1
000014f0: CALLER
000014f1: SWAP1
000014f2: DUP9
000014f3: SWAP1
000014f4: DUP9
000014f5: SWAP1
000014f6: DUP9
000014f7: SWAP1
000014f8: PUSH1 0x04
000014fa: ADD
000014fb: PUSH2 0x23dc
000014fe: JUMP
000014ff: JUMPDEST
00001500: PUSH1 0x20
00001502: PUSH1 0x40
00001504: MLOAD
00001505: DUP1
00001506: DUP4
00001507: SUB
00001508: DUP2
00001509: PUSH1 0x00
0000150b: DUP8
0000150c: GAS
0000150d: CALL
0000150e: ISZERO
0000150f: DUP1
00001510: ISZERO
00001511: PUSH2 0x151e
00001514: JUMPI
00001515: RETURNDATASIZE
00001516: PUSH1 0x00
00001518: DUP1
00001519: RETURNDATACOPY
0000151a: RETURNDATASIZE
0000151b: PUSH1 0x00
0000151d: REVERT
0000151e: JUMPDEST
0000151f: POP
00001520: POP
00001521: POP
00001522: POP
00001523: PUSH1 0x40
00001525: MLOAD
00001526: RETURNDATASIZE
00001527: PUSH1 0x1f
00001529: NOT
0000152a: PUSH1 0x1f
0000152c: DUP3
0000152d: ADD
0000152e: AND
0000152f: DUP3
00001530: ADD
00001531: DUP1
00001532: PUSH1 0x40
00001534: MSTORE
00001535: POP
00001536: DUP2
00001537: ADD
00001538: SWAP1
00001539: PUSH2 0x1542
0000153c: SWAP2
0000153d: SWAP1
0000153e: PUSH2 0x2424
00001541: JUMP
00001542: JUMPDEST
00001543: SWAP6
00001544: SWAP5
00001545: POP
00001546: POP
00001547: POP
00001548: POP
00001549: POP
0000154a: JUMP
0000154b: JUMPDEST
0000154c: PUSH2 0x1553
0000154f: PUSH2 0x18c6
00001552: JUMP
00001553: JUMPDEST
00001554: PUSH1 0x01
00001556: PUSH1 0x01
00001558: PUSH1 0xa0
0000155a: SHL
0000155b: SUB
0000155c: AND
0000155d: CALLER
0000155e: PUSH1 0x01
00001560: PUSH1 0x01
00001562: PUSH1 0xa0
00001564: SHL
00001565: SUB
00001566: AND
00001567: EQ
00001568: PUSH2 0x1583
0000156b: JUMPI
0000156c: PUSH1 0x40
0000156e: MLOAD
0000156f: PUSH3 0x461bcd
00001573: PUSH1 0xe5
00001575: SHL
00001576: DUP2
00001577: MSTORE
00001578: PUSH1 0x04
0000157a: ADD
0000157b: PUSH2 0x071d
0000157e: SWAP1
0000157f: PUSH2 0x22d6
00001582: JUMP
00001583: JUMPDEST
00001584: PUSH1 0x01
00001586: PUSH1 0x01
00001588: PUSH1 0xa0
0000158a: SHL
0000158b: SUB
0000158c: AND
0000158d: PUSH1 0x00
0000158f: SWAP1
00001590: DUP2
00001591: MSTORE
00001592: PUSH1 0x06
00001594: PUSH1 0x20
00001596: MSTORE
00001597: PUSH1 0x40
00001599: SWAP1
0000159a: KECCAK256
0000159b: DUP1
0000159c: SLOAD
0000159d: PUSH1 0xff
0000159f: NOT
000015a0: AND
000015a1: SWAP1
000015a2: SSTORE
000015a3: JUMP
000015a4: JUMPDEST
000015a5: PUSH1 0x40
000015a7: MLOAD
000015a8: PUSH4 0x70a08231
000015ad: PUSH1 0xe0
000015af: SHL
000015b0: DUP2
000015b1: MSTORE
000015b2: CALLER
000015b3: PUSH1 0x04
000015b5: DUP3
000015b6: ADD
000015b7: MSTORE
000015b8: PUSH1 0x00
000015ba: SWAP1
000015bb: DUP2
000015bc: SWAP1
000015bd: PUSH1 0x01
000015bf: PUSH1 0x01
000015c1: PUSH1 0xa0
000015c3: SHL
000015c4: SUB
000015c5: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000015e6: AND
000015e7: SWAP1
000015e8: PUSH4 0x70a08231
000015ed: SWAP1
000015ee: PUSH1 0x24
000015f0: ADD
000015f1: PUSH1 0x20
000015f3: PUSH1 0x40
000015f5: MLOAD
000015f6: DUP1
000015f7: DUP4
000015f8: SUB
000015f9: DUP2
000015fa: DUP7
000015fb: GAS
000015fc: STATICCALL
000015fd: ISZERO
000015fe: DUP1
000015ff: ISZERO
00001600: PUSH2 0x160d
00001603: JUMPI
00001604: RETURNDATASIZE
00001605: PUSH1 0x00
00001607: DUP1
00001608: RETURNDATACOPY
00001609: RETURNDATASIZE
0000160a: PUSH1 0x00
0000160c: REVERT
0000160d: JUMPDEST
0000160e: POP
0000160f: POP
00001610: POP
00001611: POP
00001612: PUSH1 0x40
00001614: MLOAD
00001615: RETURNDATASIZE
00001616: PUSH1 0x1f
00001618: NOT
00001619: PUSH1 0x1f
0000161b: DUP3
0000161c: ADD
0000161d: AND
0000161e: DUP3
0000161f: ADD
00001620: DUP1
00001621: PUSH1 0x40
00001623: MSTORE
00001624: POP
00001625: DUP2
00001626: ADD
00001627: SWAP1
00001628: PUSH2 0x1631
0000162b: SWAP2
0000162c: SWAP1
0000162d: PUSH2 0x24ca
00001630: JUMP
00001631: JUMPDEST
00001632: SWAP1
00001633: POP
00001634: PUSH2 0x1668
00001637: PUSH1 0x01
00001639: PUSH1 0x01
0000163b: PUSH1 0xa0
0000163d: SHL
0000163e: SUB
0000163f: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001660: AND
00001661: CALLER
00001662: ADDRESS
00001663: DUP5
00001664: PUSH2 0x1cb9
00001667: JUMP
00001668: JUMPDEST
00001669: PUSH2 0x1672
0000166c: DUP2
0000166d: CALLER
0000166e: PUSH2 0x1d2a
00001671: JUMP
00001672: JUMPDEST
00001673: SWAP2
00001674: POP
00001675: POP
00001676: SWAP1
00001677: JUMP
00001678: JUMPDEST
00001679: DUP4
0000167a: TIMESTAMP
0000167b: GT
0000167c: ISZERO
0000167d: PUSH2 0x16c8
00001680: JUMPI
00001681: PUSH1 0x40
00001683: MLOAD
00001684: PUSH3 0x461bcd
00001688: PUSH1 0xe5
0000168a: SHL
0000168b: DUP2
0000168c: MSTORE
0000168d: PUSH1 0x20
0000168f: PUSH1 0x04
00001691: DUP3
00001692: ADD
00001693: MSTORE
00001694: PUSH1 0x1e
00001696: PUSH1 0x24
00001698: DUP3
00001699: ADD
0000169a: MSTORE
0000169b: PUSH32 0x416e7973776170563345524332303a2045787069726564207065726d69740000
000016bc: PUSH1 0x44
000016be: DUP3
000016bf: ADD
000016c0: MSTORE
000016c1: PUSH1 0x64
000016c3: ADD
000016c4: PUSH2 0x071d
000016c7: JUMP
000016c8: JUMPDEST
000016c9: PUSH1 0x01
000016cb: PUSH1 0x01
000016cd: PUSH1 0xa0
000016cf: SHL
000016d0: SUB
000016d1: DUP8
000016d2: AND
000016d3: PUSH1 0x00
000016d5: SWAP1
000016d6: DUP2
000016d7: MSTORE
000016d8: PUSH1 0x0d
000016da: PUSH1 0x20
000016dc: MSTORE
000016dd: PUSH1 0x40
000016df: DUP2
000016e0: KECCAK256
000016e1: DUP1
000016e2: SLOAD
000016e3: PUSH32 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9
00001704: SWAP2
00001705: DUP11
00001706: SWAP2
00001707: DUP11
00001708: SWAP2
00001709: DUP11
0000170a: SWAP2
0000170b: SWAP1
0000170c: DUP7
0000170d: PUSH2 0x1715
00001710: DUP4
00001711: PUSH2 0x2478
00001714: JUMP
00001715: JUMPDEST
00001716: SWAP1
00001717: SWAP2
00001718: SSTORE
00001719: POP
0000171a: PUSH1 0x40
0000171c: DUP1
0000171d: MLOAD
0000171e: PUSH1 0x20
00001720: DUP2
00001721: ADD
00001722: SWAP7
00001723: SWAP1
00001724: SWAP7
00001725: MSTORE
00001726: PUSH1 0x01
00001728: PUSH1 0x01
0000172a: PUSH1 0xa0
0000172c: SHL
0000172d: SUB
0000172e: SWAP5
0000172f: DUP6
00001730: AND
00001731: SWAP1
00001732: DUP7
00001733: ADD
00001734: MSTORE
00001735: SWAP3
00001736: SWAP1
00001737: SWAP2
00001738: AND
00001739: PUSH1 0x60
0000173b: DUP5
0000173c: ADD
0000173d: MSTORE
0000173e: PUSH1 0x80
00001740: DUP4
00001741: ADD
00001742: MSTORE
00001743: PUSH1 0xa0
00001745: DUP3
00001746: ADD
00001747: MSTORE
00001748: PUSH1 0xc0
0000174a: DUP2
0000174b: ADD
0000174c: DUP7
0000174d: SWAP1
0000174e: MSTORE
0000174f: PUSH1 0xe0
00001751: ADD
00001752: PUSH1 0x40
00001754: MLOAD
00001755: PUSH1 0x20
00001757: DUP2
00001758: DUP4
00001759: SUB
0000175a: SUB
0000175b: DUP2
0000175c: MSTORE
0000175d: SWAP1
0000175e: PUSH1 0x40
00001760: MSTORE
00001761: DUP1
00001762: MLOAD
00001763: SWAP1
00001764: PUSH1 0x20
00001766: ADD
00001767: KECCAK256
00001768: SWAP1
00001769: POP
0000176a: PUSH2 0x1776
0000176d: DUP9
0000176e: DUP3
0000176f: DUP7
00001770: DUP7
00001771: DUP7
00001772: PUSH2 0x1a93
00001775: JUMP
00001776: JUMPDEST
00001777: DUP1
00001778: PUSH2 0x1789
0000177b: JUMPI
0000177c: POP
0000177d: PUSH2 0x1789
00001780: DUP9
00001781: DUP3
00001782: DUP7
00001783: DUP7
00001784: DUP7
00001785: PUSH2 0x1b84
00001788: JUMP
00001789: JUMPDEST
0000178a: PUSH2 0x1792
0000178d: JUMPI
0000178e: PUSH1 0x00
00001790: DUP1
00001791: REVERT
00001792: JUMPDEST
00001793: PUSH1 0x01
00001795: PUSH1 0x01
00001797: PUSH1 0xa0
00001799: SHL
0000179a: SUB
0000179b: DUP9
0000179c: DUP2
0000179d: AND
0000179e: PUSH1 0x00
000017a0: DUP2
000017a1: DUP2
000017a2: MSTORE
000017a3: PUSH1 0x0e
000017a5: PUSH1 0x20
000017a7: SWAP1
000017a8: DUP2
000017a9: MSTORE
000017aa: PUSH1 0x40
000017ac: DUP1
000017ad: DUP4
000017ae: KECCAK256
000017af: SWAP5
000017b0: DUP13
000017b1: AND
000017b2: DUP1
000017b3: DUP5
000017b4: MSTORE
000017b5: SWAP5
000017b6: DUP3
000017b7: MSTORE
000017b8: SWAP2
000017b9: DUP3
000017ba: SWAP1
000017bb: KECCAK256
000017bc: DUP11
000017bd: SWAP1
000017be: SSTORE
000017bf: SWAP1
000017c0: MLOAD
000017c1: DUP10
000017c2: DUP2
000017c3: MSTORE
000017c4: PUSH1 0x00
000017c6: DUP1
000017c7: MLOAD
000017c8: PUSH1 0x20
000017ca: PUSH2 0x2520
000017cd: DUP4
000017ce: CODECOPY
000017cf: DUP2
000017d0: MLOAD
000017d1: SWAP2
000017d2: MSTORE
000017d3: SWAP2
000017d4: ADD
000017d5: PUSH1 0x40
000017d7: MLOAD
000017d8: DUP1
000017d9: SWAP2
000017da: SUB
000017db: SWAP1
000017dc: LOG3
000017dd: POP
000017de: POP
000017df: POP
000017e0: POP
000017e1: POP
000017e2: POP
000017e3: POP
000017e4: POP
000017e5: JUMP
000017e6: JUMPDEST
000017e7: PUSH2 0x17ee
000017ea: PUSH2 0x18c6
000017ed: JUMP
000017ee: JUMPDEST
000017ef: PUSH1 0x01
000017f1: PUSH1 0x01
000017f3: PUSH1 0xa0
000017f5: SHL
000017f6: SUB
000017f7: AND
000017f8: CALLER
000017f9: PUSH1 0x01
000017fb: PUSH1 0x01
000017fd: PUSH1 0xa0
000017ff: SHL
00001800: SUB
00001801: AND
00001802: EQ
00001803: PUSH2 0x181e
00001806: JUMPI
00001807: PUSH1 0x40
00001809: MLOAD
0000180a: PUSH3 0x461bcd
0000180e: PUSH1 0xe5
00001810: SHL
00001811: DUP2
00001812: MSTORE
00001813: PUSH1 0x04
00001815: ADD
00001816: PUSH2 0x071d
00001819: SWAP1
0000181a: PUSH2 0x22d6
0000181d: JUMP
0000181e: JUMPDEST
0000181f: PUSH1 0x0c
00001821: SLOAD
00001822: TIMESTAMP
00001823: LT
00001824: ISZERO
00001825: PUSH2 0x182d
00001828: JUMPI
00001829: PUSH1 0x00
0000182b: DUP1
0000182c: REVERT
0000182d: JUMPDEST
0000182e: PUSH1 0x0b
00001830: SLOAD
00001831: PUSH1 0x08
00001833: DUP1
00001834: SLOAD
00001835: PUSH1 0x01
00001837: PUSH1 0x01
00001839: PUSH1 0xa0
0000183b: SHL
0000183c: SUB
0000183d: NOT
0000183e: AND
0000183f: PUSH1 0x01
00001841: PUSH1 0x01
00001843: PUSH1 0xa0
00001845: SHL
00001846: SUB
00001847: SWAP1
00001848: SWAP3
00001849: AND
0000184a: SWAP2
0000184b: SWAP1
0000184c: SWAP2
0000184d: OR
0000184e: SWAP1
0000184f: SSTORE
00001850: JUMP
00001851: JUMPDEST
00001852: CALLER
00001853: PUSH1 0x00
00001855: SWAP1
00001856: DUP2
00001857: MSTORE
00001858: PUSH1 0x06
0000185a: PUSH1 0x20
0000185c: MSTORE
0000185d: PUSH1 0x40
0000185f: DUP2
00001860: KECCAK256
00001861: SLOAD
00001862: PUSH1 0xff
00001864: AND
00001865: PUSH2 0x1880
00001868: JUMPI
00001869: PUSH1 0x40
0000186b: MLOAD
0000186c: PUSH3 0x461bcd
00001870: PUSH1 0xe5
00001872: SHL
00001873: DUP2
00001874: MSTORE
00001875: PUSH1 0x04
00001877: ADD
00001878: PUSH2 0x071d
0000187b: SWAP1
0000187c: PUSH2 0x2441
0000187f: JUMP
00001880: JUMPDEST
00001881: PUSH2 0x188a
00001884: DUP4
00001885: DUP4
00001886: PUSH2 0x19c5
00001889: JUMP
0000188a: JUMPDEST
0000188b: DUP3
0000188c: PUSH1 0x01
0000188e: PUSH1 0x01
00001890: PUSH1 0xa0
00001892: SHL
00001893: SUB
00001894: AND
00001895: DUP5
00001896: PUSH32 0x05d0634fe981be85c22e2942a880821b70095d84e152c3ea3c17a4e4250d9d61
000018b7: DUP5
000018b8: PUSH1 0x40
000018ba: MLOAD
000018bb: PUSH2 0x139f
000018be: SWAP2
000018bf: DUP2
000018c0: MSTORE
000018c1: PUSH1 0x20
000018c3: ADD
000018c4: SWAP1
000018c5: JUMP
000018c6: JUMPDEST
000018c7: PUSH1 0x00
000018c9: PUSH1 0x0c
000018cb: SLOAD
000018cc: TIMESTAMP
000018cd: LT
000018ce: PUSH2 0x18e1
000018d1: JUMPI
000018d2: POP
000018d3: PUSH1 0x0b
000018d5: SLOAD
000018d6: PUSH1 0x01
000018d8: PUSH1 0x01
000018da: PUSH1 0xa0
000018dc: SHL
000018dd: SUB
000018de: AND
000018df: SWAP1
000018e0: JUMP
000018e1: JUMPDEST
000018e2: POP
000018e3: PUSH1 0x08
000018e5: SLOAD
000018e6: PUSH1 0x01
000018e8: PUSH1 0x01
000018ea: PUSH1 0xa0
000018ec: SHL
000018ed: SUB
000018ee: AND
000018ef: SWAP1
000018f0: JUMP
000018f1: JUMPDEST
000018f2: PUSH2 0x18f9
000018f5: PUSH2 0x18c6
000018f8: JUMP
000018f9: JUMPDEST
000018fa: PUSH1 0x01
000018fc: PUSH1 0x01
000018fe: PUSH1 0xa0
00001900: SHL
00001901: SUB
00001902: AND
00001903: CALLER
00001904: PUSH1 0x01
00001906: PUSH1 0x01
00001908: PUSH1 0xa0
0000190a: SHL
0000190b: SUB
0000190c: AND
0000190d: EQ
0000190e: PUSH2 0x1929
00001911: JUMPI
00001912: PUSH1 0x40
00001914: MLOAD
00001915: PUSH3 0x461bcd
00001919: PUSH1 0xe5
0000191b: SHL
0000191c: DUP2
0000191d: MSTORE
0000191e: PUSH1 0x04
00001920: ADD
00001921: PUSH2 0x071d
00001924: SWAP1
00001925: PUSH2 0x22d6
00001928: JUMP
00001929: JUMPDEST
0000192a: PUSH1 0x01
0000192c: PUSH1 0x01
0000192e: PUSH1 0xa0
00001930: SHL
00001931: SUB
00001932: DUP2
00001933: AND
00001934: PUSH2 0x194f
00001937: JUMPI
00001938: PUSH1 0x40
0000193a: MLOAD
0000193b: PUSH3 0x461bcd
0000193f: PUSH1 0xe5
00001941: SHL
00001942: DUP2
00001943: MSTORE
00001944: PUSH1 0x04
00001946: ADD
00001947: PUSH2 0x071d
0000194a: SWAP1
0000194b: PUSH2 0x2493
0000194e: JUMP
0000194f: JUMPDEST
00001950: PUSH1 0x09
00001952: DUP1
00001953: SLOAD
00001954: PUSH1 0x01
00001956: PUSH1 0x01
00001958: PUSH1 0xa0
0000195a: SHL
0000195b: SUB
0000195c: NOT
0000195d: AND
0000195e: PUSH1 0x01
00001960: PUSH1 0x01
00001962: PUSH1 0xa0
00001964: SHL
00001965: SUB
00001966: DUP4
00001967: AND
00001968: OR
00001969: SWAP1
0000196a: SSTORE
0000196b: PUSH1 0x05
0000196d: SLOAD
0000196e: PUSH2 0x1977
00001971: SWAP1
00001972: TIMESTAMP
00001973: PUSH2 0x23c4
00001976: JUMP
00001977: JUMPDEST
00001978: PUSH1 0x0a
0000197a: SSTORE
0000197b: POP
0000197c: JUMP
0000197d: JUMPDEST
0000197e: PUSH1 0x00
00001980: PUSH2 0x1989
00001983: DUP5
00001984: DUP5
00001985: PUSH2 0x1be7
00001988: JUMP
00001989: JUMPDEST
0000198a: PUSH2 0x19bd
0000198d: PUSH1 0x01
0000198f: PUSH1 0x01
00001991: PUSH1 0xa0
00001993: SHL
00001994: SUB
00001995: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000019b6: AND
000019b7: DUP4
000019b8: DUP6
000019b9: PUSH2 0x1da7
000019bc: JUMP
000019bd: JUMPDEST
000019be: POP
000019bf: SWAP1
000019c0: SWAP3
000019c1: SWAP2
000019c2: POP
000019c3: POP
000019c4: JUMP
000019c5: JUMPDEST
000019c6: PUSH1 0x01
000019c8: PUSH1 0x01
000019ca: PUSH1 0xa0
000019cc: SHL
000019cd: SUB
000019ce: DUP3
000019cf: AND
000019d0: PUSH2 0x1a1b
000019d3: JUMPI
000019d4: PUSH1 0x40
000019d6: MLOAD
000019d7: PUSH3 0x461bcd
000019db: PUSH1 0xe5
000019dd: SHL
000019de: DUP2
000019df: MSTORE
000019e0: PUSH1 0x20
000019e2: PUSH1 0x04
000019e4: DUP3
000019e5: ADD
000019e6: MSTORE
000019e7: PUSH1 0x1f
000019e9: PUSH1 0x24
000019eb: DUP3
000019ec: ADD
000019ed: MSTORE
000019ee: PUSH32 0x45524332303a206d696e7420746f20746865207a65726f206164647265737300
00001a0f: PUSH1 0x44
00001a11: DUP3
00001a12: ADD
00001a13: MSTORE
00001a14: PUSH1 0x64
00001a16: ADD
00001a17: PUSH2 0x071d
00001a1a: JUMP
00001a1b: JUMPDEST
00001a1c: DUP1
00001a1d: PUSH1 0x03
00001a1f: PUSH1 0x00
00001a21: DUP3
00001a22: DUP3
00001a23: SLOAD
00001a24: PUSH2 0x1a2d
00001a27: SWAP2
00001a28: SWAP1
00001a29: PUSH2 0x23c4
00001a2c: JUMP
00001a2d: JUMPDEST
00001a2e: SWAP1
00001a2f: SWAP2
00001a30: SSTORE
00001a31: POP
00001a32: POP
00001a33: PUSH1 0x01
00001a35: PUSH1 0x01
00001a37: PUSH1 0xa0
00001a39: SHL
00001a3a: SUB
00001a3b: DUP3
00001a3c: AND
00001a3d: PUSH1 0x00
00001a3f: SWAP1
00001a40: DUP2
00001a41: MSTORE
00001a42: PUSH1 0x02
00001a44: PUSH1 0x20
00001a46: MSTORE
00001a47: PUSH1 0x40
00001a49: DUP2
00001a4a: KECCAK256
00001a4b: DUP1
00001a4c: SLOAD
00001a4d: DUP4
00001a4e: SWAP3
00001a4f: SWAP1
00001a50: PUSH2 0x1a5a
00001a53: SWAP1
00001a54: DUP5
00001a55: SWAP1
00001a56: PUSH2 0x23c4
00001a59: JUMP
00001a5a: JUMPDEST
00001a5b: SWAP1
00001a5c: SWAP2
00001a5d: SSTORE
00001a5e: POP
00001a5f: POP
00001a60: PUSH1 0x40
00001a62: MLOAD
00001a63: DUP2
00001a64: DUP2
00001a65: MSTORE
00001a66: PUSH1 0x01
00001a68: PUSH1 0x01
00001a6a: PUSH1 0xa0
00001a6c: SHL
00001a6d: SUB
00001a6e: DUP4
00001a6f: AND
00001a70: SWAP1
00001a71: PUSH1 0x00
00001a73: SWAP1
00001a74: PUSH1 0x00
00001a76: DUP1
00001a77: MLOAD
00001a78: PUSH1 0x20
00001a7a: PUSH2 0x2500
00001a7d: DUP4
00001a7e: CODECOPY
00001a7f: DUP2
00001a80: MLOAD
00001a81: SWAP2
00001a82: MSTORE
00001a83: SWAP1
00001a84: PUSH1 0x20
00001a86: ADD
00001a87: JUMPDEST
00001a88: PUSH1 0x40
00001a8a: MLOAD
00001a8b: DUP1
00001a8c: SWAP2
00001a8d: SUB
00001a8e: SWAP1
00001a8f: LOG3
00001a90: POP
00001a91: POP
00001a92: JUMP
00001a93: JUMPDEST
00001a94: PUSH1 0x40
00001a96: MLOAD
00001a97: PUSH2 0x1901
00001a9a: PUSH1 0xf0
00001a9c: SHL
00001a9d: PUSH1 0x20
00001a9f: DUP3
00001aa0: ADD
00001aa1: MSTORE
00001aa2: PUSH32 0x584a74212f993f39abbcbc43a56ec7bc7fbeb1b356c465c2b1d2cd44c34eaf43
00001ac3: PUSH1 0x22
00001ac5: DUP3
00001ac6: ADD
00001ac7: MSTORE
00001ac8: PUSH1 0x42
00001aca: DUP2
00001acb: ADD
00001acc: DUP6
00001acd: SWAP1
00001ace: MSTORE
00001acf: PUSH1 0x00
00001ad1: SWAP1
00001ad2: DUP2
00001ad3: SWAP1
00001ad4: PUSH1 0x62
00001ad6: ADD
00001ad7: JUMPDEST
00001ad8: PUSH1 0x40
00001ada: DUP1
00001adb: MLOAD
00001adc: PUSH1 0x1f
00001ade: NOT
00001adf: DUP2
00001ae0: DUP5
00001ae1: SUB
00001ae2: ADD
00001ae3: DUP2
00001ae4: MSTORE
00001ae5: DUP3
00001ae6: DUP3
00001ae7: MSTORE
00001ae8: DUP1
00001ae9: MLOAD
00001aea: PUSH1 0x20
00001aec: SWAP2
00001aed: DUP3
00001aee: ADD
00001aef: KECCAK256
00001af0: PUSH1 0x00
00001af2: DUP1
00001af3: DUP6
00001af4: MSTORE
00001af5: SWAP2
00001af6: DUP5
00001af7: ADD
00001af8: DUP1
00001af9: DUP5
00001afa: MSTORE
00001afb: DUP2
00001afc: SWAP1
00001afd: MSTORE
00001afe: PUSH1 0xff
00001b00: DUP10
00001b01: AND
00001b02: SWAP3
00001b03: DUP5
00001b04: ADD
00001b05: SWAP3
00001b06: SWAP1
00001b07: SWAP3
00001b08: MSTORE
00001b09: PUSH1 0x60
00001b0b: DUP4
00001b0c: ADD
00001b0d: DUP8
00001b0e: SWAP1
00001b0f: MSTORE
00001b10: PUSH1 0x80
00001b12: DUP4
00001b13: ADD
00001b14: DUP7
00001b15: SWAP1
00001b16: MSTORE
00001b17: SWAP1
00001b18: SWAP3
00001b19: POP
00001b1a: SWAP1
00001b1b: PUSH1 0x01
00001b1d: SWAP1
00001b1e: PUSH1 0xa0
00001b20: ADD
00001b21: PUSH1 0x20
00001b23: PUSH1 0x40
00001b25: MLOAD
00001b26: PUSH1 0x20
00001b28: DUP2
00001b29: SUB
00001b2a: SWAP1
00001b2b: DUP1
00001b2c: DUP5
00001b2d: SUB
00001b2e: SWAP1
00001b2f: DUP6
00001b30: GAS
00001b31: STATICCALL
00001b32: ISZERO
00001b33: DUP1
00001b34: ISZERO
00001b35: PUSH2 0x1b42
00001b38: JUMPI
00001b39: RETURNDATASIZE
00001b3a: PUSH1 0x00
00001b3c: DUP1
00001b3d: RETURNDATACOPY
00001b3e: RETURNDATASIZE
00001b3f: PUSH1 0x00
00001b41: REVERT
00001b42: JUMPDEST
00001b43: POP
00001b44: POP
00001b45: PUSH1 0x40
00001b47: MLOAD
00001b48: PUSH1 0x1f
00001b4a: NOT
00001b4b: ADD
00001b4c: MLOAD
00001b4d: SWAP2
00001b4e: POP
00001b4f: POP
00001b50: PUSH1 0x01
00001b52: PUSH1 0x01
00001b54: PUSH1 0xa0
00001b56: SHL
00001b57: SUB
00001b58: DUP2
00001b59: AND
00001b5a: ISZERO
00001b5b: DUP1
00001b5c: ISZERO
00001b5d: SWAP1
00001b5e: PUSH2 0x1b78
00001b61: JUMPI
00001b62: POP
00001b63: DUP8
00001b64: PUSH1 0x01
00001b66: PUSH1 0x01
00001b68: PUSH1 0xa0
00001b6a: SHL
00001b6b: SUB
00001b6c: AND
00001b6d: DUP2
00001b6e: PUSH1 0x01
00001b70: PUSH1 0x01
00001b72: PUSH1 0xa0
00001b74: SHL
00001b75: SUB
00001b76: AND
00001b77: EQ
00001b78: JUMPDEST
00001b79: SWAP9
00001b7a: SWAP8
00001b7b: POP
00001b7c: POP
00001b7d: POP
00001b7e: POP
00001b7f: POP
00001b80: POP
00001b81: POP
00001b82: POP
00001b83: JUMP
00001b84: JUMPDEST
00001b85: PUSH1 0x40
00001b87: MLOAD
00001b88: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000
00001ba9: PUSH1 0x20
00001bab: DUP3
00001bac: ADD
00001bad: MSTORE
00001bae: PUSH32 0x584a74212f993f39abbcbc43a56ec7bc7fbeb1b356c465c2b1d2cd44c34eaf43
00001bcf: PUSH1 0x3c
00001bd1: DUP3
00001bd2: ADD
00001bd3: MSTORE
00001bd4: PUSH1 0x5c
00001bd6: DUP2
00001bd7: ADD
00001bd8: DUP6
00001bd9: SWAP1
00001bda: MSTORE
00001bdb: PUSH1 0x00
00001bdd: SWAP1
00001bde: DUP2
00001bdf: SWAP1
00001be0: PUSH1 0x7c
00001be2: ADD
00001be3: PUSH2 0x1ad7
00001be6: JUMP
00001be7: JUMPDEST
00001be8: PUSH1 0x01
00001bea: PUSH1 0x01
00001bec: PUSH1 0xa0
00001bee: SHL
00001bef: SUB
00001bf0: DUP3
00001bf1: AND
00001bf2: PUSH2 0x1c47
00001bf5: JUMPI
00001bf6: PUSH1 0x40
00001bf8: MLOAD
00001bf9: PUSH3 0x461bcd
00001bfd: PUSH1 0xe5
00001bff: SHL
00001c00: DUP2
00001c01: MSTORE
00001c02: PUSH1 0x20
00001c04: PUSH1 0x04
00001c06: DUP3
00001c07: ADD
00001c08: MSTORE
00001c09: PUSH1 0x21
00001c0b: PUSH1 0x24
00001c0d: DUP3
00001c0e: ADD
00001c0f: MSTORE
00001c10: PUSH32 0x45524332303a206275726e2066726f6d20746865207a65726f20616464726573
00001c31: PUSH1 0x44
00001c33: DUP3
00001c34: ADD
00001c35: MSTORE
00001c36: PUSH1 0x73
00001c38: PUSH1 0xf8
00001c3a: SHL
00001c3b: PUSH1 0x64
00001c3d: DUP3
00001c3e: ADD
00001c3f: MSTORE
00001c40: PUSH1 0x84
00001c42: ADD
00001c43: PUSH2 0x071d
00001c46: JUMP
00001c47: JUMPDEST
00001c48: PUSH1 0x01
00001c4a: PUSH1 0x01
00001c4c: PUSH1 0xa0
00001c4e: SHL
00001c4f: SUB
00001c50: DUP3
00001c51: AND
00001c52: PUSH1 0x00
00001c54: SWAP1
00001c55: DUP2
00001c56: MSTORE
00001c57: PUSH1 0x02
00001c59: PUSH1 0x20
00001c5b: MSTORE
00001c5c: PUSH1 0x40
00001c5e: DUP2
00001c5f: KECCAK256
00001c60: DUP1
00001c61: SLOAD
00001c62: DUP4
00001c63: SWAP3
00001c64: SWAP1
00001c65: PUSH2 0x1c6f
00001c68: SWAP1
00001c69: DUP5
00001c6a: SWAP1
00001c6b: PUSH2 0x235e
00001c6e: JUMP
00001c6f: JUMPDEST
00001c70: SWAP3
00001c71: POP
00001c72: POP
00001c73: DUP2
00001c74: SWAP1
00001c75: SSTORE
00001c76: POP
00001c77: DUP1
00001c78: PUSH1 0x03
00001c7a: PUSH1 0x00
00001c7c: DUP3
00001c7d: DUP3
00001c7e: SLOAD
00001c7f: PUSH2 0x1c88
00001c82: SWAP2
00001c83: SWAP1
00001c84: PUSH2 0x235e
00001c87: JUMP
00001c88: JUMPDEST
00001c89: SWAP1
00001c8a: SWAP2
00001c8b: SSTORE
00001c8c: POP
00001c8d: POP
00001c8e: PUSH1 0x40
00001c90: MLOAD
00001c91: DUP2
00001c92: DUP2
00001c93: MSTORE
00001c94: PUSH1 0x00
00001c96: SWAP1
00001c97: PUSH1 0x01
00001c99: PUSH1 0x01
00001c9b: PUSH1 0xa0
00001c9d: SHL
00001c9e: SUB
00001c9f: DUP5
00001ca0: AND
00001ca1: SWAP1
00001ca2: PUSH1 0x00
00001ca4: DUP1
00001ca5: MLOAD
00001ca6: PUSH1 0x20
00001ca8: PUSH2 0x2500
00001cab: DUP4
00001cac: CODECOPY
00001cad: DUP2
00001cae: MLOAD
00001caf: SWAP2
00001cb0: MSTORE
00001cb1: SWAP1
00001cb2: PUSH1 0x20
00001cb4: ADD
00001cb5: PUSH2 0x1a87
00001cb8: JUMP
00001cb9: JUMPDEST
00001cba: PUSH1 0x40
00001cbc: MLOAD
00001cbd: PUSH1 0x01
00001cbf: PUSH1 0x01
00001cc1: PUSH1 0xa0
00001cc3: SHL
00001cc4: SUB
00001cc5: DUP1
00001cc6: DUP6
00001cc7: AND
00001cc8: PUSH1 0x24
00001cca: DUP4
00001ccb: ADD
00001ccc: MSTORE
00001ccd: DUP4
00001cce: AND
00001ccf: PUSH1 0x44
00001cd1: DUP3
00001cd2: ADD
00001cd3: MSTORE
00001cd4: PUSH1 0x64
00001cd6: DUP2
00001cd7: ADD
00001cd8: DUP3
00001cd9: SWAP1
00001cda: MSTORE
00001cdb: PUSH2 0x1d24
00001cde: SWAP1
00001cdf: DUP6
00001ce0: SWAP1
00001ce1: PUSH4 0x23b872dd
00001ce6: PUSH1 0xe0
00001ce8: SHL
00001ce9: SWAP1
00001cea: PUSH1 0x84
00001cec: ADD
00001ced: JUMPDEST
00001cee: PUSH1 0x40
00001cf0: DUP1
00001cf1: MLOAD
00001cf2: PUSH1 0x1f
00001cf4: NOT
00001cf5: DUP2
00001cf6: DUP5
00001cf7: SUB
00001cf8: ADD
00001cf9: DUP2
00001cfa: MSTORE
00001cfb: SWAP2
00001cfc: SWAP1
00001cfd: MSTORE
00001cfe: PUSH1 0x20
00001d00: DUP2
00001d01: ADD
00001d02: DUP1
00001d03: MLOAD
00001d04: PUSH1 0x01
00001d06: PUSH1 0x01
00001d08: PUSH1 0xe0
00001d0a: SHL
00001d0b: SUB
00001d0c: AND
00001d0d: PUSH1 0x01
00001d0f: PUSH1 0x01
00001d11: PUSH1 0xe0
00001d13: SHL
00001d14: SUB
00001d15: NOT
00001d16: SWAP1
00001d17: SWAP4
00001d18: AND
00001d19: SWAP3
00001d1a: SWAP1
00001d1b: SWAP3
00001d1c: OR
00001d1d: SWAP1
00001d1e: SWAP2
00001d1f: MSTORE
00001d20: PUSH2 0x1ddc
00001d23: JUMP
00001d24: JUMPDEST
00001d25: POP
00001d26: POP
00001d27: POP
00001d28: POP
00001d29: JUMP
00001d2a: JUMPDEST
00001d2b: PUSH1 0x00
00001d2d: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001d4e: PUSH1 0x01
00001d50: PUSH1 0x01
00001d52: PUSH1 0xa0
00001d54: SHL
00001d55: SUB
00001d56: AND
00001d57: ISZERO
00001d58: DUP1
00001d59: ISZERO
00001d5a: SWAP1
00001d5b: PUSH2 0x1d8d
00001d5e: JUMPI
00001d5f: POP
00001d60: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001d81: PUSH1 0x01
00001d83: PUSH1 0x01
00001d85: PUSH1 0xa0
00001d87: SHL
00001d88: SUB
00001d89: AND
00001d8a: ADDRESS
00001d8b: EQ
00001d8c: ISZERO
00001d8d: JUMPDEST
00001d8e: PUSH2 0x1d96
00001d91: JUMPI
00001d92: PUSH1 0x00
00001d94: DUP1
00001d95: REVERT
00001d96: JUMPDEST
00001d97: PUSH2 0x1da0
00001d9a: DUP3
00001d9b: DUP5
00001d9c: PUSH2 0x19c5
00001d9f: JUMP
00001da0: JUMPDEST
00001da1: POP
00001da2: SWAP1
00001da3: SWAP2
00001da4: SWAP1
00001da5: POP
00001da6: JUMP
00001da7: JUMPDEST
00001da8: PUSH1 0x40
00001daa: MLOAD
00001dab: PUSH1 0x01
00001dad: PUSH1 0x01
00001daf: PUSH1 0xa0
00001db1: SHL
00001db2: SUB
00001db3: DUP4
00001db4: AND
00001db5: PUSH1 0x24
00001db7: DUP3
00001db8: ADD
00001db9: MSTORE
00001dba: PUSH1 0x44
00001dbc: DUP2
00001dbd: ADD
00001dbe: DUP3
00001dbf: SWAP1
00001dc0: MSTORE
00001dc1: PUSH2 0x1dd7
00001dc4: SWAP1
00001dc5: DUP5
00001dc6: SWAP1
00001dc7: PUSH4 0xa9059cbb
00001dcc: PUSH1 0xe0
00001dce: SHL
00001dcf: SWAP1
00001dd0: PUSH1 0x64
00001dd2: ADD
00001dd3: PUSH2 0x1ced
00001dd6: JUMP
00001dd7: JUMPDEST
00001dd8: POP
00001dd9: POP
00001dda: POP
00001ddb: JUMP
00001ddc: JUMPDEST
00001ddd: PUSH2 0x1dee
00001de0: DUP3
00001de1: PUSH1 0x01
00001de3: PUSH1 0x01
00001de5: PUSH1 0xa0
00001de7: SHL
00001de8: SUB
00001de9: AND
00001dea: PUSH2 0x1f63
00001ded: JUMP
00001dee: JUMPDEST
00001def: PUSH2 0x1e3a
00001df2: JUMPI
00001df3: PUSH1 0x40
00001df5: MLOAD
00001df6: PUSH3 0x461bcd
00001dfa: PUSH1 0xe5
00001dfc: SHL
00001dfd: DUP2
00001dfe: MSTORE
00001dff: PUSH1 0x20
00001e01: PUSH1 0x04
00001e03: DUP3
00001e04: ADD
00001e05: MSTORE
00001e06: PUSH1 0x1f
00001e08: PUSH1 0x24
00001e0a: DUP3
00001e0b: ADD
00001e0c: MSTORE
00001e0d: PUSH32 0x5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400
00001e2e: PUSH1 0x44
00001e30: DUP3
00001e31: ADD
00001e32: MSTORE
00001e33: PUSH1 0x64
00001e35: ADD
00001e36: PUSH2 0x071d
00001e39: JUMP
00001e3a: JUMPDEST
00001e3b: PUSH1 0x00
00001e3d: DUP1
00001e3e: DUP4
00001e3f: PUSH1 0x01
00001e41: PUSH1 0x01
00001e43: PUSH1 0xa0
00001e45: SHL
00001e46: SUB
00001e47: AND
00001e48: DUP4
00001e49: PUSH1 0x40
00001e4b: MLOAD
00001e4c: PUSH2 0x1e55
00001e4f: SWAP2
00001e50: SWAP1
00001e51: PUSH2 0x24e3
00001e54: JUMP
00001e55: JUMPDEST
00001e56: PUSH1 0x00
00001e58: PUSH1 0x40
00001e5a: MLOAD
00001e5b: DUP1
00001e5c: DUP4
00001e5d: SUB
00001e5e: DUP2
00001e5f: PUSH1 0x00
00001e61: DUP7
00001e62: GAS
00001e63: CALL
00001e64: SWAP2
00001e65: POP
00001e66: POP
00001e67: RETURNDATASIZE
00001e68: DUP1
00001e69: PUSH1 0x00
00001e6b: DUP2
00001e6c: EQ
00001e6d: PUSH2 0x1e92
00001e70: JUMPI
00001e71: PUSH1 0x40
00001e73: MLOAD
00001e74: SWAP2
00001e75: POP
00001e76: PUSH1 0x1f
00001e78: NOT
00001e79: PUSH1 0x3f
00001e7b: RETURNDATASIZE
00001e7c: ADD
00001e7d: AND
00001e7e: DUP3
00001e7f: ADD
00001e80: PUSH1 0x40
00001e82: MSTORE
00001e83: RETURNDATASIZE
00001e84: DUP3
00001e85: MSTORE
00001e86: RETURNDATASIZE
00001e87: PUSH1 0x00
00001e89: PUSH1 0x20
00001e8b: DUP5
00001e8c: ADD
00001e8d: RETURNDATACOPY
00001e8e: PUSH2 0x1e97
00001e91: JUMP
00001e92: JUMPDEST
00001e93: PUSH1 0x60
00001e95: SWAP2
00001e96: POP
00001e97: JUMPDEST
00001e98: POP
00001e99: SWAP2
00001e9a: POP
00001e9b: SWAP2
00001e9c: POP
00001e9d: DUP2
00001e9e: PUSH2 0x1ee9
00001ea1: JUMPI
00001ea2: PUSH1 0x40
00001ea4: MLOAD
00001ea5: PUSH3 0x461bcd
00001ea9: PUSH1 0xe5
00001eab: SHL
00001eac: DUP2
00001ead: MSTORE
00001eae: PUSH1 0x20
00001eb0: PUSH1 0x04
00001eb2: DUP3
00001eb3: ADD
00001eb4: DUP2
00001eb5: SWAP1
00001eb6: MSTORE
00001eb7: PUSH1 0x24
00001eb9: DUP3
00001eba: ADD
00001ebb: MSTORE
00001ebc: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00001edd: PUSH1 0x44
00001edf: DUP3
00001ee0: ADD
00001ee1: MSTORE
00001ee2: PUSH1 0x64
00001ee4: ADD
00001ee5: PUSH2 0x071d
00001ee8: JUMP
00001ee9: JUMPDEST
00001eea: DUP1
00001eeb: MLOAD
00001eec: ISZERO
00001eed: PUSH2 0x1d24
00001ef0: JUMPI
00001ef1: DUP1
00001ef2: DUP1
00001ef3: PUSH1 0x20
00001ef5: ADD
00001ef6: SWAP1
00001ef7: MLOAD
00001ef8: DUP2
00001ef9: ADD
00001efa: SWAP1
00001efb: PUSH2 0x1f04
00001efe: SWAP2
00001eff: SWAP1
00001f00: PUSH2 0x2424
00001f03: JUMP
00001f04: JUMPDEST
00001f05: PUSH2 0x1d24
00001f08: JUMPI
00001f09: PUSH1 0x40
00001f0b: MLOAD
00001f0c: PUSH3 0x461bcd
00001f10: PUSH1 0xe5
00001f12: SHL
00001f13: DUP2
00001f14: MSTORE
00001f15: PUSH1 0x20
00001f17: PUSH1 0x04
00001f19: DUP3
00001f1a: ADD
00001f1b: MSTORE
00001f1c: PUSH1 0x2a
00001f1e: PUSH1 0x24
00001f20: DUP3
00001f21: ADD
00001f22: MSTORE
00001f23: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00001f44: PUSH1 0x44
00001f46: DUP3
00001f47: ADD
00001f48: MSTORE
00001f49: PUSH10 0x1bdd081cdd58d8d95959
00001f54: PUSH1 0xb2
00001f56: SHL
00001f57: PUSH1 0x64
00001f59: DUP3
00001f5a: ADD
00001f5b: MSTORE
00001f5c: PUSH1 0x84
00001f5e: ADD
00001f5f: PUSH2 0x071d
00001f62: JUMP
00001f63: JUMPDEST
00001f64: PUSH1 0x00
00001f66: DUP2
00001f67: EXTCODEHASH
00001f68: PUSH32 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
00001f89: DUP2
00001f8a: ISZERO
00001f8b: DUP1
00001f8c: ISZERO
00001f8d: SWAP1
00001f8e: PUSH2 0x0731
00001f91: JUMPI
00001f92: POP
00001f93: EQ
00001f94: ISZERO
00001f95: SWAP3
00001f96: SWAP2
00001f97: POP
00001f98: POP
00001f99: JUMP
00001f9a: JUMPDEST
00001f9b: DUP1
00001f9c: CALLDATALOAD
00001f9d: PUSH1 0x01
00001f9f: PUSH1 0x01
00001fa1: PUSH1 0xa0
00001fa3: SHL
00001fa4: SUB
00001fa5: DUP2
00001fa6: AND
00001fa7: DUP2
00001fa8: EQ
00001fa9: PUSH2 0x103f
00001fac: JUMPI
00001fad: PUSH1 0x00
00001faf: DUP1
00001fb0: REVERT
00001fb1: JUMPDEST
00001fb2: PUSH1 0x00
00001fb4: DUP1
00001fb5: PUSH1 0x00
00001fb7: PUSH1 0x60
00001fb9: DUP5
00001fba: DUP7
00001fbb: SUB
00001fbc: SLT
00001fbd: ISZERO
00001fbe: PUSH2 0x1fc6
00001fc1: JUMPI
00001fc2: PUSH1 0x00
00001fc4: DUP1
00001fc5: REVERT
00001fc6: JUMPDEST
00001fc7: PUSH2 0x1fcf
00001fca: DUP5
00001fcb: PUSH2 0x1f9a
00001fce: JUMP
00001fcf: JUMPDEST
00001fd0: SWAP3
00001fd1: POP
00001fd2: PUSH1 0x20
00001fd4: DUP5
00001fd5: ADD
00001fd6: CALLDATALOAD
00001fd7: SWAP2
00001fd8: POP
00001fd9: PUSH2 0x1fe4
00001fdc: PUSH1 0x40
00001fde: DUP6
00001fdf: ADD
00001fe0: PUSH2 0x1f9a
00001fe3: JUMP
00001fe4: JUMPDEST
00001fe5: SWAP1
00001fe6: POP
00001fe7: SWAP3
00001fe8: POP
00001fe9: SWAP3
00001fea: POP
00001feb: SWAP3
00001fec: JUMP
00001fed: JUMPDEST
00001fee: PUSH1 0x00
00001ff0: DUP1
00001ff1: PUSH1 0x40
00001ff3: DUP4
00001ff4: DUP6
00001ff5: SUB
00001ff6: SLT
00001ff7: ISZERO
00001ff8: PUSH2 0x2000
00001ffb: JUMPI
00001ffc: PUSH1 0x00
00001ffe: DUP1
00001fff: REVERT
00002000: JUMPDEST
00002001: DUP3
00002002: CALLDATALOAD
00002003: SWAP2
00002004: POP
00002005: PUSH2 0x2010
00002008: PUSH1 0x20
0000200a: DUP5
0000200b: ADD
0000200c: PUSH2 0x1f9a
0000200f: JUMP
00002010: JUMPDEST
00002011: SWAP1
00002012: POP
00002013: SWAP3
00002014: POP
00002015: SWAP3
00002016: SWAP1
00002017: POP
00002018: JUMP
00002019: JUMPDEST
0000201a: PUSH1 0x00
0000201c: JUMPDEST
0000201d: DUP4
0000201e: DUP2
0000201f: LT
00002020: ISZERO
00002021: PUSH2 0x2034
00002024: JUMPI
00002025: DUP2
00002026: DUP2
00002027: ADD
00002028: MLOAD
00002029: DUP4
0000202a: DUP3
0000202b: ADD
0000202c: MSTORE
0000202d: PUSH1 0x20
0000202f: ADD
00002030: PUSH2 0x201c
00002033: JUMP
00002034: JUMPDEST
00002035: DUP4
00002036: DUP2
00002037: GT
00002038: ISZERO
00002039: PUSH2 0x1d24
0000203c: JUMPI
0000203d: POP
0000203e: POP
0000203f: PUSH1 0x00
00002041: SWAP2
00002042: ADD
00002043: MSTORE
00002044: JUMP
00002045: JUMPDEST
00002046: PUSH1 0x20
00002048: DUP2
00002049: MSTORE
0000204a: PUSH1 0x00
0000204c: DUP3
0000204d: MLOAD
0000204e: DUP1
0000204f: PUSH1 0x20
00002051: DUP5
00002052: ADD
00002053: MSTORE
00002054: PUSH2 0x2064
00002057: DUP2
00002058: PUSH1 0x40
0000205a: DUP6
0000205b: ADD
0000205c: PUSH1 0x20
0000205e: DUP8
0000205f: ADD
00002060: PUSH2 0x2019
00002063: JUMP
00002064: JUMPDEST
00002065: PUSH1 0x1f
00002067: ADD
00002068: PUSH1 0x1f
0000206a: NOT
0000206b: AND
0000206c: SWAP2
0000206d: SWAP1
0000206e: SWAP2
0000206f: ADD
00002070: PUSH1 0x40
00002072: ADD
00002073: SWAP3
00002074: SWAP2
00002075: POP
00002076: POP
00002077: JUMP
00002078: JUMPDEST
00002079: PUSH1 0x00
0000207b: DUP1
0000207c: PUSH1 0x40
0000207e: DUP4
0000207f: DUP6
00002080: SUB
00002081: SLT
00002082: ISZERO
00002083: PUSH2 0x208b
00002086: JUMPI
00002087: PUSH1 0x00
00002089: DUP1
0000208a: REVERT
0000208b: JUMPDEST
0000208c: PUSH2 0x2094
0000208f: DUP4
00002090: PUSH2 0x1f9a
00002093: JUMP
00002094: JUMPDEST
00002095: SWAP5
00002096: PUSH1 0x20
00002098: SWAP4
00002099: SWAP1
0000209a: SWAP4
0000209b: ADD
0000209c: CALLDATALOAD
0000209d: SWAP4
0000209e: POP
0000209f: POP
000020a0: POP
000020a1: JUMP
000020a2: JUMPDEST
000020a3: PUSH1 0x00
000020a5: DUP1
000020a6: PUSH1 0x00
000020a8: PUSH1 0x60
000020aa: DUP5
000020ab: DUP7
000020ac: SUB
000020ad: SLT
000020ae: ISZERO
000020af: PUSH2 0x20b7
000020b2: JUMPI
000020b3: PUSH1 0x00
000020b5: DUP1
000020b6: REVERT
000020b7: JUMPDEST
000020b8: PUSH2 0x20c0
000020bb: DUP5
000020bc: PUSH2 0x1f9a
000020bf: JUMP
000020c0: JUMPDEST
000020c1: SWAP3
000020c2: POP
000020c3: PUSH2 0x20ce
000020c6: PUSH1 0x20
000020c8: DUP6
000020c9: ADD
000020ca: PUSH2 0x1f9a
000020cd: JUMP
000020ce: JUMPDEST
000020cf: SWAP2
000020d0: POP
000020d1: PUSH1 0x40
000020d3: DUP5
000020d4: ADD
000020d5: CALLDATALOAD
000020d6: SWAP1
000020d7: POP
000020d8: SWAP3
000020d9: POP
000020da: SWAP3
000020db: POP
000020dc: SWAP3
000020dd: JUMP
000020de: JUMPDEST
000020df: PUSH1 0x00
000020e1: PUSH1 0x20
000020e3: DUP3
000020e4: DUP5
000020e5: SUB
000020e6: SLT
000020e7: ISZERO
000020e8: PUSH2 0x20f0
000020eb: JUMPI
000020ec: PUSH1 0x00
000020ee: DUP1
000020ef: REVERT
000020f0: JUMPDEST
000020f1: POP
000020f2: CALLDATALOAD
000020f3: SWAP2
000020f4: SWAP1
000020f5: POP
000020f6: JUMP
000020f7: JUMPDEST
000020f8: PUSH1 0x00
000020fa: PUSH1 0x20
000020fc: DUP3
000020fd: DUP5
000020fe: SUB
000020ff: SLT
00002100: ISZERO
00002101: PUSH2 0x2109
00002104: JUMPI
00002105: PUSH1 0x00
00002107: DUP1
00002108: REVERT
00002109: JUMPDEST
0000210a: PUSH2 0x0746
0000210d: DUP3
0000210e: PUSH2 0x1f9a
00002111: JUMP
00002112: JUMPDEST
00002113: PUSH1 0x00
00002115: DUP1
00002116: PUSH1 0x00
00002118: DUP1
00002119: PUSH1 0x60
0000211b: DUP6
0000211c: DUP8
0000211d: SUB
0000211e: SLT
0000211f: ISZERO
00002120: PUSH2 0x2128
00002123: JUMPI
00002124: PUSH1 0x00
00002126: DUP1
00002127: REVERT
00002128: JUMPDEST
00002129: PUSH2 0x2131
0000212c: DUP6
0000212d: PUSH2 0x1f9a
00002130: JUMP
00002131: JUMPDEST
00002132: SWAP4
00002133: POP
00002134: PUSH1 0x20
00002136: DUP6
00002137: ADD
00002138: CALLDATALOAD
00002139: SWAP3
0000213a: POP
0000213b: PUSH1 0x40
0000213d: DUP6
0000213e: ADD
0000213f: CALLDATALOAD
00002140: PUSH8 0xffffffffffffffff
00002149: DUP1
0000214a: DUP3
0000214b: GT
0000214c: ISZERO
0000214d: PUSH2 0x2155
00002150: JUMPI
00002151: PUSH1 0x00
00002153: DUP1
00002154: REVERT
00002155: JUMPDEST
00002156: DUP2
00002157: DUP8
00002158: ADD
00002159: SWAP2
0000215a: POP
0000215b: DUP8
0000215c: PUSH1 0x1f
0000215e: DUP4
0000215f: ADD
00002160: SLT
00002161: PUSH2 0x2169
00002164: JUMPI
00002165: PUSH1 0x00
00002167: DUP1
00002168: REVERT
00002169: JUMPDEST
0000216a: DUP2
0000216b: CALLDATALOAD
0000216c: DUP2
0000216d: DUP2
0000216e: GT
0000216f: ISZERO
00002170: PUSH2 0x2178
00002173: JUMPI
00002174: PUSH1 0x00
00002176: DUP1
00002177: REVERT
00002178: JUMPDEST
00002179: DUP9
0000217a: PUSH1 0x20
0000217c: DUP3
0000217d: DUP6
0000217e: ADD
0000217f: ADD
00002180: GT
00002181: ISZERO
00002182: PUSH2 0x218a
00002185: JUMPI
00002186: PUSH1 0x00
00002188: DUP1
00002189: REVERT
0000218a: JUMPDEST
0000218b: SWAP6
0000218c: SWAP9
0000218d: SWAP5
0000218e: SWAP8
0000218f: POP
00002190: POP
00002191: PUSH1 0x20
00002193: ADD
00002194: SWAP5
00002195: POP
00002196: POP
00002197: POP
00002198: JUMP
00002199: JUMPDEST
0000219a: PUSH1 0x00
0000219c: DUP1
0000219d: PUSH1 0x00
0000219f: DUP1
000021a0: PUSH1 0x00
000021a2: DUP1
000021a3: PUSH1 0x00
000021a5: PUSH1 0xe0
000021a7: DUP9
000021a8: DUP11
000021a9: SUB
000021aa: SLT
000021ab: ISZERO
000021ac: PUSH2 0x21b4
000021af: JUMPI
000021b0: PUSH1 0x00
000021b2: DUP1
000021b3: REVERT
000021b4: JUMPDEST
000021b5: PUSH2 0x21bd
000021b8: DUP9
000021b9: PUSH2 0x1f9a
000021bc: JUMP
000021bd: JUMPDEST
000021be: SWAP7
000021bf: POP
000021c0: PUSH2 0x21cb
000021c3: PUSH1 0x20
000021c5: DUP10
000021c6: ADD
000021c7: PUSH2 0x1f9a
000021ca: JUMP
000021cb: JUMPDEST
000021cc: SWAP6
000021cd: POP
000021ce: PUSH1 0x40
000021d0: DUP9
000021d1: ADD
000021d2: CALLDATALOAD
000021d3: SWAP5
000021d4: POP
000021d5: PUSH1 0x60
000021d7: DUP9
000021d8: ADD
000021d9: CALLDATALOAD
000021da: SWAP4
000021db: POP
000021dc: PUSH1 0x80
000021de: DUP9
000021df: ADD
000021e0: CALLDATALOAD
000021e1: PUSH1 0xff
000021e3: DUP2
000021e4: AND
000021e5: DUP2
000021e6: EQ
000021e7: PUSH2 0x21ef
000021ea: JUMPI
000021eb: PUSH1 0x00
000021ed: DUP1
000021ee: REVERT
000021ef: JUMPDEST
000021f0: SWAP7
000021f1: SWAP10
000021f2: SWAP6
000021f3: SWAP9
000021f4: POP
000021f5: SWAP4
000021f6: SWAP7
000021f7: SWAP3
000021f8: SWAP6
000021f9: SWAP5
000021fa: PUSH1 0xa0
000021fc: DUP5
000021fd: ADD
000021fe: CALLDATALOAD
000021ff: SWAP5
00002200: POP
00002201: PUSH1 0xc0
00002203: SWAP1
00002204: SWAP4
00002205: ADD
00002206: CALLDATALOAD
00002207: SWAP3
00002208: SWAP2
00002209: POP
0000220a: POP
0000220b: JUMP
0000220c: JUMPDEST
0000220d: PUSH1 0x20
0000220f: DUP1
00002210: DUP3
00002211: MSTORE
00002212: DUP3
00002213: MLOAD
00002214: DUP3
00002215: DUP3
00002216: ADD
00002217: DUP2
00002218: SWAP1
00002219: MSTORE
0000221a: PUSH1 0x00
0000221c: SWAP2
0000221d: SWAP1
0000221e: DUP5
0000221f: DUP3
00002220: ADD
00002221: SWAP1
00002222: PUSH1 0x40
00002224: DUP6
00002225: ADD
00002226: SWAP1
00002227: DUP5
00002228: JUMPDEST
00002229: DUP2
0000222a: DUP2
0000222b: LT
0000222c: ISZERO
0000222d: PUSH2 0x224d
00002230: JUMPI
00002231: DUP4
00002232: MLOAD
00002233: PUSH1 0x01
00002235: PUSH1 0x01
00002237: PUSH1 0xa0
00002239: SHL
0000223a: SUB
0000223b: AND
0000223c: DUP4
0000223d: MSTORE
0000223e: SWAP3
0000223f: DUP5
00002240: ADD
00002241: SWAP3
00002242: SWAP2
00002243: DUP5
00002244: ADD
00002245: SWAP2
00002246: PUSH1 0x01
00002248: ADD
00002249: PUSH2 0x2228
0000224c: JUMP
0000224d: JUMPDEST
0000224e: POP
0000224f: SWAP1
00002250: SWAP7
00002251: SWAP6
00002252: POP
00002253: POP
00002254: POP
00002255: POP
00002256: POP
00002257: POP
00002258: JUMP
00002259: JUMPDEST
0000225a: DUP1
0000225b: ISZERO
0000225c: ISZERO
0000225d: DUP2
0000225e: EQ
0000225f: PUSH2 0x2267
00002262: JUMPI
00002263: PUSH1 0x00
00002265: DUP1
00002266: REVERT
00002267: JUMPDEST
00002268: POP
00002269: JUMP
0000226a: JUMPDEST
0000226b: PUSH1 0x00
0000226d: PUSH1 0x20
0000226f: DUP3
00002270: DUP5
00002271: SUB
00002272: SLT
00002273: ISZERO
00002274: PUSH2 0x227c
00002277: JUMPI
00002278: PUSH1 0x00
0000227a: DUP1
0000227b: REVERT
0000227c: JUMPDEST
0000227d: DUP2
0000227e: CALLDATALOAD
0000227f: PUSH2 0x0746
00002282: DUP2
00002283: PUSH2 0x2259
00002286: JUMP
00002287: JUMPDEST
00002288: PUSH1 0x00
0000228a: DUP1
0000228b: PUSH1 0x40
0000228d: DUP4
0000228e: DUP6
0000228f: SUB
00002290: SLT
00002291: ISZERO
00002292: PUSH2 0x229a
00002295: JUMPI
00002296: PUSH1 0x00
00002298: DUP1
00002299: REVERT
0000229a: JUMPDEST
0000229b: PUSH2 0x22a3
0000229e: DUP4
0000229f: PUSH2 0x1f9a
000022a2: JUMP
000022a3: JUMPDEST
000022a4: SWAP2
000022a5: POP
000022a6: PUSH2 0x2010
000022a9: PUSH1 0x20
000022ab: DUP5
000022ac: ADD
000022ad: PUSH2 0x1f9a
000022b0: JUMP
000022b1: JUMPDEST
000022b2: PUSH1 0x00
000022b4: DUP1
000022b5: PUSH1 0x00
000022b7: PUSH1 0x60
000022b9: DUP5
000022ba: DUP7
000022bb: SUB
000022bc: SLT
000022bd: ISZERO
000022be: PUSH2 0x22c6
000022c1: JUMPI
000022c2: PUSH1 0x00
000022c4: DUP1
000022c5: REVERT
000022c6: JUMPDEST
000022c7: DUP4
000022c8: CALLDATALOAD
000022c9: SWAP3
000022ca: POP
000022cb: PUSH2 0x20ce
000022ce: PUSH1 0x20
000022d0: DUP6
000022d1: ADD
000022d2: PUSH2 0x1f9a
000022d5: JUMP
000022d6: JUMPDEST
000022d7: PUSH1 0x20
000022d9: DUP1
000022da: DUP3
000022db: MSTORE
000022dc: PUSH1 0x19
000022de: SWAP1
000022df: DUP3
000022e0: ADD
000022e1: MSTORE
000022e2: PUSH32 0x416e7973776170563345524332303a20464f5242494444454e00000000000000
00002303: PUSH1 0x40
00002305: DUP3
00002306: ADD
00002307: MSTORE
00002308: PUSH1 0x60
0000230a: ADD
0000230b: SWAP1
0000230c: JUMP
0000230d: JUMPDEST
0000230e: PUSH1 0x01
00002310: DUP2
00002311: DUP2
00002312: SHR
00002313: SWAP1
00002314: DUP3
00002315: AND
00002316: DUP1
00002317: PUSH2 0x2321
0000231a: JUMPI
0000231b: PUSH1 0x7f
0000231d: DUP3
0000231e: AND
0000231f: SWAP2
00002320: POP
00002321: JUMPDEST
00002322: PUSH1 0x20
00002324: DUP3
00002325: LT
00002326: DUP2
00002327: EQ
00002328: ISZERO
00002329: PUSH2 0x2342
0000232c: JUMPI
0000232d: PUSH4 0x4e487b71
00002332: PUSH1 0xe0
00002334: SHL
00002335: PUSH1 0x00
00002337: MSTORE
00002338: PUSH1 0x22
0000233a: PUSH1 0x04
0000233c: MSTORE
0000233d: PUSH1 0x24
0000233f: PUSH1 0x00
00002341: REVERT
00002342: JUMPDEST
00002343: POP
00002344: SWAP2
00002345: SWAP1
00002346: POP
00002347: JUMP
00002348: JUMPDEST
00002349: PUSH4 0x4e487b71
0000234e: PUSH1 0xe0
00002350: SHL
00002351: PUSH1 0x00
00002353: MSTORE
00002354: PUSH1 0x11
00002356: PUSH1 0x04
00002358: MSTORE
00002359: PUSH1 0x24
0000235b: PUSH1 0x00
0000235d: REVERT
0000235e: JUMPDEST
0000235f: PUSH1 0x00
00002361: DUP3
00002362: DUP3
00002363: LT
00002364: ISZERO
00002365: PUSH2 0x2370
00002368: JUMPI
00002369: PUSH2 0x2370
0000236c: PUSH2 0x2348
0000236f: JUMP
00002370: JUMPDEST
00002371: POP
00002372: SUB
00002373: SWAP1
00002374: JUMP
00002375: JUMPDEST
00002376: PUSH1 0x20
00002378: DUP1
00002379: DUP3
0000237a: MSTORE
0000237b: PUSH1 0x2f
0000237d: SWAP1
0000237e: DUP3
0000237f: ADD
00002380: MSTORE
00002381: PUSH32 0x416e7973776170563345524332303a207472616e7366657220616d6f756e7420
000023a2: PUSH1 0x40
000023a4: DUP3
000023a5: ADD
000023a6: MSTORE
000023a7: PUSH15 0x657863656564732062616c616e6365
000023b7: PUSH1 0x88
000023b9: SHL
000023ba: PUSH1 0x60
000023bc: DUP3
000023bd: ADD
000023be: MSTORE
000023bf: PUSH1 0x80
000023c1: ADD
000023c2: SWAP1
000023c3: JUMP
000023c4: JUMPDEST
000023c5: PUSH1 0x00
000023c7: DUP3
000023c8: NOT
000023c9: DUP3
000023ca: GT
000023cb: ISZERO
000023cc: PUSH2 0x23d7
000023cf: JUMPI
000023d0: PUSH2 0x23d7
000023d3: PUSH2 0x2348
000023d6: JUMP
000023d7: JUMPDEST
000023d8: POP
000023d9: ADD
000023da: SWAP1
000023db: JUMP
000023dc: JUMPDEST
000023dd: PUSH1 0x01
000023df: PUSH1 0x01
000023e1: PUSH1 0xa0
000023e3: SHL
000023e4: SUB
000023e5: DUP6
000023e6: AND
000023e7: DUP2
000023e8: MSTORE
000023e9: PUSH1 0x20
000023eb: DUP2
000023ec: ADD
000023ed: DUP5
000023ee: SWAP1
000023ef: MSTORE
000023f0: PUSH1 0x60
000023f2: PUSH1 0x40
000023f4: DUP3
000023f5: ADD
000023f6: DUP2
000023f7: SWAP1
000023f8: MSTORE
000023f9: DUP2
000023fa: ADD
000023fb: DUP3
000023fc: SWAP1
000023fd: MSTORE
000023fe: DUP2
000023ff: DUP4
00002400: PUSH1 0x80
00002402: DUP4
00002403: ADD
00002404: CALLDATACOPY
00002405: PUSH1 0x00
00002407: DUP2
00002408: DUP4
00002409: ADD
0000240a: PUSH1 0x80
0000240c: SWAP1
0000240d: DUP2
0000240e: ADD
0000240f: SWAP2
00002410: SWAP1
00002411: SWAP2
00002412: MSTORE
00002413: PUSH1 0x1f
00002415: SWAP1
00002416: SWAP3
00002417: ADD
00002418: PUSH1 0x1f
0000241a: NOT
0000241b: AND
0000241c: ADD
0000241d: ADD
0000241e: SWAP4
0000241f: SWAP3
00002420: POP
00002421: POP
00002422: POP
00002423: JUMP
00002424: JUMPDEST
00002425: PUSH1 0x00
00002427: PUSH1 0x20
00002429: DUP3
0000242a: DUP5
0000242b: SUB
0000242c: SLT
0000242d: ISZERO
0000242e: PUSH2 0x2436
00002431: JUMPI
00002432: PUSH1 0x00
00002434: DUP1
00002435: REVERT
00002436: JUMPDEST
00002437: DUP2
00002438: MLOAD
00002439: PUSH2 0x0746
0000243c: DUP2
0000243d: PUSH2 0x2259
00002440: JUMP
00002441: JUMPDEST
00002442: PUSH1 0x20
00002444: DUP1
00002445: DUP3
00002446: MSTORE
00002447: PUSH1 0x19
00002449: SWAP1
0000244a: DUP3
0000244b: ADD
0000244c: MSTORE
0000244d: PUSH32 0x416e7973776170563445524332303a20464f5242494444454e00000000000000
0000246e: PUSH1 0x40
00002470: DUP3
00002471: ADD
00002472: MSTORE
00002473: PUSH1 0x60
00002475: ADD
00002476: SWAP1
00002477: JUMP
00002478: JUMPDEST
00002479: PUSH1 0x00
0000247b: PUSH1 0x00
0000247d: NOT
0000247e: DUP3
0000247f: EQ
00002480: ISZERO
00002481: PUSH2 0x248c
00002484: JUMPI
00002485: PUSH2 0x248c
00002488: PUSH2 0x2348
0000248b: JUMP
0000248c: JUMPDEST
0000248d: POP
0000248e: PUSH1 0x01
00002490: ADD
00002491: SWAP1
00002492: JUMP
00002493: JUMPDEST
00002494: PUSH1 0x20
00002496: DUP1
00002497: DUP3
00002498: MSTORE
00002499: PUSH1 0x1c
0000249b: SWAP1
0000249c: DUP3
0000249d: ADD
0000249e: MSTORE
0000249f: PUSH32 0x416e7973776170563345524332303a2061646472657373283078302900000000
000024c0: PUSH1 0x40
000024c2: DUP3
000024c3: ADD
000024c4: MSTORE
000024c5: PUSH1 0x60
000024c7: ADD
000024c8: SWAP1
000024c9: JUMP
000024ca: JUMPDEST
000024cb: PUSH1 0x00
000024cd: PUSH1 0x20
000024cf: DUP3
000024d0: DUP5
000024d1: SUB
000024d2: SLT
000024d3: ISZERO
000024d4: PUSH2 0x24dc
000024d7: JUMPI
000024d8: PUSH1 0x00
000024da: DUP1
000024db: REVERT
000024dc: JUMPDEST
000024dd: POP
000024de: MLOAD
000024df: SWAP2
000024e0: SWAP1
000024e1: POP
000024e2: JUMP
000024e3: JUMPDEST
000024e4: PUSH1 0x00
000024e6: DUP3
000024e7: MLOAD
000024e8: PUSH2 0x24f5
000024eb: DUP2
000024ec: DUP5
000024ed: PUSH1 0x20
000024ef: DUP8
000024f0: ADD
000024f1: PUSH2 0x2019
000024f4: JUMP
000024f5: JUMPDEST
000024f6: SWAP2
000024f7: SWAP1
000024f8: SWAP2
000024f9: ADD
000024fa: SWAP3
000024fb: SWAP2
000024fc: POP
000024fd: POP
000024fe: JUMP
000024ff: INVALID
00002500: UNKNOWN(0xDD)
00002501: CALLCODE
00002502: MSTORE
00002503: UNKNOWN(0xAD)
00002504: SHL
00002505: UNKNOWN(0xE2)
00002506: UNKNOWN(0xC8)
00002507: SWAP12
00002508: PUSH10 0xc2b068fc378daa952ba7
00002513: CALL
00002514: PUSH4 0xc4a11628
00002519: CREATE2
0000251a: GAS
0000251b: UNKNOWN(0x4D)
0000251c: CREATE2
0000251d: UNKNOWN(0x23)
0000251e: UNKNOWN(0xB3)
0000251f: UNKNOWN(0xEF)
00002520: DUP13
00002521: JUMPDEST
00002522: UNKNOWN(0xE1)
00002523: UNKNOWN(0xE5)
00002524: UNKNOWN(0xEB)
00002525: UNKNOWN(0xEC)
00002526: PUSH30 0x5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a264697066
00002545: PUSH20 0x582212204db622a89335a7f516edf22bc6964bb0
0000255a: UNKNOWN(0xD3)
0000255b: UNKNOWN(0xDA)
0000255c: UNKNOWN(0xE4)
0000255d: RETURNDATASIZE
0000255e: UNKNOWN(0xB2)
0000255f: MSTORE8
00002560: BLOCKHASH
00002561: DUP5
00002562: DUP5
00002563: ORIGIN
00002564: RETURNDATASIZE
00002565: DUP1
00002566: UNKNOWN(0x4B)
00002567: SWAP9
00002568: UNKNOWN(0x2D)
00002569: UNKNOWN(0x4C)
0000256a: PUSH5 0x736f6c6343
00002570: STOP
00002571: ADDMOD
00002572: EXP
00002573: STOP
00002574: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xec126c77",
            "selector": "0xec126c77",
            "calldata_variants": [
                "0xec126c77",
                "0xec126c770000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf75c2664",
            "selector": "0xf75c2664",
            "calldata_variants": [
                "0xf75c2664",
                "0xf75c26640000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfbfa77cf",
            "selector": "0xfbfa77cf",
            "calldata_variants": [
                "0xfbfa77cf",
                "0xfbfa77cf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfca3b5aa",
            "selector": "0xfca3b5aa",
            "calldata_variants": [
                "0xfca3b5aa",
                "0xfca3b5aa0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd505accf",
            "selector": "0xd505accf",
            "calldata_variants": [
                "0xd505accf",
                "0xd505accf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd93f2445",
            "selector": "0xd93f2445",
            "calldata_variants": [
                "0xd93f2445",
                "0xd93f24450000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbebbf4d0",
            "selector": "0xbebbf4d0",
            "calldata_variants": [
                "0xbebbf4d0",
                "0xbebbf4d00000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 9571,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0xab1a52e59d59b72fb873fdcb903c777f3f2ab858e3e439b0adab25f0ef270fdf
call_targets: 0x0615dbba33fe61a31c7ed131bda6655ed76748b1
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xab1a52e59d59b72fb873fdcb903c777f3f2ab858e3e439b0adab25f0ef270fdf",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0615dbba33fe61a31c7ed131bda6655ed76748b1"
    ],
    "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": "0xec126c77",
            "selector": "0xec126c77",
            "calldata_variants": [
                "0xec126c77",
                "0xec126c770000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf75c2664",
            "selector": "0xf75c2664",
            "calldata_variants": [
                "0xf75c2664",
                "0xf75c26640000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfbfa77cf",
            "selector": "0xfbfa77cf",
            "calldata_variants": [
                "0xfbfa77cf",
                "0xfbfa77cf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfca3b5aa",
            "selector": "0xfca3b5aa",
            "calldata_variants": [
                "0xfca3b5aa",
                "0xfca3b5aa0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd505accf",
            "selector": "0xd505accf",
            "calldata_variants": [
                "0xd505accf",
                "0xd505accf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd93f2445",
            "selector": "0xd93f2445",
            "calldata_variants": [
                "0xd93f2445",
                "0xd93f24450000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbebbf4d0",
            "selector": "0xbebbf4d0",
            "calldata_variants": [
                "0xbebbf4d0",
                "0xbebbf4d00000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3314,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5389,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7779,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 5,
    "guards_detected": [
        {
            "pc": 9571,
            "type": "tx_origin_used"
        }
    ]
}
medium math codex Minting uses requested deposit amount rather than actual received amount 75 no
view
evidence_json
{
    "evidence": "`deposit`/`deposit(amount)` perform `safeTransferFrom` for `amount` and then call `_deposit(amount, ...)`, which mints exactly `amount` without checking the post-transfer balance.",
    "locations": [
        "contracts/Contract.sol:309",
        "contracts/Contract.sol:315",
        "contracts/Contract.sol:320",
        "contracts/Contract.sol:329",
        "contracts/Contract.sol:331"
    ],
    "recommendation": "Mint based on the actual amount received by measuring `balanceOf` before/after the transfer, or explicitly restrict the underlying to non-fee, non-rebasing ERC20s and enforce that invariant.",
    "exploit_scenario": "If the underlying token charges a transfer fee or rebases downward, an attacker can deposit 100 tokens (contract receives less), but still mint 100 wrapped tokens, then withdraw the full 100 to drain the pooled underlying backing."
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0xb432000579d32e061f3ff327325c0c981517cd4be4222baf199c3da3c05b2dba
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xb432000579d32e061f3ff327325c0c981517cd4be4222baf199c3da3c05b2dba",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xec126c77",
            "selector": "0xec126c77",
            "calldata_variants": [
                "0xec126c77",
                "0xec126c770000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf75c2664",
            "selector": "0xf75c2664",
            "calldata_variants": [
                "0xf75c2664",
                "0xf75c26640000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfbfa77cf",
            "selector": "0xfbfa77cf",
            "calldata_variants": [
                "0xfbfa77cf",
                "0xfbfa77cf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfca3b5aa",
            "selector": "0xfca3b5aa",
            "calldata_variants": [
                "0xfca3b5aa",
                "0xfca3b5aa0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd505accf",
            "selector": "0xd505accf",
            "calldata_variants": [
                "0xd505accf",
                "0xd505accf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd93f2445",
            "selector": "0xd93f2445",
            "calldata_variants": [
                "0xd93f2445",
                "0xd93f24450000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbebbf4d0",
            "selector": "0xbebbf4d0",
            "calldata_variants": [
                "0xbebbf4d0",
                "0xbebbf4d00000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 2
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0xab1a52e59d59b72fb873fdcb903c777f3f2ab858e3e439b0adab25f0ef270fdf
call_targets: 0x0615dbba33fe61a31c7ed131bda6655ed76748b1
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xab1a52e59d59b72fb873fdcb903c777f3f2ab858e3e439b0adab25f0ef270fdf",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0615dbba33fe61a31c7ed131bda6655ed76748b1"
    ],
    "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": "0xec126c77",
            "selector": "0xec126c77",
            "calldata_variants": [
                "0xec126c77",
                "0xec126c770000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf75c2664",
            "selector": "0xf75c2664",
            "calldata_variants": [
                "0xf75c2664",
                "0xf75c26640000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfbfa77cf",
            "selector": "0xfbfa77cf",
            "calldata_variants": [
                "0xfbfa77cf",
                "0xfbfa77cf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfca3b5aa",
            "selector": "0xfca3b5aa",
            "calldata_variants": [
                "0xfca3b5aa",
                "0xfca3b5aa0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd505accf",
            "selector": "0xd505accf",
            "calldata_variants": [
                "0xd505accf",
                "0xd505accf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd93f2445",
            "selector": "0xd93f2445",
            "calldata_variants": [
                "0xd93f2445",
                "0xd93f24450000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbebbf4d0",
            "selector": "0xbebbf4d0",
            "calldata_variants": [
                "0xbebbf4d0",
                "0xbebbf4d00000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3314,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5389,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7779,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 5,
    "guards_detected": [
        {
            "pc": 9571,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 5
}
low other codex Transfer destination check always passes due to `||` 65 no
view
evidence_json
{
    "evidence": "The condition `require(to != address(0) || to != address(this))` is always true for any address, so it never blocks transfers.",
    "locations": [
        "contracts/Contract.sol:459",
        "contracts/Contract.sol:498",
        "contracts/Contract.sol:520",
        "contracts/Contract.sol:551"
    ],
    "recommendation": "Use `require(to != address(0) && to != address(this))` or implement explicit burn/withdraw semantics if zero/self transfers are intended.",
    "exploit_scenario": "Transfers to `address(0)` or to the token contract itself are allowed even though comments indicate they should be blocked; this can lock tokens irrecoverably or violate integration assumptions that such transfers revert."
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 0,
    "create2_count": 2
}
info access_control codex Timelock bypass via changeVault 60 no
view
evidence_json
{
    "evidence": "`changeVault` immediately updates `vault`/`pendingVault` without delay, while `setVault` uses a delay mechanism.",
    "locations": [
        "contracts/Contract.sol:198",
        "contracts/Contract.sol:230"
    ],
    "recommendation": "Remove `changeVault` or enforce the same delay mechanism used by `setVault`/`applyVault`.",
    "exploit_scenario": "Even if users rely on `setVault`\u2019s delay, the current vault can instantly switch control with `changeVault`, eliminating the intended reaction window for governance/security monitoring."
}