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

Analysis Run

8696931a-1274-4227-8ddf-d43b9eb04167

complete
Chain ID
1
Address
Block Number
Created
Tue, Dec 30, 2025 8:33 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
30754 report.consolidate complete 1 / 1 3 months ago
75520 artifact.fetch complete 1 / 3 1 week ago
75521 tool.cast_disasm complete 1 / 3 1 week ago
75522 analysis.bundle complete 1 / 3 1 week ago
75523 capability.graph complete 1 / 3 1 week ago
75524 detector.run complete 1 / 3 1 week ago
75525 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
1
No findings?
no
Summary
1 medium finding: LPToDOKI.withdraw transfers LP tokens before updating balances, enabling reentrancy-based over-withdrawals when LP tokens have callbacks.
View stderr
[codex:496959] OpenAI Codex v0.77.0 (research preview)
[codex:496959] --------
[codex:496959] workdir: /tmp/codex-multi-ft7riigc
[codex:496959] model: gpt-5.2-codex
[codex:496959] provider: openai
[codex:496959] approval: never
[codex:496959] sandbox: read-only
[codex:496959] reasoning effort: xhigh
[codex:496959] reasoning summaries: auto
[codex:496959] session id: 019b70f0-d02c-7950-bc08-be1b12b768d8
[codex:496959] --------
[codex:496959] user
[codex:496959] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:496959] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:496959] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:496959] 
[codex:496959] Scope rules:
[codex:496959] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:496959] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:496959] 
[codex:496959] Output MUST be valid JSON matching the provided schema.
[codex:496959] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:496959] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:496959] 
[codex:496959] Output constraints (IMPORTANT):
[codex:496959] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:496959] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:496959] mcp startup: no servers
[codex:496959] 
[codex:496959] thinking
[codex:496959] **Preparing to read audit file**
[codex:496959] exec
[codex:496959] /bin/bash -lc ls in /tmp/codex-multi-ft7riigc succeeded in 7ms:
[codex:496959] AUDIT_BUNDLE.txt
[codex:496959] codex-output-schema.json
[codex:496959] contracts
[codex:496959] exec
[codex:496959] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-ft7riigc succeeded in 5ms:
[codex:496959] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:496959] 
[codex:496959] ================================================================================
[codex:496959] FILE: contracts/Contract.sol
[codex:496959] ================================================================================
[codex:496959] pragma solidity ^0.7.0;
[codex:496959] 
[codex:496959] interface IERC20 {
[codex:496959]     /**
[codex:496959]      * @dev Returns the amount of tokens in existence.
[codex:496959]      */
[codex:496959]     function totalSupply() external view returns (uint256);
[codex:496959] 
[codex:496959]     /**
[codex:496959]      * @dev Returns the amount of tokens owned by `account`.
[codex:496959]      */
[codex:496959]     function balanceOf(address account) external view returns (uint256);
[codex:496959] 
[codex:496959]     /**
[codex:496959]      * @dev Moves `amount` tokens from the caller's account to `recipient`.
[codex:496959] 
[codex:496959] 
[codex:496959] thinking
[codex:496959] **Examining contract vulnerabilities and logic flaws**
[codex:496959] 
[codex:496959] I'll analyze the DokiCoinCore and LPToDOKI contracts, focusing on reentrancy, tax logic, access control, and allowance handling. There’s a tax transfer design flaw charging users more than intended, potential reentrancy risks in withdraw due to state updates after external calls and bypassable contract checks during staking, along with self-controlled taxer role posing centralization concerns. The allowance use in multiple transferFrom calls may cause transaction reverts but isn’t a direct vulnerability. Overall, I’m spotting design bugs and reentrancy exposures worth flagging.
[codex:496959] thinking
[codex:496959] **Investigating reward logic and reentrancy implications**
[codex:496959] 
[codex:496959] I’m carefully assessing the halving and reward update logic, spotting a timing bug where reward calculations misalign due to rate changes before accrual updates. Also, the withdraw function’s external calls before state changes open reentrancy risks, especially since staking restrictions can be bypassed during contract construction. Other points include uncapped tax rates that could freeze transfers and subtle centralization issues with taxer role control. I’m noting function-level details to include line references in my JSON findings.
[codex:496959] exec
[codex:496959] /bin/bash -lc 'rg --files' in /tmp/codex-multi-ft7riigc succeeded in 9ms:
[codex:496959] codex-output-schema.json
[codex:496959] AUDIT_BUNDLE.txt
[codex:496959] contracts/Contract.sol
[codex:496959] exec
[codex:496959] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '520,840p'" in /tmp/codex-multi-ft7riigc succeeded in 6ms:
[codex:496959]    520	     *
[codex:496959]    521	     * - The divisor cannot be zero.
[codex:496959]    522	     */
[codex:496959]    523	    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
[codex:496959]    524	        require(b != 0, errorMessage);
[codex:496959]    525	        return a % b;
[codex:496959]    526	    }
[codex:496959]    527	}
[codex:496959]    528	
[codex:496959]    529	abstract contract Context {
[codex:496959]    530	    function _msgSender() internal view virtual returns (address payable) {
[codex:496959]    531	        return msg.sender;
[codex:496959]    532	    }
[codex:496959]    533	
[codex:496959]    534	    function _msgData() internal view virtual returns (bytes memory) {
[codex:496959]    535	        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
[codex:496959]    536	        return msg.data;
[codex:496959]    537	    }
[codex:496959]    538	}
[codex:496959]    539	
[codex:496959] 
[codex:496959] thinking
[codex:496959] **Continuing to gather token lines**
[codex:496959] exec
[codex:496959] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '900,1220p'" in /tmp/codex-multi-ft7riigc succeeded in 6ms:
[codex:496959]    900	        if (taxAmount != 0) {
[codex:496959]    901	            super.transferFrom(sender, _taxDestination, taxAmount);
[codex:496959]    902	        }
[codex:496959]    903	        return true;
[codex:496959]    904	    }
[codex:496959]    905	}
[codex:496959]    906	
[codex:496959]    907	contract DokiCoin is DokiCoinCore, Ownable {
[codex:496959]    908	    mapping (address => bool) public minters;
[codex:496959]    909	
[codex:496959]    910	    constructor() {
[codex:496959]    911	        _taxer = owner();
[codex:496959]    912	        _taxDestination = owner();
[codex:496959]    913	    }
[codex:496959]    914	
[codex:496959]    915	    function mint(address to, uint amount) public onlyMinter {
[codex:496959]    916	        _mint(to, amount);
[codex:496959]    917	    }
[codex:496959]    918	
[codex:496959]    919	    function burn(uint amount) public {
[codex:496959] 
[codex:496959] thinking
[codex:496959] **Retrieving line numbers for transfer functions**
[codex:496959] exec
[codex:496959] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '840,920p'" in /tmp/codex-multi-ft7riigc succeeded in 6ms:
[codex:496959]    840	    /**
[codex:496959]    841	     * @dev Sets {decimals} to a value other than the default one of 18.
[codex:496959]    842	     *
[codex:496959]    843	     * WARNING: This function should only be called from the constructor. Most
[codex:496959]    844	     * applications that interact with token contracts will not expect
[codex:496959]    845	     * {decimals} to ever change, and may work incorrectly if it does.
[codex:496959]    846	     */
[codex:496959]    847	    function _setupDecimals(uint8 decimals_) internal {
[codex:496959]    848	        _decimals = decimals_;
[codex:496959]    849	    }
[codex:496959]    850	
[codex:496959]    851	    /**
[codex:496959]    852	     * @dev Hook that is called before any transfer of tokens. This includes
[codex:496959]    853	     * minting and burning.
[codex:496959]    854	     *
[codex:496959]    855	     * Calling conditions:
[codex:496959]    856	     *
[codex:496959]    857	     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
[codex:496959]    858	     * will be to transferred to `to`.
[codex:496959]    859	     * - when `from` is zero, `amount` tokens will be minted for `to`.
[codex:496959] 
[codex:496959] Reconnecting... 1/5
[codex:496959] 
[codex:496959] 
[codex:496959] 
[codex:496959] thinking
[codex:496959] **Summarizing audit findings for vulnerabilities**
[codex:496959] 
[codex:496959] I'll prepare the JSON audit summary focusing mainly on the key reentrancy risk in `LPToDOKI.withdraw` due to external calls before state updates and the bypassable contract-staking check. I'll also mention tax logic oddities affecting ERC20 semantics as secondary notes, aiming for meaningful, exploitable issues only.
[codex:496959] thinking
[codex:496959] **Detailing further audit observations**
[codex:496959] 
[codex:496959] I’m analyzing nuanced behaviors around tax handling, reward calculations, and access control in more depth to identify subtle risks like reward pool depletion due to taxed claims, repeated startFarming minting, and possible denial-of-service from dev fund transfers failing under taxed conditions. The main exploitable issue remains reentrancy in withdraw with constructor bypass.
[codex:496959] thinking
[codex:496959] **Preparing final JSON audit report**
[codex:496959] 
[codex:496959] I'm summarizing the single medium-severity finding focused on reentrancy in `LPToDOKI.withdraw`, highlighting constructor bypass of `isContract` check and external token hooks enabling repeated withdrawals before state updates; I'll include evidence, locations, and recommendations in JSON format as requested.
[codex:496959] exec
[codex:496959] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-ft7riigc succeeded in 5ms:
[codex:496959] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:496959] 
[codex:496959] thinking
[codex:496959] **Composing structured JSON output**
[codex:496959] codex
[codex:496959] {"no_findings":false,"summary":"1 medium finding: LPToDOKI.withdraw transfers LP tokens before updating balances, enabling reentrancy-based over-withdrawals when LP tokens have callbacks.","findings":[{"severity":"medium","category":"reentrancy","title":"LPToDOKI.withdraw updates balances after external token transfer","exploit_scenario":"An attacker deploys a contract that stakes during its constructor (bypassing the isContract check), then calls withdraw. If the LP token is ERC777/677-like or otherwise reentrant, the token transfer to the attacker contract triggers a callback that re-enters withdraw before `_lpBalances`/`_lpTotalSupply` are decreased, allowing repeated withdrawals and draining the pool’s LP tokens.","recommendation":"Apply checks-effects-interactions: decrement `_lpBalances`/`_lpTotalSupply` before calling `lpToken.safeTransfer`, or add `ReentrancyGuard` to withdraw. Do not rely on `isContract` for access control; if contracts must be blocked, use explicit allowlists.","evidence":"`withdraw` calls `lpToken.safeTransfer(msg.sender, amount)` before reducing `_lpBalances` and `_lpTotalSupply`. `stake` uses `isContract` which can be bypassed during construction.","locations":["contracts/Contract.sol:1048","contracts/Contract.sol:1052","contracts/Contract.sol:1053","contracts/Contract.sol:1040"]}]}
[codex:496959] tokens used
[codex:496959] 39,141
[codex:496959] {"no_findings":false,"summary":"1 medium finding: LPToDOKI.withdraw transfers LP tokens before updating balances, enabling reentrancy-based over-withdrawals when LP tokens have callbacks.","findings":[{"severity":"medium","category":"reentrancy","title":"LPToDOKI.withdraw updates balances after external token transfer","exploit_scenario":"An attacker deploys a contract that stakes during its constructor (bypassing the isContract check), then calls withdraw. If the LP token is ERC777/677-like or otherwise reentrant, the token transfer to the attacker contract triggers a callback that re-enters withdraw before `_lpBalances`/`_lpTotalSupply` are decreased, allowing repeated withdrawals and draining the pool’s LP tokens.","recommendation":"Apply checks-effects-interactions: decrement `_lpBalances`/`_lpTotalSupply` before calling `lpToken.safeTransfer`, or add `ReentrancyGuard` to withdraw. Do not rely on `isContract` for access control; if contracts must be blocked, use explicit allowlists.","evidence":"`withdraw` calls `lpToken.safeTransfer(msg.sender, amount)` before reducing `_lpBalances` and `_lpTotalSupply`. `stake` uses `isContract` which can be bypassed during construction.","locations":["contracts/Contract.sol:1048","contracts/Contract.sol:1052","contracts/Contract.sol:1053","contracts/Contract.sol:1040"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-30T20:33:00.336256+00:00",
        "returncode": 0
    },
    "summary": "1 medium finding: LPToDOKI.withdraw transfers LP tokens before updating balances, enabling reentrancy-based over-withdrawals when LP tokens have callbacks.",
    "raw_final": {
        "summary": "1 medium finding: LPToDOKI.withdraw transfers LP tokens before updating balances, enabling reentrancy-based over-withdrawals when LP tokens have callbacks.",
        "findings": [
            {
                "title": "LPToDOKI.withdraw updates balances after external token transfer",
                "category": "reentrancy",
                "evidence": "`withdraw` calls `lpToken.safeTransfer(msg.sender, amount)` before reducing `_lpBalances` and `_lpTotalSupply`. `stake` uses `isContract` which can be bypassed during construction.",
                "severity": "medium",
                "locations": [
                    "contracts/Contract.sol:1048",
                    "contracts/Contract.sol:1052",
                    "contracts/Contract.sol:1053",
                    "contracts/Contract.sol:1040"
                ],
                "recommendation": "Apply checks-effects-interactions: decrement `_lpBalances`/`_lpTotalSupply` before calling `lpToken.safeTransfer`, or add `ReentrancyGuard` to withdraw. Do not rely on `isContract` for access control; if contracts must be blocked, use explicit allowlists.",
                "exploit_scenario": "An attacker deploys a contract that stakes during its constructor (bypassing the isContract check), then calls withdraw. If the LP token is ERC777/677-like or otherwise reentrant, the token transfer to the attacker contract triggers a callback that re-enters withdraw before `_lpBalances`/`_lpTotalSupply` are decreased, allowing repeated withdrawals and draining the pool\u2019s LP tokens."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
4
EXT*/BALANCE
5
Total opcodes
4542
Flags
heavy_ext_balance_usage
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 0x01cf
00000019: JUMPI
0000001a: PUSH1 0x00
0000001c: CALLDATALOAD
0000001d: PUSH1 0xe0
0000001f: SHR
00000020: DUP1
00000021: PUSH4 0x8366a205
00000026: GT
00000027: PUSH2 0x0104
0000002a: JUMPI
0000002b: DUP1
0000002c: PUSH4 0xc6570d85
00000031: GT
00000032: PUSH2 0x00a2
00000035: JUMPI
00000036: DUP1
00000037: PUSH4 0xdbe93451
0000003c: GT
0000003d: PUSH2 0x0071
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0xdbe93451
00000047: EQ
00000048: PUSH2 0x055a
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0xf2fde38b
00000052: EQ
00000053: PUSH2 0x05b2
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0xf5ae497a
0000005d: EQ
0000005e: PUSH2 0x05f6
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0xfb0e487a
00000068: EQ
00000069: PUSH2 0x062a
0000006c: JUMPI
0000006d: PUSH2 0x01cf
00000070: JUMP
00000071: JUMPDEST
00000072: DUP1
00000073: PUSH4 0xc6570d85
00000078: EQ
00000079: PUSH2 0x04cc
0000007c: JUMPI
0000007d: DUP1
0000007e: PUSH4 0xc8f33c91
00000083: EQ
00000084: PUSH2 0x04ea
00000087: JUMPI
00000088: DUP1
00000089: PUSH4 0xcd3daf9d
0000008e: EQ
0000008f: PUSH2 0x0508
00000092: JUMPI
00000093: DUP1
00000094: PUSH4 0xda09c72c
00000099: EQ
0000009a: PUSH2 0x0526
0000009d: JUMPI
0000009e: PUSH2 0x01cf
000000a1: JUMP
000000a2: JUMPDEST
000000a3: DUP1
000000a4: PUSH4 0x9642ddaf
000000a9: GT
000000aa: PUSH2 0x00de
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0x9642ddaf
000000b4: EQ
000000b5: PUSH2 0x046c
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0x9bfffad7
000000bf: EQ
000000c0: PUSH2 0x0476
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0xa694fc3a
000000ca: EQ
000000cb: PUSH2 0x0494
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0xafbcfea1
000000d5: EQ
000000d6: PUSH2 0x04c2
000000d9: JUMPI
000000da: PUSH2 0x01cf
000000dd: JUMP
000000de: JUMPDEST
000000df: DUP1
000000e0: PUSH4 0x8366a205
000000e5: EQ
000000e6: PUSH2 0x03fc
000000e9: JUMPI
000000ea: DUP1
000000eb: PUSH4 0x8da5cb5b
000000f0: EQ
000000f1: PUSH2 0x041a
000000f4: JUMPI
000000f5: DUP1
000000f6: PUSH4 0x9231cf74
000000fb: EQ
000000fc: PUSH2 0x044e
000000ff: JUMPI
00000100: PUSH2 0x01cf
00000103: JUMP
00000104: JUMPDEST
00000105: DUP1
00000106: PUSH4 0x3cf6bcfe
0000010b: GT
0000010c: PUSH2 0x0171
0000010f: JUMPI
00000110: DUP1
00000111: PUSH4 0x70a08231
00000116: GT
00000117: PUSH2 0x014b
0000011a: JUMPI
0000011b: DUP1
0000011c: PUSH4 0x70a08231
00000121: EQ
00000122: PUSH2 0x035e
00000125: JUMPI
00000126: DUP1
00000127: PUSH4 0x715018a6
0000012c: EQ
0000012d: PUSH2 0x03b6
00000130: JUMPI
00000131: DUP1
00000132: PUSH4 0x7b0a47ee
00000137: EQ
00000138: PUSH2 0x03c0
0000013b: JUMPI
0000013c: DUP1
0000013d: PUSH4 0x7d8033f5
00000142: EQ
00000143: PUSH2 0x03de
00000146: JUMPI
00000147: PUSH2 0x01cf
0000014a: JUMP
0000014b: JUMPDEST
0000014c: DUP1
0000014d: PUSH4 0x3cf6bcfe
00000152: EQ
00000153: PUSH2 0x02de
00000156: JUMPI
00000157: DUP1
00000158: PUSH4 0x3ef0cc7b
0000015d: EQ
0000015e: PUSH2 0x02fc
00000161: JUMPI
00000162: DUP1
00000163: PUSH4 0x4b438c34
00000168: EQ
00000169: PUSH2 0x0340
0000016c: JUMPI
0000016d: PUSH2 0x01cf
00000170: JUMP
00000171: JUMPDEST
00000172: DUP1
00000173: PUSH4 0x22eb9363
00000178: GT
00000179: PUSH2 0x01ad
0000017c: JUMPI
0000017d: DUP1
0000017e: PUSH4 0x22eb9363
00000183: EQ
00000184: PUSH2 0x0244
00000187: JUMPI
00000188: DUP1
00000189: PUSH4 0x2e1a7d4d
0000018e: EQ
0000018f: PUSH2 0x0262
00000192: JUMPI
00000193: DUP1
00000194: PUSH4 0x35f50ade
00000199: EQ
0000019a: PUSH2 0x0290
0000019d: JUMPI
0000019e: DUP1
0000019f: PUSH4 0x379607f5
000001a4: EQ
000001a5: PUSH2 0x02b0
000001a8: JUMPI
000001a9: PUSH2 0x01cf
000001ac: JUMP
000001ad: JUMPDEST
000001ae: DUP1
000001af: PUSH4 0x18160ddd
000001b4: EQ
000001b5: PUSH2 0x01d4
000001b8: JUMPI
000001b9: DUP1
000001ba: PUSH4 0x1be05289
000001bf: EQ
000001c0: PUSH2 0x01f2
000001c3: JUMPI
000001c4: DUP1
000001c5: PUSH4 0x1de656a5
000001ca: EQ
000001cb: PUSH2 0x0210
000001ce: JUMPI
000001cf: JUMPDEST
000001d0: PUSH1 0x00
000001d2: DUP1
000001d3: REVERT
000001d4: JUMPDEST
000001d5: PUSH2 0x01dc
000001d8: PUSH2 0x0648
000001db: JUMP
000001dc: JUMPDEST
000001dd: PUSH1 0x40
000001df: MLOAD
000001e0: DUP1
000001e1: DUP3
000001e2: DUP2
000001e3: MSTORE
000001e4: PUSH1 0x20
000001e6: ADD
000001e7: SWAP2
000001e8: POP
000001e9: POP
000001ea: PUSH1 0x40
000001ec: MLOAD
000001ed: DUP1
000001ee: SWAP2
000001ef: SUB
000001f0: SWAP1
000001f1: RETURN
000001f2: JUMPDEST
000001f3: PUSH2 0x01fa
000001f6: PUSH2 0x0652
000001f9: JUMP
000001fa: JUMPDEST
000001fb: PUSH1 0x40
000001fd: MLOAD
000001fe: DUP1
000001ff: DUP3
00000200: DUP2
00000201: MSTORE
00000202: PUSH1 0x20
00000204: ADD
00000205: SWAP2
00000206: POP
00000207: POP
00000208: PUSH1 0x40
0000020a: MLOAD
0000020b: DUP1
0000020c: SWAP2
0000020d: SUB
0000020e: SWAP1
0000020f: RETURN
00000210: JUMPDEST
00000211: PUSH2 0x0218
00000214: PUSH2 0x0659
00000217: JUMP
00000218: JUMPDEST
00000219: PUSH1 0x40
0000021b: MLOAD
0000021c: DUP1
0000021d: DUP3
0000021e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000233: AND
00000234: DUP2
00000235: MSTORE
00000236: PUSH1 0x20
00000238: ADD
00000239: SWAP2
0000023a: POP
0000023b: POP
0000023c: PUSH1 0x40
0000023e: MLOAD
0000023f: DUP1
00000240: SWAP2
00000241: SUB
00000242: SWAP1
00000243: RETURN
00000244: JUMPDEST
00000245: PUSH2 0x024c
00000248: PUSH2 0x0683
0000024b: JUMP
0000024c: JUMPDEST
0000024d: PUSH1 0x40
0000024f: MLOAD
00000250: DUP1
00000251: DUP3
00000252: DUP2
00000253: MSTORE
00000254: PUSH1 0x20
00000256: ADD
00000257: SWAP2
00000258: POP
00000259: POP
0000025a: PUSH1 0x40
0000025c: MLOAD
0000025d: DUP1
0000025e: SWAP2
0000025f: SUB
00000260: SWAP1
00000261: RETURN
00000262: JUMPDEST
00000263: PUSH2 0x028e
00000266: PUSH1 0x04
00000268: DUP1
00000269: CALLDATASIZE
0000026a: SUB
0000026b: PUSH1 0x20
0000026d: DUP2
0000026e: LT
0000026f: ISZERO
00000270: PUSH2 0x0278
00000273: JUMPI
00000274: PUSH1 0x00
00000276: DUP1
00000277: REVERT
00000278: JUMPDEST
00000279: DUP2
0000027a: ADD
0000027b: SWAP1
0000027c: DUP1
0000027d: DUP1
0000027e: CALLDATALOAD
0000027f: SWAP1
00000280: PUSH1 0x20
00000282: ADD
00000283: SWAP1
00000284: SWAP3
00000285: SWAP2
00000286: SWAP1
00000287: POP
00000288: POP
00000289: POP
0000028a: PUSH2 0x0689
0000028d: JUMP
0000028e: JUMPDEST
0000028f: STOP
00000290: JUMPDEST
00000291: PUSH2 0x0298
00000294: PUSH2 0x0979
00000297: JUMP
00000298: JUMPDEST
00000299: PUSH1 0x40
0000029b: MLOAD
0000029c: DUP1
0000029d: DUP3
0000029e: ISZERO
0000029f: ISZERO
000002a0: DUP2
000002a1: MSTORE
000002a2: PUSH1 0x20
000002a4: ADD
000002a5: SWAP2
000002a6: POP
000002a7: POP
000002a8: PUSH1 0x40
000002aa: MLOAD
000002ab: DUP1
000002ac: SWAP2
000002ad: SUB
000002ae: SWAP1
000002af: RETURN
000002b0: JUMPDEST
000002b1: PUSH2 0x02dc
000002b4: PUSH1 0x04
000002b6: DUP1
000002b7: CALLDATASIZE
000002b8: SUB
000002b9: PUSH1 0x20
000002bb: DUP2
000002bc: LT
000002bd: ISZERO
000002be: PUSH2 0x02c6
000002c1: JUMPI
000002c2: PUSH1 0x00
000002c4: DUP1
000002c5: REVERT
000002c6: JUMPDEST
000002c7: DUP2
000002c8: ADD
000002c9: SWAP1
000002ca: DUP1
000002cb: DUP1
000002cc: CALLDATALOAD
000002cd: SWAP1
000002ce: PUSH1 0x20
000002d0: ADD
000002d1: SWAP1
000002d2: SWAP3
000002d3: SWAP2
000002d4: SWAP1
000002d5: POP
000002d6: POP
000002d7: POP
000002d8: PUSH2 0x098c
000002db: JUMP
000002dc: JUMPDEST
000002dd: STOP
000002de: JUMPDEST
000002df: PUSH2 0x02e6
000002e2: PUSH2 0x0c61
000002e5: JUMP
000002e6: JUMPDEST
000002e7: PUSH1 0x40
000002e9: MLOAD
000002ea: DUP1
000002eb: DUP3
000002ec: DUP2
000002ed: MSTORE
000002ee: PUSH1 0x20
000002f0: ADD
000002f1: SWAP2
000002f2: POP
000002f3: POP
000002f4: PUSH1 0x40
000002f6: MLOAD
000002f7: DUP1
000002f8: SWAP2
000002f9: SUB
000002fa: SWAP1
000002fb: RETURN
000002fc: JUMPDEST
000002fd: PUSH2 0x033e
00000300: PUSH1 0x04
00000302: DUP1
00000303: CALLDATASIZE
00000304: SUB
00000305: PUSH1 0x20
00000307: DUP2
00000308: LT
00000309: ISZERO
0000030a: PUSH2 0x0312
0000030d: JUMPI
0000030e: PUSH1 0x00
00000310: DUP1
00000311: REVERT
00000312: JUMPDEST
00000313: DUP2
00000314: ADD
00000315: SWAP1
00000316: DUP1
00000317: DUP1
00000318: CALLDATALOAD
00000319: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000032e: AND
0000032f: SWAP1
00000330: PUSH1 0x20
00000332: ADD
00000333: SWAP1
00000334: SWAP3
00000335: SWAP2
00000336: SWAP1
00000337: POP
00000338: POP
00000339: POP
0000033a: PUSH2 0x0c67
0000033d: JUMP
0000033e: JUMPDEST
0000033f: STOP
00000340: JUMPDEST
00000341: PUSH2 0x0348
00000344: PUSH2 0x0e11
00000347: JUMP
00000348: JUMPDEST
00000349: PUSH1 0x40
0000034b: MLOAD
0000034c: DUP1
0000034d: DUP3
0000034e: DUP2
0000034f: MSTORE
00000350: PUSH1 0x20
00000352: ADD
00000353: SWAP2
00000354: POP
00000355: POP
00000356: PUSH1 0x40
00000358: MLOAD
00000359: DUP1
0000035a: SWAP2
0000035b: SUB
0000035c: SWAP1
0000035d: RETURN
0000035e: JUMPDEST
0000035f: PUSH2 0x03a0
00000362: PUSH1 0x04
00000364: DUP1
00000365: CALLDATASIZE
00000366: SUB
00000367: PUSH1 0x20
00000369: DUP2
0000036a: LT
0000036b: ISZERO
0000036c: PUSH2 0x0374
0000036f: JUMPI
00000370: PUSH1 0x00
00000372: DUP1
00000373: REVERT
00000374: JUMPDEST
00000375: DUP2
00000376: ADD
00000377: SWAP1
00000378: DUP1
00000379: DUP1
0000037a: CALLDATALOAD
0000037b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000390: AND
00000391: SWAP1
00000392: PUSH1 0x20
00000394: ADD
00000395: SWAP1
00000396: SWAP3
00000397: SWAP2
00000398: SWAP1
00000399: POP
0000039a: POP
0000039b: POP
0000039c: PUSH2 0x0e17
0000039f: JUMP
000003a0: JUMPDEST
000003a1: PUSH1 0x40
000003a3: MLOAD
000003a4: DUP1
000003a5: DUP3
000003a6: DUP2
000003a7: MSTORE
000003a8: PUSH1 0x20
000003aa: ADD
000003ab: SWAP2
000003ac: POP
000003ad: POP
000003ae: PUSH1 0x40
000003b0: MLOAD
000003b1: DUP1
000003b2: SWAP2
000003b3: SUB
000003b4: SWAP1
000003b5: RETURN
000003b6: JUMPDEST
000003b7: PUSH2 0x03be
000003ba: PUSH2 0x0e60
000003bd: JUMP
000003be: JUMPDEST
000003bf: STOP
000003c0: JUMPDEST
000003c1: PUSH2 0x03c8
000003c4: PUSH2 0x0fe6
000003c7: JUMP
000003c8: JUMPDEST
000003c9: PUSH1 0x40
000003cb: MLOAD
000003cc: DUP1
000003cd: DUP3
000003ce: DUP2
000003cf: MSTORE
000003d0: PUSH1 0x20
000003d2: ADD
000003d3: SWAP2
000003d4: POP
000003d5: POP
000003d6: PUSH1 0x40
000003d8: MLOAD
000003d9: DUP1
000003da: SWAP2
000003db: SUB
000003dc: SWAP1
000003dd: RETURN
000003de: JUMPDEST
000003df: PUSH2 0x03e6
000003e2: PUSH2 0x0fec
000003e5: JUMP
000003e6: JUMPDEST
000003e7: PUSH1 0x40
000003e9: MLOAD
000003ea: DUP1
000003eb: DUP3
000003ec: DUP2
000003ed: MSTORE
000003ee: PUSH1 0x20
000003f0: ADD
000003f1: SWAP2
000003f2: POP
000003f3: POP
000003f4: PUSH1 0x40
000003f6: MLOAD
000003f7: DUP1
000003f8: SWAP2
000003f9: SUB
000003fa: SWAP1
000003fb: RETURN
000003fc: JUMPDEST
000003fd: PUSH2 0x0404
00000400: PUSH2 0x0ff2
00000403: JUMP
00000404: JUMPDEST
00000405: PUSH1 0x40
00000407: MLOAD
00000408: DUP1
00000409: DUP3
0000040a: DUP2
0000040b: MSTORE
0000040c: PUSH1 0x20
0000040e: ADD
0000040f: SWAP2
00000410: POP
00000411: POP
00000412: PUSH1 0x40
00000414: MLOAD
00000415: DUP1
00000416: SWAP2
00000417: SUB
00000418: SWAP1
00000419: RETURN
0000041a: JUMPDEST
0000041b: PUSH2 0x0422
0000041e: PUSH2 0x0ff8
00000421: JUMP
00000422: JUMPDEST
00000423: PUSH1 0x40
00000425: MLOAD
00000426: DUP1
00000427: DUP3
00000428: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000043d: AND
0000043e: DUP2
0000043f: MSTORE
00000440: PUSH1 0x20
00000442: ADD
00000443: SWAP2
00000444: POP
00000445: POP
00000446: PUSH1 0x40
00000448: MLOAD
00000449: DUP1
0000044a: SWAP2
0000044b: SUB
0000044c: SWAP1
0000044d: RETURN
0000044e: JUMPDEST
0000044f: PUSH2 0x0456
00000452: PUSH2 0x1021
00000455: JUMP
00000456: JUMPDEST
00000457: PUSH1 0x40
00000459: MLOAD
0000045a: DUP1
0000045b: DUP3
0000045c: DUP2
0000045d: MSTORE
0000045e: PUSH1 0x20
00000460: ADD
00000461: SWAP2
00000462: POP
00000463: POP
00000464: PUSH1 0x40
00000466: MLOAD
00000467: DUP1
00000468: SWAP2
00000469: SUB
0000046a: SWAP1
0000046b: RETURN
0000046c: JUMPDEST
0000046d: PUSH2 0x0474
00000470: PUSH2 0x1034
00000473: JUMP
00000474: JUMPDEST
00000475: STOP
00000476: JUMPDEST
00000477: PUSH2 0x047e
0000047a: PUSH2 0x11aa
0000047d: JUMP
0000047e: JUMPDEST
0000047f: PUSH1 0x40
00000481: MLOAD
00000482: DUP1
00000483: DUP3
00000484: DUP2
00000485: MSTORE
00000486: PUSH1 0x20
00000488: ADD
00000489: SWAP2
0000048a: POP
0000048b: POP
0000048c: PUSH1 0x40
0000048e: MLOAD
0000048f: DUP1
00000490: SWAP2
00000491: SUB
00000492: SWAP1
00000493: RETURN
00000494: JUMPDEST
00000495: PUSH2 0x04c0
00000498: PUSH1 0x04
0000049a: DUP1
0000049b: CALLDATASIZE
0000049c: SUB
0000049d: PUSH1 0x20
0000049f: DUP2
000004a0: LT
000004a1: ISZERO
000004a2: PUSH2 0x04aa
000004a5: JUMPI
000004a6: PUSH1 0x00
000004a8: DUP1
000004a9: REVERT
000004aa: JUMPDEST
000004ab: DUP2
000004ac: ADD
000004ad: SWAP1
000004ae: DUP1
000004af: DUP1
000004b0: CALLDATALOAD
000004b1: SWAP1
000004b2: PUSH1 0x20
000004b4: ADD
000004b5: SWAP1
000004b6: SWAP3
000004b7: SWAP2
000004b8: SWAP1
000004b9: POP
000004ba: POP
000004bb: POP
000004bc: PUSH2 0x11b0
000004bf: JUMP
000004c0: JUMPDEST
000004c1: STOP
000004c2: JUMPDEST
000004c3: PUSH2 0x04ca
000004c6: PUSH2 0x1417
000004c9: JUMP
000004ca: JUMPDEST
000004cb: STOP
000004cc: JUMPDEST
000004cd: PUSH2 0x04d4
000004d0: PUSH2 0x1684
000004d3: JUMP
000004d4: JUMPDEST
000004d5: PUSH1 0x40
000004d7: MLOAD
000004d8: DUP1
000004d9: DUP3
000004da: DUP2
000004db: MSTORE
000004dc: PUSH1 0x20
000004de: ADD
000004df: SWAP2
000004e0: POP
000004e1: POP
000004e2: PUSH1 0x40
000004e4: MLOAD
000004e5: DUP1
000004e6: SWAP2
000004e7: SUB
000004e8: SWAP1
000004e9: RETURN
000004ea: JUMPDEST
000004eb: PUSH2 0x04f2
000004ee: PUSH2 0x168a
000004f1: JUMP
000004f2: JUMPDEST
000004f3: PUSH1 0x40
000004f5: MLOAD
000004f6: DUP1
000004f7: DUP3
000004f8: DUP2
000004f9: MSTORE
000004fa: PUSH1 0x20
000004fc: ADD
000004fd: SWAP2
000004fe: POP
000004ff: POP
00000500: PUSH1 0x40
00000502: MLOAD
00000503: DUP1
00000504: SWAP2
00000505: SUB
00000506: SWAP1
00000507: RETURN
00000508: JUMPDEST
00000509: PUSH2 0x0510
0000050c: PUSH2 0x1690
0000050f: JUMP
00000510: JUMPDEST
00000511: PUSH1 0x40
00000513: MLOAD
00000514: DUP1
00000515: DUP3
00000516: DUP2
00000517: MSTORE
00000518: PUSH1 0x20
0000051a: ADD
0000051b: SWAP2
0000051c: POP
0000051d: POP
0000051e: PUSH1 0x40
00000520: MLOAD
00000521: DUP1
00000522: SWAP2
00000523: SUB
00000524: SWAP1
00000525: RETURN
00000526: JUMPDEST
00000527: PUSH2 0x052e
0000052a: PUSH2 0x1722
0000052d: JUMP
0000052e: JUMPDEST
0000052f: PUSH1 0x40
00000531: MLOAD
00000532: DUP1
00000533: DUP3
00000534: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000549: AND
0000054a: DUP2
0000054b: MSTORE
0000054c: PUSH1 0x20
0000054e: ADD
0000054f: SWAP2
00000550: POP
00000551: POP
00000552: PUSH1 0x40
00000554: MLOAD
00000555: DUP1
00000556: SWAP2
00000557: SUB
00000558: SWAP1
00000559: RETURN
0000055a: JUMPDEST
0000055b: PUSH2 0x059c
0000055e: PUSH1 0x04
00000560: DUP1
00000561: CALLDATASIZE
00000562: SUB
00000563: PUSH1 0x20
00000565: DUP2
00000566: LT
00000567: ISZERO
00000568: PUSH2 0x0570
0000056b: JUMPI
0000056c: PUSH1 0x00
0000056e: DUP1
0000056f: REVERT
00000570: JUMPDEST
00000571: DUP2
00000572: ADD
00000573: SWAP1
00000574: DUP1
00000575: DUP1
00000576: CALLDATALOAD
00000577: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000058c: AND
0000058d: SWAP1
0000058e: PUSH1 0x20
00000590: ADD
00000591: SWAP1
00000592: SWAP3
00000593: SWAP2
00000594: SWAP1
00000595: POP
00000596: POP
00000597: POP
00000598: PUSH2 0x1748
0000059b: JUMP
0000059c: JUMPDEST
0000059d: PUSH1 0x40
0000059f: MLOAD
000005a0: DUP1
000005a1: DUP3
000005a2: DUP2
000005a3: MSTORE
000005a4: PUSH1 0x20
000005a6: ADD
000005a7: SWAP2
000005a8: POP
000005a9: POP
000005aa: PUSH1 0x40
000005ac: MLOAD
000005ad: DUP1
000005ae: SWAP2
000005af: SUB
000005b0: SWAP1
000005b1: RETURN
000005b2: JUMPDEST
000005b3: PUSH2 0x05f4
000005b6: PUSH1 0x04
000005b8: DUP1
000005b9: CALLDATASIZE
000005ba: SUB
000005bb: PUSH1 0x20
000005bd: DUP2
000005be: LT
000005bf: ISZERO
000005c0: PUSH2 0x05c8
000005c3: JUMPI
000005c4: PUSH1 0x00
000005c6: DUP1
000005c7: REVERT
000005c8: JUMPDEST
000005c9: DUP2
000005ca: ADD
000005cb: SWAP1
000005cc: DUP1
000005cd: DUP1
000005ce: CALLDATALOAD
000005cf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005e4: AND
000005e5: SWAP1
000005e6: PUSH1 0x20
000005e8: ADD
000005e9: SWAP1
000005ea: SWAP3
000005eb: SWAP2
000005ec: SWAP1
000005ed: POP
000005ee: POP
000005ef: POP
000005f0: PUSH2 0x182f
000005f3: JUMP
000005f4: JUMPDEST
000005f5: STOP
000005f6: JUMPDEST
000005f7: PUSH2 0x05fe
000005fa: PUSH2 0x1a3a
000005fd: JUMP
000005fe: JUMPDEST
000005ff: PUSH1 0x40
00000601: MLOAD
00000602: DUP1
00000603: DUP3
00000604: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000619: AND
0000061a: DUP2
0000061b: MSTORE
0000061c: PUSH1 0x20
0000061e: ADD
0000061f: SWAP2
00000620: POP
00000621: POP
00000622: PUSH1 0x40
00000624: MLOAD
00000625: DUP1
00000626: SWAP2
00000627: SUB
00000628: SWAP1
00000629: RETURN
0000062a: JUMPDEST
0000062b: PUSH2 0x0632
0000062e: PUSH2 0x1a64
00000631: JUMP
00000632: JUMPDEST
00000633: PUSH1 0x40
00000635: MLOAD
00000636: DUP1
00000637: DUP3
00000638: DUP2
00000639: MSTORE
0000063a: PUSH1 0x20
0000063c: ADD
0000063d: SWAP2
0000063e: POP
0000063f: POP
00000640: PUSH1 0x40
00000642: MLOAD
00000643: DUP1
00000644: SWAP2
00000645: SUB
00000646: SWAP1
00000647: RETURN
00000648: JUMPDEST
00000649: PUSH1 0x00
0000064b: PUSH1 0x04
0000064d: SLOAD
0000064e: SWAP1
0000064f: POP
00000650: SWAP1
00000651: JUMP
00000652: JUMPDEST
00000653: PUSH3 0x127500
00000657: DUP2
00000658: JUMP
00000659: JUMPDEST
0000065a: PUSH1 0x00
0000065c: PUSH1 0x01
0000065e: PUSH1 0x00
00000660: SWAP1
00000661: SLOAD
00000662: SWAP1
00000663: PUSH2 0x0100
00000666: EXP
00000667: SWAP1
00000668: DIV
00000669: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000067e: AND
0000067f: SWAP1
00000680: POP
00000681: SWAP1
00000682: JUMP
00000683: JUMPDEST
00000684: PUSH1 0x07
00000686: SLOAD
00000687: DUP2
00000688: JUMP
00000689: JUMPDEST
0000068a: PUSH1 0x01
0000068c: ISZERO
0000068d: ISZERO
0000068e: PUSH1 0x06
00000690: PUSH1 0x00
00000692: SWAP1
00000693: SLOAD
00000694: SWAP1
00000695: PUSH2 0x0100
00000698: EXP
00000699: SWAP1
0000069a: DIV
0000069b: PUSH1 0xff
0000069d: AND
0000069e: ISZERO
0000069f: ISZERO
000006a0: EQ
000006a1: PUSH2 0x0712
000006a4: JUMPI
000006a5: PUSH1 0x40
000006a7: MLOAD
000006a8: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000006c9: DUP2
000006ca: MSTORE
000006cb: PUSH1 0x04
000006cd: ADD
000006ce: DUP1
000006cf: DUP1
000006d0: PUSH1 0x20
000006d2: ADD
000006d3: DUP3
000006d4: DUP2
000006d5: SUB
000006d6: DUP3
000006d7: MSTORE
000006d8: PUSH1 0x11
000006da: DUP2
000006db: MSTORE
000006dc: PUSH1 0x20
000006de: ADD
000006df: DUP1
000006e0: PUSH32 0x48617665206e6f7420737461727465642e000000000000000000000000000000
00000701: DUP2
00000702: MSTORE
00000703: POP
00000704: PUSH1 0x20
00000706: ADD
00000707: SWAP2
00000708: POP
00000709: POP
0000070a: PUSH1 0x40
0000070c: MLOAD
0000070d: DUP1
0000070e: SWAP2
0000070f: SUB
00000710: SWAP1
00000711: REVERT
00000712: JUMPDEST
00000713: PUSH2 0x071b
00000716: CALLER
00000717: PUSH2 0x1a6a
0000071a: JUMP
0000071b: JUMPDEST
0000071c: PUSH2 0x0723
0000071f: PUSH2 0x1b50
00000722: JUMP
00000723: JUMPDEST
00000724: PUSH1 0x03
00000726: PUSH1 0x00
00000728: CALLER
00000729: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000073e: AND
0000073f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000754: AND
00000755: DUP2
00000756: MSTORE
00000757: PUSH1 0x20
00000759: ADD
0000075a: SWAP1
0000075b: DUP2
0000075c: MSTORE
0000075d: PUSH1 0x20
0000075f: ADD
00000760: PUSH1 0x00
00000762: KECCAK256
00000763: SLOAD
00000764: DUP2
00000765: GT
00000766: ISZERO
00000767: DUP1
00000768: ISZERO
00000769: PUSH2 0x07b1
0000076c: JUMPI
0000076d: POP
0000076e: PUSH1 0x00
00000770: PUSH1 0x03
00000772: PUSH1 0x00
00000774: CALLER
00000775: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000078a: AND
0000078b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007a0: AND
000007a1: DUP2
000007a2: MSTORE
000007a3: PUSH1 0x20
000007a5: ADD
000007a6: SWAP1
000007a7: DUP2
000007a8: MSTORE
000007a9: PUSH1 0x20
000007ab: ADD
000007ac: PUSH1 0x00
000007ae: KECCAK256
000007af: SLOAD
000007b0: GT
000007b1: JUMPDEST
000007b2: PUSH2 0x0823
000007b5: JUMPI
000007b6: PUSH1 0x40
000007b8: MLOAD
000007b9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000007da: DUP2
000007db: MSTORE
000007dc: PUSH1 0x04
000007de: ADD
000007df: DUP1
000007e0: DUP1
000007e1: PUSH1 0x20
000007e3: ADD
000007e4: DUP3
000007e5: DUP2
000007e6: SUB
000007e7: DUP3
000007e8: MSTORE
000007e9: PUSH1 0x0d
000007eb: DUP2
000007ec: MSTORE
000007ed: PUSH1 0x20
000007ef: ADD
000007f0: DUP1
000007f1: PUSH32 0x4261642077697468647261772e00000000000000000000000000000000000000
00000812: DUP2
00000813: MSTORE
00000814: POP
00000815: PUSH1 0x20
00000817: ADD
00000818: SWAP2
00000819: POP
0000081a: POP
0000081b: PUSH1 0x40
0000081d: MLOAD
0000081e: DUP1
0000081f: SWAP2
00000820: SUB
00000821: SWAP1
00000822: REVERT
00000823: JUMPDEST
00000824: PUSH2 0x0870
00000827: CALLER
00000828: DUP3
00000829: PUSH1 0x02
0000082b: PUSH1 0x00
0000082d: SWAP1
0000082e: SLOAD
0000082f: SWAP1
00000830: PUSH2 0x0100
00000833: EXP
00000834: SWAP1
00000835: DIV
00000836: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000084b: AND
0000084c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000861: AND
00000862: PUSH2 0x1cb6
00000865: SWAP1
00000866: SWAP3
00000867: SWAP2
00000868: SWAP1
00000869: PUSH4 0xffffffff
0000086e: AND
0000086f: JUMP
00000870: JUMPDEST
00000871: PUSH2 0x0885
00000874: DUP2
00000875: PUSH1 0x04
00000877: SLOAD
00000878: PUSH2 0x1d58
0000087b: SWAP1
0000087c: SWAP2
0000087d: SWAP1
0000087e: PUSH4 0xffffffff
00000883: AND
00000884: JUMP
00000885: JUMPDEST
00000886: PUSH1 0x04
00000888: DUP2
00000889: SWAP1
0000088a: SSTORE
0000088b: POP
0000088c: PUSH2 0x08dd
0000088f: DUP2
00000890: PUSH1 0x03
00000892: PUSH1 0x00
00000894: CALLER
00000895: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008aa: AND
000008ab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008c0: AND
000008c1: DUP2
000008c2: MSTORE
000008c3: PUSH1 0x20
000008c5: ADD
000008c6: SWAP1
000008c7: DUP2
000008c8: MSTORE
000008c9: PUSH1 0x20
000008cb: ADD
000008cc: PUSH1 0x00
000008ce: KECCAK256
000008cf: SLOAD
000008d0: PUSH2 0x1d58
000008d3: SWAP1
000008d4: SWAP2
000008d5: SWAP1
000008d6: PUSH4 0xffffffff
000008db: AND
000008dc: JUMP
000008dd: JUMPDEST
000008de: PUSH1 0x03
000008e0: PUSH1 0x00
000008e2: CALLER
000008e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008f8: AND
000008f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000090e: AND
0000090f: DUP2
00000910: MSTORE
00000911: PUSH1 0x20
00000913: ADD
00000914: SWAP1
00000915: DUP2
00000916: MSTORE
00000917: PUSH1 0x20
00000919: ADD
0000091a: PUSH1 0x00
0000091c: KECCAK256
0000091d: DUP2
0000091e: SWAP1
0000091f: SSTORE
00000920: POP
00000921: PUSH2 0x0928
00000924: PUSH2 0x1da2
00000927: JUMP
00000928: JUMPDEST
00000929: CALLER
0000092a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000093f: AND
00000940: PUSH32 0x884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364
00000961: DUP3
00000962: PUSH1 0x40
00000964: MLOAD
00000965: DUP1
00000966: DUP3
00000967: DUP2
00000968: MSTORE
00000969: PUSH1 0x20
0000096b: ADD
0000096c: SWAP2
0000096d: POP
0000096e: POP
0000096f: PUSH1 0x40
00000971: MLOAD
00000972: DUP1
00000973: SWAP2
00000974: SUB
00000975: SWAP1
00000976: LOG2
00000977: POP
00000978: JUMP
00000979: JUMPDEST
0000097a: PUSH1 0x06
0000097c: PUSH1 0x00
0000097e: SWAP1
0000097f: SLOAD
00000980: SWAP1
00000981: PUSH2 0x0100
00000984: EXP
00000985: SWAP1
00000986: DIV
00000987: PUSH1 0xff
00000989: AND
0000098a: DUP2
0000098b: JUMP
0000098c: JUMPDEST
0000098d: PUSH1 0x01
0000098f: ISZERO
00000990: ISZERO
00000991: PUSH1 0x06
00000993: PUSH1 0x00
00000995: SWAP1
00000996: SLOAD
00000997: SWAP1
00000998: PUSH2 0x0100
0000099b: EXP
0000099c: SWAP1
0000099d: DIV
0000099e: PUSH1 0xff
000009a0: AND
000009a1: ISZERO
000009a2: ISZERO
000009a3: EQ
000009a4: PUSH2 0x0a15
000009a7: JUMPI
000009a8: PUSH1 0x40
000009aa: MLOAD
000009ab: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000009cc: DUP2
000009cd: MSTORE
000009ce: PUSH1 0x04
000009d0: ADD
000009d1: DUP1
000009d2: DUP1
000009d3: PUSH1 0x20
000009d5: ADD
000009d6: DUP3
000009d7: DUP2
000009d8: SUB
000009d9: DUP3
000009da: MSTORE
000009db: PUSH1 0x11
000009dd: DUP2
000009de: MSTORE
000009df: PUSH1 0x20
000009e1: ADD
000009e2: DUP1
000009e3: PUSH32 0x48617665206e6f7420737461727465642e000000000000000000000000000000
00000a04: DUP2
00000a05: MSTORE
00000a06: POP
00000a07: PUSH1 0x20
00000a09: ADD
00000a0a: SWAP2
00000a0b: POP
00000a0c: POP
00000a0d: PUSH1 0x40
00000a0f: MLOAD
00000a10: DUP1
00000a11: SWAP2
00000a12: SUB
00000a13: SWAP1
00000a14: REVERT
00000a15: JUMPDEST
00000a16: PUSH2 0x0a1e
00000a19: CALLER
00000a1a: PUSH2 0x1a6a
00000a1d: JUMP
00000a1e: JUMPDEST
00000a1f: PUSH2 0x0a26
00000a22: PUSH2 0x1b50
00000a25: JUMP
00000a26: JUMPDEST
00000a27: PUSH1 0x0b
00000a29: PUSH1 0x00
00000a2b: CALLER
00000a2c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a41: AND
00000a42: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a57: AND
00000a58: DUP2
00000a59: MSTORE
00000a5a: PUSH1 0x20
00000a5c: ADD
00000a5d: SWAP1
00000a5e: DUP2
00000a5f: MSTORE
00000a60: PUSH1 0x20
00000a62: ADD
00000a63: PUSH1 0x00
00000a65: KECCAK256
00000a66: SLOAD
00000a67: DUP2
00000a68: GT
00000a69: ISZERO
00000a6a: DUP1
00000a6b: ISZERO
00000a6c: PUSH2 0x0ab4
00000a6f: JUMPI
00000a70: POP
00000a71: PUSH1 0x00
00000a73: PUSH1 0x0b
00000a75: PUSH1 0x00
00000a77: CALLER
00000a78: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a8d: AND
00000a8e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000aa3: AND
00000aa4: DUP2
00000aa5: MSTORE
00000aa6: PUSH1 0x20
00000aa8: ADD
00000aa9: SWAP1
00000aaa: DUP2
00000aab: MSTORE
00000aac: PUSH1 0x20
00000aae: ADD
00000aaf: PUSH1 0x00
00000ab1: KECCAK256
00000ab2: SLOAD
00000ab3: GT
00000ab4: JUMPDEST
00000ab5: PUSH2 0x0b26
00000ab8: JUMPI
00000ab9: PUSH1 0x40
00000abb: MLOAD
00000abc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000add: DUP2
00000ade: MSTORE
00000adf: PUSH1 0x04
00000ae1: ADD
00000ae2: DUP1
00000ae3: DUP1
00000ae4: PUSH1 0x20
00000ae6: ADD
00000ae7: DUP3
00000ae8: DUP2
00000ae9: SUB
00000aea: DUP3
00000aeb: MSTORE
00000aec: PUSH1 0x0a
00000aee: DUP2
00000aef: MSTORE
00000af0: PUSH1 0x20
00000af2: ADD
00000af3: DUP1
00000af4: PUSH32 0x42616420636c61696d2e00000000000000000000000000000000000000000000
00000b15: DUP2
00000b16: MSTORE
00000b17: POP
00000b18: PUSH1 0x20
00000b1a: ADD
00000b1b: SWAP2
00000b1c: POP
00000b1d: POP
00000b1e: PUSH1 0x40
00000b20: MLOAD
00000b21: DUP1
00000b22: SWAP2
00000b23: SUB
00000b24: SWAP1
00000b25: REVERT
00000b26: JUMPDEST
00000b27: PUSH2 0x0b78
00000b2a: DUP2
00000b2b: PUSH1 0x0b
00000b2d: PUSH1 0x00
00000b2f: CALLER
00000b30: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b45: AND
00000b46: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b5b: AND
00000b5c: DUP2
00000b5d: MSTORE
00000b5e: PUSH1 0x20
00000b60: ADD
00000b61: SWAP1
00000b62: DUP2
00000b63: MSTORE
00000b64: PUSH1 0x20
00000b66: ADD
00000b67: PUSH1 0x00
00000b69: KECCAK256
00000b6a: SLOAD
00000b6b: PUSH2 0x1d58
00000b6e: SWAP1
00000b6f: SWAP2
00000b70: SWAP1
00000b71: PUSH4 0xffffffff
00000b76: AND
00000b77: JUMP
00000b78: JUMPDEST
00000b79: PUSH1 0x0b
00000b7b: PUSH1 0x00
00000b7d: CALLER
00000b7e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b93: AND
00000b94: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ba9: AND
00000baa: DUP2
00000bab: MSTORE
00000bac: PUSH1 0x20
00000bae: ADD
00000baf: SWAP1
00000bb0: DUP2
00000bb1: MSTORE
00000bb2: PUSH1 0x20
00000bb4: ADD
00000bb5: PUSH1 0x00
00000bb7: KECCAK256
00000bb8: DUP2
00000bb9: SWAP1
00000bba: SSTORE
00000bbb: POP
00000bbc: PUSH2 0x0c08
00000bbf: CALLER
00000bc0: DUP3
00000bc1: PUSH1 0x01
00000bc3: PUSH1 0x00
00000bc5: SWAP1
00000bc6: SLOAD
00000bc7: SWAP1
00000bc8: PUSH2 0x0100
00000bcb: EXP
00000bcc: SWAP1
00000bcd: DIV
00000bce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000be3: AND
00000be4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bf9: AND
00000bfa: PUSH2 0x1cb6
00000bfd: SWAP1
00000bfe: SWAP3
00000bff: SWAP2
00000c00: SWAP1
00000c01: PUSH4 0xffffffff
00000c06: AND
00000c07: JUMP
00000c08: JUMPDEST
00000c09: PUSH2 0x0c10
00000c0c: PUSH2 0x1da2
00000c0f: JUMP
00000c10: JUMPDEST
00000c11: CALLER
00000c12: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c27: AND
00000c28: PUSH32 0x47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4
00000c49: DUP3
00000c4a: PUSH1 0x40
00000c4c: MLOAD
00000c4d: DUP1
00000c4e: DUP3
00000c4f: DUP2
00000c50: MSTORE
00000c51: PUSH1 0x20
00000c53: ADD
00000c54: SWAP2
00000c55: POP
00000c56: POP
00000c57: PUSH1 0x40
00000c59: MLOAD
00000c5a: DUP1
00000c5b: SWAP2
00000c5c: SUB
00000c5d: SWAP1
00000c5e: LOG2
00000c5f: POP
00000c60: JUMP
00000c61: JUMPDEST
00000c62: PUSH1 0x0f
00000c64: SLOAD
00000c65: DUP2
00000c66: JUMP
00000c67: JUMPDEST
00000c68: PUSH1 0x0d
00000c6a: PUSH1 0x00
00000c6c: SWAP1
00000c6d: SLOAD
00000c6e: SWAP1
00000c6f: PUSH2 0x0100
00000c72: EXP
00000c73: SWAP1
00000c74: DIV
00000c75: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c8a: AND
00000c8b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ca0: AND
00000ca1: CALLER
00000ca2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cb7: AND
00000cb8: EQ
00000cb9: PUSH2 0x0d2a
00000cbc: JUMPI
00000cbd: PUSH1 0x40
00000cbf: MLOAD
00000cc0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000ce1: DUP2
00000ce2: MSTORE
00000ce3: PUSH1 0x04
00000ce5: ADD
00000ce6: DUP1
00000ce7: DUP1
00000ce8: PUSH1 0x20
00000cea: ADD
00000ceb: DUP3
00000cec: DUP2
00000ced: SUB
00000cee: DUP3
00000cef: MSTORE
00000cf0: PUSH1 0x15
00000cf2: DUP2
00000cf3: MSTORE
00000cf4: PUSH1 0x20
00000cf6: ADD
00000cf7: DUP1
00000cf8: PUSH32 0x54686973206973206f6e6c7920666f72206465762e0000000000000000000000
00000d19: DUP2
00000d1a: MSTORE
00000d1b: POP
00000d1c: PUSH1 0x20
00000d1e: ADD
00000d1f: SWAP2
00000d20: POP
00000d21: POP
00000d22: PUSH1 0x40
00000d24: MLOAD
00000d25: DUP1
00000d26: SWAP2
00000d27: SUB
00000d28: SWAP1
00000d29: REVERT
00000d2a: JUMPDEST
00000d2b: PUSH1 0x00
00000d2d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d42: AND
00000d43: DUP2
00000d44: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d59: AND
00000d5a: EQ
00000d5b: ISZERO
00000d5c: PUSH2 0x0dcd
00000d5f: JUMPI
00000d60: PUSH1 0x40
00000d62: MLOAD
00000d63: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000d84: DUP2
00000d85: MSTORE
00000d86: PUSH1 0x04
00000d88: ADD
00000d89: DUP1
00000d8a: DUP1
00000d8b: PUSH1 0x20
00000d8d: ADD
00000d8e: DUP3
00000d8f: DUP2
00000d90: SUB
00000d91: DUP3
00000d92: MSTORE
00000d93: PUSH1 0x09
00000d95: DUP2
00000d96: MSTORE
00000d97: PUSH1 0x20
00000d99: ADD
00000d9a: DUP1
00000d9b: PUSH32 0x7a65726f20616464720000000000000000000000000000000000000000000000
00000dbc: DUP2
00000dbd: MSTORE
00000dbe: POP
00000dbf: PUSH1 0x20
00000dc1: ADD
00000dc2: SWAP2
00000dc3: POP
00000dc4: POP
00000dc5: PUSH1 0x40
00000dc7: MLOAD
00000dc8: DUP1
00000dc9: SWAP2
00000dca: SUB
00000dcb: SWAP1
00000dcc: REVERT
00000dcd: JUMPDEST
00000dce: DUP1
00000dcf: PUSH1 0x0d
00000dd1: PUSH1 0x00
00000dd3: PUSH2 0x0100
00000dd6: EXP
00000dd7: DUP2
00000dd8: SLOAD
00000dd9: DUP2
00000dda: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000def: MUL
00000df0: NOT
00000df1: AND
00000df2: SWAP1
00000df3: DUP4
00000df4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e09: AND
00000e0a: MUL
00000e0b: OR
00000e0c: SWAP1
00000e0d: SSTORE
00000e0e: POP
00000e0f: POP
00000e10: JUMP
00000e11: JUMPDEST
00000e12: PUSH1 0x11
00000e14: SLOAD
00000e15: DUP2
00000e16: JUMP
00000e17: JUMPDEST
00000e18: PUSH1 0x00
00000e1a: PUSH1 0x03
00000e1c: PUSH1 0x00
00000e1e: DUP4
00000e1f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e34: AND
00000e35: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e4a: AND
00000e4b: DUP2
00000e4c: MSTORE
00000e4d: PUSH1 0x20
00000e4f: ADD
00000e50: SWAP1
00000e51: DUP2
00000e52: MSTORE
00000e53: PUSH1 0x20
00000e55: ADD
00000e56: PUSH1 0x00
00000e58: KECCAK256
00000e59: SLOAD
00000e5a: SWAP1
00000e5b: POP
00000e5c: SWAP2
00000e5d: SWAP1
00000e5e: POP
00000e5f: JUMP
00000e60: JUMPDEST
00000e61: PUSH2 0x0e68
00000e64: PUSH2 0x1e59
00000e67: JUMP
00000e68: JUMPDEST
00000e69: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e7e: AND
00000e7f: PUSH1 0x00
00000e81: DUP1
00000e82: SLOAD
00000e83: SWAP1
00000e84: PUSH2 0x0100
00000e87: EXP
00000e88: SWAP1
00000e89: DIV
00000e8a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e9f: AND
00000ea0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000eb5: AND
00000eb6: EQ
00000eb7: PUSH2 0x0f28
00000eba: JUMPI
00000ebb: PUSH1 0x40
00000ebd: MLOAD
00000ebe: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000edf: DUP2
00000ee0: MSTORE
00000ee1: PUSH1 0x04
00000ee3: ADD
00000ee4: DUP1
00000ee5: DUP1
00000ee6: PUSH1 0x20
00000ee8: ADD
00000ee9: DUP3
00000eea: DUP2
00000eeb: SUB
00000eec: DUP3
00000eed: MSTORE
00000eee: PUSH1 0x20
00000ef0: DUP2
00000ef1: MSTORE
00000ef2: PUSH1 0x20
00000ef4: ADD
00000ef5: DUP1
00000ef6: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00000f17: DUP2
00000f18: MSTORE
00000f19: POP
00000f1a: PUSH1 0x20
00000f1c: ADD
00000f1d: SWAP2
00000f1e: POP
00000f1f: POP
00000f20: PUSH1 0x40
00000f22: MLOAD
00000f23: DUP1
00000f24: SWAP2
00000f25: SUB
00000f26: SWAP1
00000f27: REVERT
00000f28: JUMPDEST
00000f29: PUSH1 0x00
00000f2b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f40: AND
00000f41: PUSH1 0x00
00000f43: DUP1
00000f44: SLOAD
00000f45: SWAP1
00000f46: PUSH2 0x0100
00000f49: EXP
00000f4a: SWAP1
00000f4b: DIV
00000f4c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f61: AND
00000f62: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f77: AND
00000f78: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000f99: PUSH1 0x40
00000f9b: MLOAD
00000f9c: PUSH1 0x40
00000f9e: MLOAD
00000f9f: DUP1
00000fa0: SWAP2
00000fa1: SUB
00000fa2: SWAP1
00000fa3: LOG3
00000fa4: PUSH1 0x00
00000fa6: DUP1
00000fa7: PUSH1 0x00
00000fa9: PUSH2 0x0100
00000fac: EXP
00000fad: DUP2
00000fae: SLOAD
00000faf: DUP2
00000fb0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fc5: MUL
00000fc6: NOT
00000fc7: AND
00000fc8: SWAP1
00000fc9: DUP4
00000fca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fdf: AND
00000fe0: MUL
00000fe1: OR
00000fe2: SWAP1
00000fe3: SSTORE
00000fe4: POP
00000fe5: JUMP
00000fe6: JUMPDEST
00000fe7: PUSH1 0x09
00000fe9: SLOAD
00000fea: DUP2
00000feb: JUMP
00000fec: JUMPDEST
00000fed: PUSH1 0x0e
00000fef: SLOAD
00000ff0: DUP2
00000ff1: JUMP
00000ff2: JUMPDEST
00000ff3: PUSH1 0x10
00000ff5: SLOAD
00000ff6: DUP2
00000ff7: JUMP
00000ff8: JUMPDEST
00000ff9: PUSH1 0x00
00000ffb: DUP1
00000ffc: PUSH1 0x00
00000ffe: SWAP1
00000fff: SLOAD
00001000: SWAP1
00001001: PUSH2 0x0100
00001004: EXP
00001005: SWAP1
00001006: DIV
00001007: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000101c: AND
0000101d: SWAP1
0000101e: POP
0000101f: SWAP1
00001020: JUMP
00001021: JUMPDEST
00001022: PUSH1 0x00
00001024: PUSH2 0x102f
00001027: TIMESTAMP
00001028: PUSH1 0x07
0000102a: SLOAD
0000102b: PUSH2 0x1e61
0000102e: JUMP
0000102f: JUMPDEST
00001030: SWAP1
00001031: POP
00001032: SWAP1
00001033: JUMP
00001034: JUMPDEST
00001035: PUSH2 0x103c
00001038: PUSH2 0x1e59
0000103b: JUMP
0000103c: JUMPDEST
0000103d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001052: AND
00001053: PUSH1 0x00
00001055: DUP1
00001056: SLOAD
00001057: SWAP1
00001058: PUSH2 0x0100
0000105b: EXP
0000105c: SWAP1
0000105d: DIV
0000105e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001073: AND
00001074: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001089: AND
0000108a: EQ
0000108b: PUSH2 0x10fc
0000108e: JUMPI
0000108f: PUSH1 0x40
00001091: MLOAD
00001092: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000010b3: DUP2
000010b4: MSTORE
000010b5: PUSH1 0x04
000010b7: ADD
000010b8: DUP1
000010b9: DUP1
000010ba: PUSH1 0x20
000010bc: ADD
000010bd: DUP3
000010be: DUP2
000010bf: SUB
000010c0: DUP3
000010c1: MSTORE
000010c2: PUSH1 0x20
000010c4: DUP2
000010c5: MSTORE
000010c6: PUSH1 0x20
000010c8: ADD
000010c9: DUP1
000010ca: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
000010eb: DUP2
000010ec: MSTORE
000010ed: POP
000010ee: PUSH1 0x20
000010f0: ADD
000010f1: SWAP2
000010f2: POP
000010f3: POP
000010f4: PUSH1 0x40
000010f6: MLOAD
000010f7: DUP1
000010f8: SWAP2
000010f9: SUB
000010fa: SWAP1
000010fb: REVERT
000010fc: JUMPDEST
000010fd: PUSH1 0x01
000010ff: PUSH1 0x00
00001101: SWAP1
00001102: SLOAD
00001103: SWAP1
00001104: PUSH2 0x0100
00001107: EXP
00001108: SWAP1
00001109: DIV
0000110a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000111f: AND
00001120: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001135: AND
00001136: PUSH4 0x40c10f19
0000113b: ADDRESS
0000113c: PUSH1 0x01
0000113e: PUSH1 0x40
00001140: MLOAD
00001141: DUP4
00001142: PUSH4 0xffffffff
00001147: AND
00001148: PUSH1 0xe0
0000114a: SHL
0000114b: DUP2
0000114c: MSTORE
0000114d: PUSH1 0x04
0000114f: ADD
00001150: DUP1
00001151: DUP4
00001152: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001167: AND
00001168: DUP2
00001169: MSTORE
0000116a: PUSH1 0x20
0000116c: ADD
0000116d: DUP3
0000116e: DUP2
0000116f: MSTORE
00001170: PUSH1 0x20
00001172: ADD
00001173: SWAP3
00001174: POP
00001175: POP
00001176: POP
00001177: PUSH1 0x00
00001179: PUSH1 0x40
0000117b: MLOAD
0000117c: DUP1
0000117d: DUP4
0000117e: SUB
0000117f: DUP2
00001180: PUSH1 0x00
00001182: DUP8
00001183: DUP1
00001184: EXTCODESIZE
00001185: ISZERO
00001186: DUP1
00001187: ISZERO
00001188: PUSH2 0x1190
0000118b: JUMPI
0000118c: PUSH1 0x00
0000118e: DUP1
0000118f: REVERT
00001190: JUMPDEST
00001191: POP
00001192: GAS
00001193: CALL
00001194: ISZERO
00001195: DUP1
00001196: ISZERO
00001197: PUSH2 0x11a4
0000119a: JUMPI
0000119b: RETURNDATASIZE
0000119c: PUSH1 0x00
0000119e: DUP1
0000119f: RETURNDATACOPY
000011a0: RETURNDATASIZE
000011a1: PUSH1 0x00
000011a3: REVERT
000011a4: JUMPDEST
000011a5: POP
000011a6: POP
000011a7: POP
000011a8: POP
000011a9: JUMP
000011aa: JUMPDEST
000011ab: PUSH1 0x05
000011ad: SLOAD
000011ae: DUP2
000011af: JUMP
000011b0: JUMPDEST
000011b1: PUSH1 0x01
000011b3: ISZERO
000011b4: ISZERO
000011b5: PUSH1 0x06
000011b7: PUSH1 0x00
000011b9: SWAP1
000011ba: SLOAD
000011bb: SWAP1
000011bc: PUSH2 0x0100
000011bf: EXP
000011c0: SWAP1
000011c1: DIV
000011c2: PUSH1 0xff
000011c4: AND
000011c5: ISZERO
000011c6: ISZERO
000011c7: EQ
000011c8: PUSH2 0x1239
000011cb: JUMPI
000011cc: PUSH1 0x40
000011ce: MLOAD
000011cf: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000011f0: DUP2
000011f1: MSTORE
000011f2: PUSH1 0x04
000011f4: ADD
000011f5: DUP1
000011f6: DUP1
000011f7: PUSH1 0x20
000011f9: ADD
000011fa: DUP3
000011fb: DUP2
000011fc: SUB
000011fd: DUP3
000011fe: MSTORE
000011ff: PUSH1 0x11
00001201: DUP2
00001202: MSTORE
00001203: PUSH1 0x20
00001205: ADD
00001206: DUP1
00001207: PUSH32 0x48617665206e6f7420737461727465642e000000000000000000000000000000
00001228: DUP2
00001229: MSTORE
0000122a: POP
0000122b: PUSH1 0x20
0000122d: ADD
0000122e: SWAP2
0000122f: POP
00001230: POP
00001231: PUSH1 0x40
00001233: MLOAD
00001234: DUP1
00001235: SWAP2
00001236: SUB
00001237: SWAP1
00001238: REVERT
00001239: JUMPDEST
0000123a: PUSH2 0x1242
0000123d: CALLER
0000123e: PUSH2 0x1a6a
00001241: JUMP
00001242: JUMPDEST
00001243: PUSH2 0x124a
00001246: PUSH2 0x1b50
00001249: JUMP
0000124a: JUMPDEST
0000124b: PUSH2 0x1269
0000124e: CALLER
0000124f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001264: AND
00001265: PUSH2 0x1e7a
00001268: JUMP
00001269: JUMPDEST
0000126a: ISZERO
0000126b: PUSH2 0x12bf
0000126e: JUMPI
0000126f: PUSH1 0x40
00001271: MLOAD
00001272: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001293: DUP2
00001294: MSTORE
00001295: PUSH1 0x04
00001297: ADD
00001298: DUP1
00001299: DUP1
0000129a: PUSH1 0x20
0000129c: ADD
0000129d: DUP3
0000129e: DUP2
0000129f: SUB
000012a0: DUP3
000012a1: MSTORE
000012a2: PUSH1 0x23
000012a4: DUP2
000012a5: MSTORE
000012a6: PUSH1 0x20
000012a8: ADD
000012a9: DUP1
000012aa: PUSH2 0x25cf
000012ad: PUSH1 0x23
000012af: SWAP2
000012b0: CODECOPY
000012b1: PUSH1 0x40
000012b3: ADD
000012b4: SWAP2
000012b5: POP
000012b6: POP
000012b7: PUSH1 0x40
000012b9: MLOAD
000012ba: DUP1
000012bb: SWAP2
000012bc: SUB
000012bd: SWAP1
000012be: REVERT
000012bf: JUMPDEST
000012c0: PUSH2 0x130e
000012c3: CALLER
000012c4: ADDRESS
000012c5: DUP4
000012c6: PUSH1 0x02
000012c8: PUSH1 0x00
000012ca: SWAP1
000012cb: SLOAD
000012cc: SWAP1
000012cd: PUSH2 0x0100
000012d0: EXP
000012d1: SWAP1
000012d2: DIV
000012d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012e8: AND
000012e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012fe: AND
000012ff: PUSH2 0x1e8d
00001302: SWAP1
00001303: SWAP4
00001304: SWAP3
00001305: SWAP2
00001306: SWAP1
00001307: PUSH4 0xffffffff
0000130c: AND
0000130d: JUMP
0000130e: JUMPDEST
0000130f: PUSH2 0x1323
00001312: DUP2
00001313: PUSH1 0x04
00001315: SLOAD
00001316: PUSH2 0x1f4e
00001319: SWAP1
0000131a: SWAP2
0000131b: SWAP1
0000131c: PUSH4 0xffffffff
00001321: AND
00001322: JUMP
00001323: JUMPDEST
00001324: PUSH1 0x04
00001326: DUP2
00001327: SWAP1
00001328: SSTORE
00001329: POP
0000132a: PUSH2 0x137b
0000132d: DUP2
0000132e: PUSH1 0x03
00001330: PUSH1 0x00
00001332: CALLER
00001333: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001348: AND
00001349: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000135e: AND
0000135f: DUP2
00001360: MSTORE
00001361: PUSH1 0x20
00001363: ADD
00001364: SWAP1
00001365: DUP2
00001366: MSTORE
00001367: PUSH1 0x20
00001369: ADD
0000136a: PUSH1 0x00
0000136c: KECCAK256
0000136d: SLOAD
0000136e: PUSH2 0x1f4e
00001371: SWAP1
00001372: SWAP2
00001373: SWAP1
00001374: PUSH4 0xffffffff
00001379: AND
0000137a: JUMP
0000137b: JUMPDEST
0000137c: PUSH1 0x03
0000137e: PUSH1 0x00
00001380: CALLER
00001381: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001396: AND
00001397: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013ac: AND
000013ad: DUP2
000013ae: MSTORE
000013af: PUSH1 0x20
000013b1: ADD
000013b2: SWAP1
000013b3: DUP2
000013b4: MSTORE
000013b5: PUSH1 0x20
000013b7: ADD
000013b8: PUSH1 0x00
000013ba: KECCAK256
000013bb: DUP2
000013bc: SWAP1
000013bd: SSTORE
000013be: POP
000013bf: PUSH2 0x13c6
000013c2: PUSH2 0x1da2
000013c5: JUMP
000013c6: JUMPDEST
000013c7: CALLER
000013c8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013dd: AND
000013de: PUSH32 0xebedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a
000013ff: DUP3
00001400: PUSH1 0x40
00001402: MLOAD
00001403: DUP1
00001404: DUP3
00001405: DUP2
00001406: MSTORE
00001407: PUSH1 0x20
00001409: ADD
0000140a: SWAP2
0000140b: POP
0000140c: POP
0000140d: PUSH1 0x40
0000140f: MLOAD
00001410: DUP1
00001411: SWAP2
00001412: SUB
00001413: SWAP1
00001414: LOG2
00001415: POP
00001416: JUMP
00001417: JUMPDEST
00001418: PUSH2 0x141f
0000141b: PUSH2 0x1e59
0000141e: JUMP
0000141f: JUMPDEST
00001420: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001435: AND
00001436: PUSH1 0x00
00001438: DUP1
00001439: SLOAD
0000143a: SWAP1
0000143b: PUSH2 0x0100
0000143e: EXP
0000143f: SWAP1
00001440: DIV
00001441: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001456: AND
00001457: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000146c: AND
0000146d: EQ
0000146e: PUSH2 0x14df
00001471: JUMPI
00001472: PUSH1 0x40
00001474: MLOAD
00001475: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001496: DUP2
00001497: MSTORE
00001498: PUSH1 0x04
0000149a: ADD
0000149b: DUP1
0000149c: DUP1
0000149d: PUSH1 0x20
0000149f: ADD
000014a0: DUP3
000014a1: DUP2
000014a2: SUB
000014a3: DUP3
000014a4: MSTORE
000014a5: PUSH1 0x20
000014a7: DUP2
000014a8: MSTORE
000014a9: PUSH1 0x20
000014ab: ADD
000014ac: DUP1
000014ad: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
000014ce: DUP2
000014cf: MSTORE
000014d0: POP
000014d1: PUSH1 0x20
000014d3: ADD
000014d4: SWAP2
000014d5: POP
000014d6: POP
000014d7: PUSH1 0x40
000014d9: MLOAD
000014da: DUP1
000014db: SWAP2
000014dc: SUB
000014dd: SWAP1
000014de: REVERT
000014df: JUMPDEST
000014e0: PUSH2 0x14e9
000014e3: PUSH1 0x00
000014e5: PUSH2 0x1a6a
000014e8: JUMP
000014e9: JUMPDEST
000014ea: PUSH2 0x1501
000014ed: PUSH3 0x127500
000014f1: PUSH1 0x05
000014f3: SLOAD
000014f4: PUSH2 0x1fd6
000014f7: SWAP1
000014f8: SWAP2
000014f9: SWAP1
000014fa: PUSH4 0xffffffff
000014ff: AND
00001500: JUMP
00001501: JUMPDEST
00001502: PUSH1 0x09
00001504: DUP2
00001505: SWAP1
00001506: SSTORE
00001507: POP
00001508: PUSH1 0x00
0000150a: PUSH2 0x1520
0000150d: PUSH1 0x11
0000150f: SLOAD
00001510: PUSH1 0x05
00001512: SLOAD
00001513: PUSH2 0x1f4e
00001516: SWAP1
00001517: SWAP2
00001518: SWAP1
00001519: PUSH4 0xffffffff
0000151e: AND
0000151f: JUMP
00001520: JUMPDEST
00001521: SWAP1
00001522: POP
00001523: PUSH1 0x01
00001525: PUSH1 0x00
00001527: SWAP1
00001528: SLOAD
00001529: SWAP1
0000152a: PUSH2 0x0100
0000152d: EXP
0000152e: SWAP1
0000152f: DIV
00001530: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001545: AND
00001546: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000155b: AND
0000155c: PUSH4 0x40c10f19
00001561: ADDRESS
00001562: DUP4
00001563: PUSH1 0x40
00001565: MLOAD
00001566: DUP4
00001567: PUSH4 0xffffffff
0000156c: AND
0000156d: PUSH1 0xe0
0000156f: SHL
00001570: DUP2
00001571: MSTORE
00001572: PUSH1 0x04
00001574: ADD
00001575: DUP1
00001576: DUP4
00001577: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000158c: AND
0000158d: DUP2
0000158e: MSTORE
0000158f: PUSH1 0x20
00001591: ADD
00001592: DUP3
00001593: DUP2
00001594: MSTORE
00001595: PUSH1 0x20
00001597: ADD
00001598: SWAP3
00001599: POP
0000159a: POP
0000159b: POP
0000159c: PUSH1 0x00
0000159e: PUSH1 0x40
000015a0: MLOAD
000015a1: DUP1
000015a2: DUP4
000015a3: SUB
000015a4: DUP2
000015a5: PUSH1 0x00
000015a7: DUP8
000015a8: DUP1
000015a9: EXTCODESIZE
000015aa: ISZERO
000015ab: DUP1
000015ac: ISZERO
000015ad: PUSH2 0x15b5
000015b0: JUMPI
000015b1: PUSH1 0x00
000015b3: DUP1
000015b4: REVERT
000015b5: JUMPDEST
000015b6: POP
000015b7: GAS
000015b8: CALL
000015b9: ISZERO
000015ba: DUP1
000015bb: ISZERO
000015bc: PUSH2 0x15c9
000015bf: JUMPI
000015c0: RETURNDATASIZE
000015c1: PUSH1 0x00
000015c3: DUP1
000015c4: RETURNDATACOPY
000015c5: RETURNDATASIZE
000015c6: PUSH1 0x00
000015c8: REVERT
000015c9: JUMPDEST
000015ca: POP
000015cb: POP
000015cc: POP
000015cd: POP
000015ce: PUSH2 0x15e4
000015d1: PUSH1 0x12
000015d3: SLOAD
000015d4: PUSH1 0x11
000015d6: SLOAD
000015d7: PUSH2 0x1fd6
000015da: SWAP1
000015db: SWAP2
000015dc: SWAP1
000015dd: PUSH4 0xffffffff
000015e2: AND
000015e3: JUMP
000015e4: JUMPDEST
000015e5: PUSH1 0x0e
000015e7: DUP2
000015e8: SWAP1
000015e9: SSTORE
000015ea: POP
000015eb: PUSH2 0x15ff
000015ee: PUSH1 0x12
000015f0: SLOAD
000015f1: TIMESTAMP
000015f2: PUSH2 0x1f4e
000015f5: SWAP1
000015f6: SWAP2
000015f7: SWAP1
000015f8: PUSH4 0xffffffff
000015fd: AND
000015fe: JUMP
000015ff: JUMPDEST
00001600: PUSH1 0x10
00001602: DUP2
00001603: SWAP1
00001604: SSTORE
00001605: POP
00001606: TIMESTAMP
00001607: PUSH1 0x08
00001609: DUP2
0000160a: SWAP1
0000160b: SSTORE
0000160c: POP
0000160d: TIMESTAMP
0000160e: PUSH1 0x0f
00001610: DUP2
00001611: SWAP1
00001612: SSTORE
00001613: POP
00001614: PUSH2 0x1629
00001617: PUSH3 0x127500
0000161b: TIMESTAMP
0000161c: PUSH2 0x1f4e
0000161f: SWAP1
00001620: SWAP2
00001621: SWAP1
00001622: PUSH4 0xffffffff
00001627: AND
00001628: JUMP
00001629: JUMPDEST
0000162a: PUSH1 0x07
0000162c: DUP2
0000162d: SWAP1
0000162e: SSTORE
0000162f: POP
00001630: PUSH1 0x01
00001632: PUSH1 0x06
00001634: PUSH1 0x00
00001636: PUSH2 0x0100
00001639: EXP
0000163a: DUP2
0000163b: SLOAD
0000163c: DUP2
0000163d: PUSH1 0xff
0000163f: MUL
00001640: NOT
00001641: AND
00001642: SWAP1
00001643: DUP4
00001644: ISZERO
00001645: ISZERO
00001646: MUL
00001647: OR
00001648: SWAP1
00001649: SSTORE
0000164a: POP
0000164b: PUSH32 0xf06a29c94c6f4edc1085072972d9441f7603e81c8535a308f214285d0653c850
0000166c: DUP2
0000166d: PUSH1 0x40
0000166f: MLOAD
00001670: DUP1
00001671: DUP3
00001672: DUP2
00001673: MSTORE
00001674: PUSH1 0x20
00001676: ADD
00001677: SWAP2
00001678: POP
00001679: POP
0000167a: PUSH1 0x40
0000167c: MLOAD
0000167d: DUP1
0000167e: SWAP2
0000167f: SUB
00001680: SWAP1
00001681: LOG1
00001682: POP
00001683: JUMP
00001684: JUMPDEST
00001685: PUSH1 0x0a
00001687: SLOAD
00001688: DUP2
00001689: JUMP
0000168a: JUMPDEST
0000168b: PUSH1 0x08
0000168d: SLOAD
0000168e: DUP2
0000168f: JUMP
00001690: JUMPDEST
00001691: PUSH1 0x00
00001693: DUP1
00001694: PUSH1 0x04
00001696: SLOAD
00001697: EQ
00001698: ISZERO
00001699: PUSH2 0x16a6
0000169c: JUMPI
0000169d: PUSH1 0x0a
0000169f: SLOAD
000016a0: SWAP1
000016a1: POP
000016a2: PUSH2 0x171f
000016a5: JUMP
000016a6: JUMPDEST
000016a7: PUSH2 0x171c
000016aa: PUSH2 0x170b
000016ad: PUSH1 0x04
000016af: SLOAD
000016b0: PUSH2 0x16fd
000016b3: PUSH8 0x0de0b6b3a7640000
000016bc: PUSH2 0x16ef
000016bf: PUSH1 0x09
000016c1: SLOAD
000016c2: PUSH2 0x16e1
000016c5: PUSH1 0x08
000016c7: SLOAD
000016c8: PUSH2 0x16d3
000016cb: TIMESTAMP
000016cc: PUSH1 0x07
000016ce: SLOAD
000016cf: PUSH2 0x1e61
000016d2: JUMP
000016d3: JUMPDEST
000016d4: PUSH2 0x1d58
000016d7: SWAP1
000016d8: SWAP2
000016d9: SWAP1
000016da: PUSH4 0xffffffff
000016df: AND
000016e0: JUMP
000016e1: JUMPDEST
000016e2: PUSH2 0x2020
000016e5: SWAP1
000016e6: SWAP2
000016e7: SWAP1
000016e8: PUSH4 0xffffffff
000016ed: AND
000016ee: JUMP
000016ef: JUMPDEST
000016f0: PUSH2 0x2020
000016f3: SWAP1
000016f4: SWAP2
000016f5: SWAP1
000016f6: PUSH4 0xffffffff
000016fb: AND
000016fc: JUMP
000016fd: JUMPDEST
000016fe: PUSH2 0x1fd6
00001701: SWAP1
00001702: SWAP2
00001703: SWAP1
00001704: PUSH4 0xffffffff
00001709: AND
0000170a: JUMP
0000170b: JUMPDEST
0000170c: PUSH1 0x0a
0000170e: SLOAD
0000170f: PUSH2 0x1f4e
00001712: SWAP1
00001713: SWAP2
00001714: SWAP1
00001715: PUSH4 0xffffffff
0000171a: AND
0000171b: JUMP
0000171c: JUMPDEST
0000171d: SWAP1
0000171e: POP
0000171f: JUMPDEST
00001720: SWAP1
00001721: JUMP
00001722: JUMPDEST
00001723: PUSH1 0x0d
00001725: PUSH1 0x00
00001727: SWAP1
00001728: SLOAD
00001729: SWAP1
0000172a: PUSH2 0x0100
0000172d: EXP
0000172e: SWAP1
0000172f: DIV
00001730: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001745: AND
00001746: DUP2
00001747: JUMP
00001748: JUMPDEST
00001749: PUSH1 0x00
0000174b: PUSH2 0x1828
0000174e: PUSH1 0x0b
00001750: PUSH1 0x00
00001752: DUP5
00001753: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001768: AND
00001769: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000177e: AND
0000177f: DUP2
00001780: MSTORE
00001781: PUSH1 0x20
00001783: ADD
00001784: SWAP1
00001785: DUP2
00001786: MSTORE
00001787: PUSH1 0x20
00001789: ADD
0000178a: PUSH1 0x00
0000178c: KECCAK256
0000178d: SLOAD
0000178e: PUSH2 0x181a
00001791: PUSH8 0x0de0b6b3a7640000
0000179a: PUSH2 0x180c
0000179d: PUSH2 0x17f5
000017a0: PUSH1 0x0c
000017a2: PUSH1 0x00
000017a4: DUP10
000017a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017ba: AND
000017bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017d0: AND
000017d1: DUP2
000017d2: MSTORE
000017d3: PUSH1 0x20
000017d5: ADD
000017d6: SWAP1
000017d7: DUP2
000017d8: MSTORE
000017d9: PUSH1 0x20
000017db: ADD
000017dc: PUSH1 0x00
000017de: KECCAK256
000017df: SLOAD
000017e0: PUSH2 0x17e7
000017e3: PUSH2 0x1690
000017e6: JUMP
000017e7: JUMPDEST
000017e8: PUSH2 0x1d58
000017eb: SWAP1
000017ec: SWAP2
000017ed: SWAP1
000017ee: PUSH4 0xffffffff
000017f3: AND
000017f4: JUMP
000017f5: JUMPDEST
000017f6: PUSH2 0x17fe
000017f9: DUP9
000017fa: PUSH2 0x0e17
000017fd: JUMP
000017fe: JUMPDEST
000017ff: PUSH2 0x2020
00001802: SWAP1
00001803: SWAP2
00001804: SWAP1
00001805: PUSH4 0xffffffff
0000180a: AND
0000180b: JUMP
0000180c: JUMPDEST
0000180d: PUSH2 0x1fd6
00001810: SWAP1
00001811: SWAP2
00001812: SWAP1
00001813: PUSH4 0xffffffff
00001818: AND
00001819: JUMP
0000181a: JUMPDEST
0000181b: PUSH2 0x1f4e
0000181e: SWAP1
0000181f: SWAP2
00001820: SWAP1
00001821: PUSH4 0xffffffff
00001826: AND
00001827: JUMP
00001828: JUMPDEST
00001829: SWAP1
0000182a: POP
0000182b: SWAP2
0000182c: SWAP1
0000182d: POP
0000182e: JUMP
0000182f: JUMPDEST
00001830: PUSH2 0x1837
00001833: PUSH2 0x1e59
00001836: JUMP
00001837: JUMPDEST
00001838: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000184d: AND
0000184e: PUSH1 0x00
00001850: DUP1
00001851: SLOAD
00001852: SWAP1
00001853: PUSH2 0x0100
00001856: EXP
00001857: SWAP1
00001858: DIV
00001859: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000186e: AND
0000186f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001884: AND
00001885: EQ
00001886: PUSH2 0x18f7
00001889: JUMPI
0000188a: PUSH1 0x40
0000188c: MLOAD
0000188d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000018ae: DUP2
000018af: MSTORE
000018b0: PUSH1 0x04
000018b2: ADD
000018b3: DUP1
000018b4: DUP1
000018b5: PUSH1 0x20
000018b7: ADD
000018b8: DUP3
000018b9: DUP2
000018ba: SUB
000018bb: DUP3
000018bc: MSTORE
000018bd: PUSH1 0x20
000018bf: DUP2
000018c0: MSTORE
000018c1: PUSH1 0x20
000018c3: ADD
000018c4: DUP1
000018c5: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
000018e6: DUP2
000018e7: MSTORE
000018e8: POP
000018e9: PUSH1 0x20
000018eb: ADD
000018ec: SWAP2
000018ed: POP
000018ee: POP
000018ef: PUSH1 0x40
000018f1: MLOAD
000018f2: DUP1
000018f3: SWAP2
000018f4: SUB
000018f5: SWAP1
000018f6: REVERT
000018f7: JUMPDEST
000018f8: PUSH1 0x00
000018fa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000190f: AND
00001910: DUP2
00001911: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001926: AND
00001927: EQ
00001928: ISZERO
00001929: PUSH2 0x197d
0000192c: JUMPI
0000192d: PUSH1 0x40
0000192f: MLOAD
00001930: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001951: DUP2
00001952: MSTORE
00001953: PUSH1 0x04
00001955: ADD
00001956: DUP1
00001957: DUP1
00001958: PUSH1 0x20
0000195a: ADD
0000195b: DUP3
0000195c: DUP2
0000195d: SUB
0000195e: DUP3
0000195f: MSTORE
00001960: PUSH1 0x26
00001962: DUP2
00001963: MSTORE
00001964: PUSH1 0x20
00001966: ADD
00001967: DUP1
00001968: PUSH2 0x25a9
0000196b: PUSH1 0x26
0000196d: SWAP2
0000196e: CODECOPY
0000196f: PUSH1 0x40
00001971: ADD
00001972: SWAP2
00001973: POP
00001974: POP
00001975: PUSH1 0x40
00001977: MLOAD
00001978: DUP1
00001979: SWAP2
0000197a: SUB
0000197b: SWAP1
0000197c: REVERT
0000197d: JUMPDEST
0000197e: DUP1
0000197f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001994: AND
00001995: PUSH1 0x00
00001997: DUP1
00001998: SLOAD
00001999: SWAP1
0000199a: PUSH2 0x0100
0000199d: EXP
0000199e: SWAP1
0000199f: DIV
000019a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019b5: AND
000019b6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019cb: AND
000019cc: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000019ed: PUSH1 0x40
000019ef: MLOAD
000019f0: PUSH1 0x40
000019f2: MLOAD
000019f3: DUP1
000019f4: SWAP2
000019f5: SUB
000019f6: SWAP1
000019f7: LOG3
000019f8: DUP1
000019f9: PUSH1 0x00
000019fb: DUP1
000019fc: PUSH2 0x0100
000019ff: EXP
00001a00: DUP2
00001a01: SLOAD
00001a02: DUP2
00001a03: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a18: MUL
00001a19: NOT
00001a1a: AND
00001a1b: SWAP1
00001a1c: DUP4
00001a1d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a32: AND
00001a33: MUL
00001a34: OR
00001a35: SWAP1
00001a36: SSTORE
00001a37: POP
00001a38: POP
00001a39: JUMP
00001a3a: JUMPDEST
00001a3b: PUSH1 0x00
00001a3d: PUSH1 0x02
00001a3f: PUSH1 0x00
00001a41: SWAP1
00001a42: SLOAD
00001a43: SWAP1
00001a44: PUSH2 0x0100
00001a47: EXP
00001a48: SWAP1
00001a49: DIV
00001a4a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a5f: AND
00001a60: SWAP1
00001a61: POP
00001a62: SWAP1
00001a63: JUMP
00001a64: JUMPDEST
00001a65: PUSH1 0x12
00001a67: SLOAD
00001a68: DUP2
00001a69: JUMP
00001a6a: JUMPDEST
00001a6b: PUSH2 0x1a72
00001a6e: PUSH2 0x1690
00001a71: JUMP
00001a72: JUMPDEST
00001a73: PUSH1 0x0a
00001a75: DUP2
00001a76: SWAP1
00001a77: SSTORE
00001a78: POP
00001a79: PUSH2 0x1a80
00001a7c: PUSH2 0x1021
00001a7f: JUMP
00001a80: JUMPDEST
00001a81: PUSH1 0x08
00001a83: DUP2
00001a84: SWAP1
00001a85: SSTORE
00001a86: POP
00001a87: PUSH1 0x00
00001a89: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a9e: AND
00001a9f: DUP2
00001aa0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ab5: AND
00001ab6: EQ
00001ab7: PUSH2 0x1b4d
00001aba: JUMPI
00001abb: PUSH2 0x1ac3
00001abe: DUP2
00001abf: PUSH2 0x1748
00001ac2: JUMP
00001ac3: JUMPDEST
00001ac4: PUSH1 0x0b
00001ac6: PUSH1 0x00
00001ac8: DUP4
00001ac9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ade: AND
00001adf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001af4: AND
00001af5: DUP2
00001af6: MSTORE
00001af7: PUSH1 0x20
00001af9: ADD
00001afa: SWAP1
00001afb: DUP2
00001afc: MSTORE
00001afd: PUSH1 0x20
00001aff: ADD
00001b00: PUSH1 0x00
00001b02: KECCAK256
00001b03: DUP2
00001b04: SWAP1
00001b05: SSTORE
00001b06: POP
00001b07: PUSH1 0x0a
00001b09: SLOAD
00001b0a: PUSH1 0x0c
00001b0c: PUSH1 0x00
00001b0e: DUP4
00001b0f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b24: AND
00001b25: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b3a: AND
00001b3b: DUP2
00001b3c: MSTORE
00001b3d: PUSH1 0x20
00001b3f: ADD
00001b40: SWAP1
00001b41: DUP2
00001b42: MSTORE
00001b43: PUSH1 0x20
00001b45: ADD
00001b46: PUSH1 0x00
00001b48: KECCAK256
00001b49: DUP2
00001b4a: SWAP1
00001b4b: SSTORE
00001b4c: POP
00001b4d: JUMPDEST
00001b4e: POP
00001b4f: JUMP
00001b50: JUMPDEST
00001b51: PUSH1 0x07
00001b53: SLOAD
00001b54: TIMESTAMP
00001b55: LT
00001b56: PUSH2 0x1cb4
00001b59: JUMPI
00001b5a: PUSH2 0x1b82
00001b5d: PUSH1 0x64
00001b5f: PUSH2 0x1b74
00001b62: PUSH1 0x32
00001b64: PUSH1 0x05
00001b66: SLOAD
00001b67: PUSH2 0x2020
00001b6a: SWAP1
00001b6b: SWAP2
00001b6c: SWAP1
00001b6d: PUSH4 0xffffffff
00001b72: AND
00001b73: JUMP
00001b74: JUMPDEST
00001b75: PUSH2 0x1fd6
00001b78: SWAP1
00001b79: SWAP2
00001b7a: SWAP1
00001b7b: PUSH4 0xffffffff
00001b80: AND
00001b81: JUMP
00001b82: JUMPDEST
00001b83: PUSH1 0x05
00001b85: DUP2
00001b86: SWAP1
00001b87: SSTORE
00001b88: POP
00001b89: PUSH1 0x01
00001b8b: PUSH1 0x00
00001b8d: SWAP1
00001b8e: SLOAD
00001b8f: SWAP1
00001b90: PUSH2 0x0100
00001b93: EXP
00001b94: SWAP1
00001b95: DIV
00001b96: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bab: AND
00001bac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bc1: AND
00001bc2: PUSH4 0x40c10f19
00001bc7: ADDRESS
00001bc8: PUSH1 0x05
00001bca: SLOAD
00001bcb: PUSH1 0x40
00001bcd: MLOAD
00001bce: DUP4
00001bcf: PUSH4 0xffffffff
00001bd4: AND
00001bd5: PUSH1 0xe0
00001bd7: SHL
00001bd8: DUP2
00001bd9: MSTORE
00001bda: PUSH1 0x04
00001bdc: ADD
00001bdd: DUP1
00001bde: DUP4
00001bdf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bf4: AND
00001bf5: DUP2
00001bf6: MSTORE
00001bf7: PUSH1 0x20
00001bf9: ADD
00001bfa: DUP3
00001bfb: DUP2
00001bfc: MSTORE
00001bfd: PUSH1 0x20
00001bff: ADD
00001c00: SWAP3
00001c01: POP
00001c02: POP
00001c03: POP
00001c04: PUSH1 0x00
00001c06: PUSH1 0x40
00001c08: MLOAD
00001c09: DUP1
00001c0a: DUP4
00001c0b: SUB
00001c0c: DUP2
00001c0d: PUSH1 0x00
00001c0f: DUP8
00001c10: DUP1
00001c11: EXTCODESIZE
00001c12: ISZERO
00001c13: DUP1
00001c14: ISZERO
00001c15: PUSH2 0x1c1d
00001c18: JUMPI
00001c19: PUSH1 0x00
00001c1b: DUP1
00001c1c: REVERT
00001c1d: JUMPDEST
00001c1e: POP
00001c1f: GAS
00001c20: CALL
00001c21: ISZERO
00001c22: DUP1
00001c23: ISZERO
00001c24: PUSH2 0x1c31
00001c27: JUMPI
00001c28: RETURNDATASIZE
00001c29: PUSH1 0x00
00001c2b: DUP1
00001c2c: RETURNDATACOPY
00001c2d: RETURNDATASIZE
00001c2e: PUSH1 0x00
00001c30: REVERT
00001c31: JUMPDEST
00001c32: POP
00001c33: POP
00001c34: POP
00001c35: POP
00001c36: PUSH2 0x1c4d
00001c39: PUSH3 0x127500
00001c3d: PUSH1 0x05
00001c3f: SLOAD
00001c40: PUSH2 0x1fd6
00001c43: SWAP1
00001c44: SWAP2
00001c45: SWAP1
00001c46: PUSH4 0xffffffff
00001c4b: AND
00001c4c: JUMP
00001c4d: JUMPDEST
00001c4e: PUSH1 0x09
00001c50: DUP2
00001c51: SWAP1
00001c52: SSTORE
00001c53: POP
00001c54: PUSH2 0x1c6b
00001c57: PUSH3 0x127500
00001c5b: PUSH1 0x07
00001c5d: SLOAD
00001c5e: PUSH2 0x1f4e
00001c61: SWAP1
00001c62: SWAP2
00001c63: SWAP1
00001c64: PUSH4 0xffffffff
00001c69: AND
00001c6a: JUMP
00001c6b: JUMPDEST
00001c6c: PUSH1 0x07
00001c6e: DUP2
00001c6f: SWAP1
00001c70: SSTORE
00001c71: POP
00001c72: PUSH2 0x1c7a
00001c75: CALLER
00001c76: PUSH2 0x1a6a
00001c79: JUMP
00001c7a: JUMPDEST
00001c7b: PUSH32 0xfafb0ec84dbe5a6bf08f4fec2f970b66d402032cdfea2008b11e11eb5c3990f0
00001c9c: PUSH1 0x05
00001c9e: SLOAD
00001c9f: PUSH1 0x40
00001ca1: MLOAD
00001ca2: DUP1
00001ca3: DUP3
00001ca4: DUP2
00001ca5: MSTORE
00001ca6: PUSH1 0x20
00001ca8: ADD
00001ca9: SWAP2
00001caa: POP
00001cab: POP
00001cac: PUSH1 0x40
00001cae: MLOAD
00001caf: DUP1
00001cb0: SWAP2
00001cb1: SUB
00001cb2: SWAP1
00001cb3: LOG1
00001cb4: JUMPDEST
00001cb5: JUMP
00001cb6: JUMPDEST
00001cb7: PUSH2 0x1d53
00001cba: DUP4
00001cbb: PUSH4 0xa9059cbb
00001cc0: PUSH1 0xe0
00001cc2: SHL
00001cc3: DUP5
00001cc4: DUP5
00001cc5: PUSH1 0x40
00001cc7: MLOAD
00001cc8: PUSH1 0x24
00001cca: ADD
00001ccb: DUP1
00001ccc: DUP4
00001ccd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ce2: AND
00001ce3: DUP2
00001ce4: MSTORE
00001ce5: PUSH1 0x20
00001ce7: ADD
00001ce8: DUP3
00001ce9: DUP2
00001cea: MSTORE
00001ceb: PUSH1 0x20
00001ced: ADD
00001cee: SWAP3
00001cef: POP
00001cf0: POP
00001cf1: POP
00001cf2: PUSH1 0x40
00001cf4: MLOAD
00001cf5: PUSH1 0x20
00001cf7: DUP2
00001cf8: DUP4
00001cf9: SUB
00001cfa: SUB
00001cfb: DUP2
00001cfc: MSTORE
00001cfd: SWAP1
00001cfe: PUSH1 0x40
00001d00: MSTORE
00001d01: SWAP1
00001d02: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001d1f: NOT
00001d20: AND
00001d21: PUSH1 0x20
00001d23: DUP3
00001d24: ADD
00001d25: DUP1
00001d26: MLOAD
00001d27: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001d44: DUP4
00001d45: DUP2
00001d46: DUP4
00001d47: AND
00001d48: OR
00001d49: DUP4
00001d4a: MSTORE
00001d4b: POP
00001d4c: POP
00001d4d: POP
00001d4e: POP
00001d4f: PUSH2 0x20a6
00001d52: JUMP
00001d53: JUMPDEST
00001d54: POP
00001d55: POP
00001d56: POP
00001d57: JUMP
00001d58: JUMPDEST
00001d59: PUSH1 0x00
00001d5b: PUSH2 0x1d9a
00001d5e: DUP4
00001d5f: DUP4
00001d60: PUSH1 0x40
00001d62: MLOAD
00001d63: DUP1
00001d64: PUSH1 0x40
00001d66: ADD
00001d67: PUSH1 0x40
00001d69: MSTORE
00001d6a: DUP1
00001d6b: PUSH1 0x1e
00001d6d: DUP2
00001d6e: MSTORE
00001d6f: PUSH1 0x20
00001d71: ADD
00001d72: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000
00001d93: DUP2
00001d94: MSTORE
00001d95: POP
00001d96: PUSH2 0x2195
00001d99: JUMP
00001d9a: JUMPDEST
00001d9b: SWAP1
00001d9c: POP
00001d9d: SWAP3
00001d9e: SWAP2
00001d9f: POP
00001da0: POP
00001da1: JUMP
00001da2: JUMPDEST
00001da3: PUSH1 0x00
00001da5: PUSH2 0x1db0
00001da8: TIMESTAMP
00001da9: PUSH1 0x10
00001dab: SLOAD
00001dac: PUSH2 0x1e61
00001daf: JUMP
00001db0: JUMPDEST
00001db1: SWAP1
00001db2: POP
00001db3: PUSH1 0x00
00001db5: PUSH2 0x1ddd
00001db8: PUSH1 0x0e
00001dba: SLOAD
00001dbb: PUSH2 0x1dcf
00001dbe: PUSH1 0x0f
00001dc0: SLOAD
00001dc1: DUP6
00001dc2: PUSH2 0x1d58
00001dc5: SWAP1
00001dc6: SWAP2
00001dc7: SWAP1
00001dc8: PUSH4 0xffffffff
00001dcd: AND
00001dce: JUMP
00001dcf: JUMPDEST
00001dd0: PUSH2 0x2020
00001dd3: SWAP1
00001dd4: SWAP2
00001dd5: SWAP1
00001dd6: PUSH4 0xffffffff
00001ddb: AND
00001ddc: JUMP
00001ddd: JUMPDEST
00001dde: SWAP1
00001ddf: POP
00001de0: PUSH2 0x1e4e
00001de3: PUSH1 0x0d
00001de5: PUSH1 0x00
00001de7: SWAP1
00001de8: SLOAD
00001de9: SWAP1
00001dea: PUSH2 0x0100
00001ded: EXP
00001dee: SWAP1
00001def: DIV
00001df0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e05: AND
00001e06: DUP3
00001e07: PUSH1 0x01
00001e09: PUSH1 0x00
00001e0b: SWAP1
00001e0c: SLOAD
00001e0d: SWAP1
00001e0e: PUSH2 0x0100
00001e11: EXP
00001e12: SWAP1
00001e13: DIV
00001e14: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e29: AND
00001e2a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e3f: AND
00001e40: PUSH2 0x1cb6
00001e43: SWAP1
00001e44: SWAP3
00001e45: SWAP2
00001e46: SWAP1
00001e47: PUSH4 0xffffffff
00001e4c: AND
00001e4d: JUMP
00001e4e: JUMPDEST
00001e4f: DUP2
00001e50: PUSH1 0x0f
00001e52: DUP2
00001e53: SWAP1
00001e54: SSTORE
00001e55: POP
00001e56: POP
00001e57: POP
00001e58: JUMP
00001e59: JUMPDEST
00001e5a: PUSH1 0x00
00001e5c: CALLER
00001e5d: SWAP1
00001e5e: POP
00001e5f: SWAP1
00001e60: JUMP
00001e61: JUMPDEST
00001e62: PUSH1 0x00
00001e64: DUP2
00001e65: DUP4
00001e66: LT
00001e67: PUSH2 0x1e70
00001e6a: JUMPI
00001e6b: DUP2
00001e6c: PUSH2 0x1e72
00001e6f: JUMP
00001e70: JUMPDEST
00001e71: DUP3
00001e72: JUMPDEST
00001e73: SWAP1
00001e74: POP
00001e75: SWAP3
00001e76: SWAP2
00001e77: POP
00001e78: POP
00001e79: JUMP
00001e7a: JUMPDEST
00001e7b: PUSH1 0x00
00001e7d: DUP1
00001e7e: DUP3
00001e7f: EXTCODESIZE
00001e80: SWAP1
00001e81: POP
00001e82: PUSH1 0x00
00001e84: DUP2
00001e85: GT
00001e86: SWAP2
00001e87: POP
00001e88: POP
00001e89: SWAP2
00001e8a: SWAP1
00001e8b: POP
00001e8c: JUMP
00001e8d: JUMPDEST
00001e8e: PUSH2 0x1f48
00001e91: DUP5
00001e92: PUSH4 0x23b872dd
00001e97: PUSH1 0xe0
00001e99: SHL
00001e9a: DUP6
00001e9b: DUP6
00001e9c: DUP6
00001e9d: PUSH1 0x40
00001e9f: MLOAD
00001ea0: PUSH1 0x24
00001ea2: ADD
00001ea3: DUP1
00001ea4: DUP5
00001ea5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001eba: AND
00001ebb: DUP2
00001ebc: MSTORE
00001ebd: PUSH1 0x20
00001ebf: ADD
00001ec0: DUP4
00001ec1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ed6: AND
00001ed7: DUP2
00001ed8: MSTORE
00001ed9: PUSH1 0x20
00001edb: ADD
00001edc: DUP3
00001edd: DUP2
00001ede: MSTORE
00001edf: PUSH1 0x20
00001ee1: ADD
00001ee2: SWAP4
00001ee3: POP
00001ee4: POP
00001ee5: POP
00001ee6: POP
00001ee7: PUSH1 0x40
00001ee9: MLOAD
00001eea: PUSH1 0x20
00001eec: DUP2
00001eed: DUP4
00001eee: SUB
00001eef: SUB
00001ef0: DUP2
00001ef1: MSTORE
00001ef2: SWAP1
00001ef3: PUSH1 0x40
00001ef5: MSTORE
00001ef6: SWAP1
00001ef7: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001f14: NOT
00001f15: AND
00001f16: PUSH1 0x20
00001f18: DUP3
00001f19: ADD
00001f1a: DUP1
00001f1b: MLOAD
00001f1c: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001f39: DUP4
00001f3a: DUP2
00001f3b: DUP4
00001f3c: AND
00001f3d: OR
00001f3e: DUP4
00001f3f: MSTORE
00001f40: POP
00001f41: POP
00001f42: POP
00001f43: POP
00001f44: PUSH2 0x20a6
00001f47: JUMP
00001f48: JUMPDEST
00001f49: POP
00001f4a: POP
00001f4b: POP
00001f4c: POP
00001f4d: JUMP
00001f4e: JUMPDEST
00001f4f: PUSH1 0x00
00001f51: DUP1
00001f52: DUP3
00001f53: DUP5
00001f54: ADD
00001f55: SWAP1
00001f56: POP
00001f57: DUP4
00001f58: DUP2
00001f59: LT
00001f5a: ISZERO
00001f5b: PUSH2 0x1fcc
00001f5e: JUMPI
00001f5f: PUSH1 0x40
00001f61: MLOAD
00001f62: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001f83: DUP2
00001f84: MSTORE
00001f85: PUSH1 0x04
00001f87: ADD
00001f88: DUP1
00001f89: DUP1
00001f8a: PUSH1 0x20
00001f8c: ADD
00001f8d: DUP3
00001f8e: DUP2
00001f8f: SUB
00001f90: DUP3
00001f91: MSTORE
00001f92: PUSH1 0x1b
00001f94: DUP2
00001f95: MSTORE
00001f96: PUSH1 0x20
00001f98: ADD
00001f99: DUP1
00001f9a: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000
00001fbb: DUP2
00001fbc: MSTORE
00001fbd: POP
00001fbe: PUSH1 0x20
00001fc0: ADD
00001fc1: SWAP2
00001fc2: POP
00001fc3: POP
00001fc4: PUSH1 0x40
00001fc6: MLOAD
00001fc7: DUP1
00001fc8: SWAP2
00001fc9: SUB
00001fca: SWAP1
00001fcb: REVERT
00001fcc: JUMPDEST
00001fcd: DUP1
00001fce: SWAP2
00001fcf: POP
00001fd0: POP
00001fd1: SWAP3
00001fd2: SWAP2
00001fd3: POP
00001fd4: POP
00001fd5: JUMP
00001fd6: JUMPDEST
00001fd7: PUSH1 0x00
00001fd9: PUSH2 0x2018
00001fdc: DUP4
00001fdd: DUP4
00001fde: PUSH1 0x40
00001fe0: MLOAD
00001fe1: DUP1
00001fe2: PUSH1 0x40
00001fe4: ADD
00001fe5: PUSH1 0x40
00001fe7: MSTORE
00001fe8: DUP1
00001fe9: PUSH1 0x1a
00001feb: DUP2
00001fec: MSTORE
00001fed: PUSH1 0x20
00001fef: ADD
00001ff0: PUSH32 0x536166654d6174683a206469766973696f6e206279207a65726f000000000000
00002011: DUP2
00002012: MSTORE
00002013: POP
00002014: PUSH2 0x2255
00002017: JUMP
00002018: JUMPDEST
00002019: SWAP1
0000201a: POP
0000201b: SWAP3
0000201c: SWAP2
0000201d: POP
0000201e: POP
0000201f: JUMP
00002020: JUMPDEST
00002021: PUSH1 0x00
00002023: DUP1
00002024: DUP4
00002025: EQ
00002026: ISZERO
00002027: PUSH2 0x2033
0000202a: JUMPI
0000202b: PUSH1 0x00
0000202d: SWAP1
0000202e: POP
0000202f: PUSH2 0x20a0
00002032: JUMP
00002033: JUMPDEST
00002034: PUSH1 0x00
00002036: DUP3
00002037: DUP5
00002038: MUL
00002039: SWAP1
0000203a: POP
0000203b: DUP3
0000203c: DUP5
0000203d: DUP3
0000203e: DUP2
0000203f: PUSH2 0x2044
00002042: JUMPI
00002043: INVALID
00002044: JUMPDEST
00002045: DIV
00002046: EQ
00002047: PUSH2 0x209b
0000204a: JUMPI
0000204b: PUSH1 0x40
0000204d: MLOAD
0000204e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000206f: DUP2
00002070: MSTORE
00002071: PUSH1 0x04
00002073: ADD
00002074: DUP1
00002075: DUP1
00002076: PUSH1 0x20
00002078: ADD
00002079: DUP3
0000207a: DUP2
0000207b: SUB
0000207c: DUP3
0000207d: MSTORE
0000207e: PUSH1 0x21
00002080: DUP2
00002081: MSTORE
00002082: PUSH1 0x20
00002084: ADD
00002085: DUP1
00002086: PUSH2 0x2618
00002089: PUSH1 0x21
0000208b: SWAP2
0000208c: CODECOPY
0000208d: PUSH1 0x40
0000208f: ADD
00002090: SWAP2
00002091: POP
00002092: POP
00002093: PUSH1 0x40
00002095: MLOAD
00002096: DUP1
00002097: SWAP2
00002098: SUB
00002099: SWAP1
0000209a: REVERT
0000209b: JUMPDEST
0000209c: DUP1
0000209d: SWAP2
0000209e: POP
0000209f: POP
000020a0: JUMPDEST
000020a1: SWAP3
000020a2: SWAP2
000020a3: POP
000020a4: POP
000020a5: JUMP
000020a6: JUMPDEST
000020a7: PUSH1 0x60
000020a9: PUSH2 0x2108
000020ac: DUP3
000020ad: PUSH1 0x40
000020af: MLOAD
000020b0: DUP1
000020b1: PUSH1 0x40
000020b3: ADD
000020b4: PUSH1 0x40
000020b6: MSTORE
000020b7: DUP1
000020b8: PUSH1 0x20
000020ba: DUP2
000020bb: MSTORE
000020bc: PUSH1 0x20
000020be: ADD
000020bf: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
000020e0: DUP2
000020e1: MSTORE
000020e2: POP
000020e3: DUP6
000020e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020f9: AND
000020fa: PUSH2 0x231b
000020fd: SWAP1
000020fe: SWAP3
000020ff: SWAP2
00002100: SWAP1
00002101: PUSH4 0xffffffff
00002106: AND
00002107: JUMP
00002108: JUMPDEST
00002109: SWAP1
0000210a: POP
0000210b: PUSH1 0x00
0000210d: DUP2
0000210e: MLOAD
0000210f: GT
00002110: ISZERO
00002111: PUSH2 0x2190
00002114: JUMPI
00002115: DUP1
00002116: DUP1
00002117: PUSH1 0x20
00002119: ADD
0000211a: SWAP1
0000211b: MLOAD
0000211c: PUSH1 0x20
0000211e: DUP2
0000211f: LT
00002120: ISZERO
00002121: PUSH2 0x2129
00002124: JUMPI
00002125: PUSH1 0x00
00002127: DUP1
00002128: REVERT
00002129: JUMPDEST
0000212a: DUP2
0000212b: ADD
0000212c: SWAP1
0000212d: DUP1
0000212e: DUP1
0000212f: MLOAD
00002130: SWAP1
00002131: PUSH1 0x20
00002133: ADD
00002134: SWAP1
00002135: SWAP3
00002136: SWAP2
00002137: SWAP1
00002138: POP
00002139: POP
0000213a: POP
0000213b: PUSH2 0x218f
0000213e: JUMPI
0000213f: PUSH1 0x40
00002141: MLOAD
00002142: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002163: DUP2
00002164: MSTORE
00002165: PUSH1 0x04
00002167: ADD
00002168: DUP1
00002169: DUP1
0000216a: PUSH1 0x20
0000216c: ADD
0000216d: DUP3
0000216e: DUP2
0000216f: SUB
00002170: DUP3
00002171: MSTORE
00002172: PUSH1 0x2a
00002174: DUP2
00002175: MSTORE
00002176: PUSH1 0x20
00002178: ADD
00002179: DUP1
0000217a: PUSH2 0x2639
0000217d: PUSH1 0x2a
0000217f: SWAP2
00002180: CODECOPY
00002181: PUSH1 0x40
00002183: ADD
00002184: SWAP2
00002185: POP
00002186: POP
00002187: PUSH1 0x40
00002189: MLOAD
0000218a: DUP1
0000218b: SWAP2
0000218c: SUB
0000218d: SWAP1
0000218e: REVERT
0000218f: JUMPDEST
00002190: JUMPDEST
00002191: POP
00002192: POP
00002193: POP
00002194: JUMP
00002195: JUMPDEST
00002196: PUSH1 0x00
00002198: DUP4
00002199: DUP4
0000219a: GT
0000219b: ISZERO
0000219c: DUP3
0000219d: SWAP1
0000219e: PUSH2 0x2242
000021a1: JUMPI
000021a2: PUSH1 0x40
000021a4: MLOAD
000021a5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000021c6: DUP2
000021c7: MSTORE
000021c8: PUSH1 0x04
000021ca: ADD
000021cb: DUP1
000021cc: DUP1
000021cd: PUSH1 0x20
000021cf: ADD
000021d0: DUP3
000021d1: DUP2
000021d2: SUB
000021d3: DUP3
000021d4: MSTORE
000021d5: DUP4
000021d6: DUP2
000021d7: DUP2
000021d8: MLOAD
000021d9: DUP2
000021da: MSTORE
000021db: PUSH1 0x20
000021dd: ADD
000021de: SWAP2
000021df: POP
000021e0: DUP1
000021e1: MLOAD
000021e2: SWAP1
000021e3: PUSH1 0x20
000021e5: ADD
000021e6: SWAP1
000021e7: DUP1
000021e8: DUP4
000021e9: DUP4
000021ea: PUSH1 0x00
000021ec: JUMPDEST
000021ed: DUP4
000021ee: DUP2
000021ef: LT
000021f0: ISZERO
000021f1: PUSH2 0x2207
000021f4: JUMPI
000021f5: DUP1
000021f6: DUP3
000021f7: ADD
000021f8: MLOAD
000021f9: DUP2
000021fa: DUP5
000021fb: ADD
000021fc: MSTORE
000021fd: PUSH1 0x20
000021ff: DUP2
00002200: ADD
00002201: SWAP1
00002202: POP
00002203: PUSH2 0x21ec
00002206: JUMP
00002207: JUMPDEST
00002208: POP
00002209: POP
0000220a: POP
0000220b: POP
0000220c: SWAP1
0000220d: POP
0000220e: SWAP1
0000220f: DUP2
00002210: ADD
00002211: SWAP1
00002212: PUSH1 0x1f
00002214: AND
00002215: DUP1
00002216: ISZERO
00002217: PUSH2 0x2234
0000221a: JUMPI
0000221b: DUP1
0000221c: DUP3
0000221d: SUB
0000221e: DUP1
0000221f: MLOAD
00002220: PUSH1 0x01
00002222: DUP4
00002223: PUSH1 0x20
00002225: SUB
00002226: PUSH2 0x0100
00002229: EXP
0000222a: SUB
0000222b: NOT
0000222c: AND
0000222d: DUP2
0000222e: MSTORE
0000222f: PUSH1 0x20
00002231: ADD
00002232: SWAP2
00002233: POP
00002234: JUMPDEST
00002235: POP
00002236: SWAP3
00002237: POP
00002238: POP
00002239: POP
0000223a: PUSH1 0x40
0000223c: MLOAD
0000223d: DUP1
0000223e: SWAP2
0000223f: SUB
00002240: SWAP1
00002241: REVERT
00002242: JUMPDEST
00002243: POP
00002244: PUSH1 0x00
00002246: DUP4
00002247: DUP6
00002248: SUB
00002249: SWAP1
0000224a: POP
0000224b: DUP1
0000224c: SWAP2
0000224d: POP
0000224e: POP
0000224f: SWAP4
00002250: SWAP3
00002251: POP
00002252: POP
00002253: POP
00002254: JUMP
00002255: JUMPDEST
00002256: PUSH1 0x00
00002258: DUP1
00002259: DUP4
0000225a: GT
0000225b: DUP3
0000225c: SWAP1
0000225d: PUSH2 0x2301
00002260: JUMPI
00002261: PUSH1 0x40
00002263: MLOAD
00002264: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002285: DUP2
00002286: MSTORE
00002287: PUSH1 0x04
00002289: ADD
0000228a: DUP1
0000228b: DUP1
0000228c: PUSH1 0x20
0000228e: ADD
0000228f: DUP3
00002290: DUP2
00002291: SUB
00002292: DUP3
00002293: MSTORE
00002294: DUP4
00002295: DUP2
00002296: DUP2
00002297: MLOAD
00002298: DUP2
00002299: MSTORE
0000229a: PUSH1 0x20
0000229c: ADD
0000229d: SWAP2
0000229e: POP
0000229f: DUP1
000022a0: MLOAD
000022a1: SWAP1
000022a2: PUSH1 0x20
000022a4: ADD
000022a5: SWAP1
000022a6: DUP1
000022a7: DUP4
000022a8: DUP4
000022a9: PUSH1 0x00
000022ab: JUMPDEST
000022ac: DUP4
000022ad: DUP2
000022ae: LT
000022af: ISZERO
000022b0: PUSH2 0x22c6
000022b3: JUMPI
000022b4: DUP1
000022b5: DUP3
000022b6: ADD
000022b7: MLOAD
000022b8: DUP2
000022b9: DUP5
000022ba: ADD
000022bb: MSTORE
000022bc: PUSH1 0x20
000022be: DUP2
000022bf: ADD
000022c0: SWAP1
000022c1: POP
000022c2: PUSH2 0x22ab
000022c5: JUMP
000022c6: JUMPDEST
000022c7: POP
000022c8: POP
000022c9: POP
000022ca: POP
000022cb: SWAP1
000022cc: POP
000022cd: SWAP1
000022ce: DUP2
000022cf: ADD
000022d0: SWAP1
000022d1: PUSH1 0x1f
000022d3: AND
000022d4: DUP1
000022d5: ISZERO
000022d6: PUSH2 0x22f3
000022d9: JUMPI
000022da: DUP1
000022db: DUP3
000022dc: SUB
000022dd: DUP1
000022de: MLOAD
000022df: PUSH1 0x01
000022e1: DUP4
000022e2: PUSH1 0x20
000022e4: SUB
000022e5: PUSH2 0x0100
000022e8: EXP
000022e9: SUB
000022ea: NOT
000022eb: AND
000022ec: DUP2
000022ed: MSTORE
000022ee: PUSH1 0x20
000022f0: ADD
000022f1: SWAP2
000022f2: POP
000022f3: JUMPDEST
000022f4: POP
000022f5: SWAP3
000022f6: POP
000022f7: POP
000022f8: POP
000022f9: PUSH1 0x40
000022fb: MLOAD
000022fc: DUP1
000022fd: SWAP2
000022fe: SUB
000022ff: SWAP1
00002300: REVERT
00002301: JUMPDEST
00002302: POP
00002303: PUSH1 0x00
00002305: DUP4
00002306: DUP6
00002307: DUP2
00002308: PUSH2 0x230d
0000230b: JUMPI
0000230c: INVALID
0000230d: JUMPDEST
0000230e: DIV
0000230f: SWAP1
00002310: POP
00002311: DUP1
00002312: SWAP2
00002313: POP
00002314: POP
00002315: SWAP4
00002316: SWAP3
00002317: POP
00002318: POP
00002319: POP
0000231a: JUMP
0000231b: JUMPDEST
0000231c: PUSH1 0x60
0000231e: PUSH2 0x232a
00002321: DUP5
00002322: DUP5
00002323: PUSH1 0x00
00002325: DUP6
00002326: PUSH2 0x2333
00002329: JUMP
0000232a: JUMPDEST
0000232b: SWAP1
0000232c: POP
0000232d: SWAP4
0000232e: SWAP3
0000232f: POP
00002330: POP
00002331: POP
00002332: JUMP
00002333: JUMPDEST
00002334: PUSH1 0x60
00002336: DUP3
00002337: SELFBALANCE
00002338: LT
00002339: ISZERO
0000233a: PUSH2 0x238e
0000233d: JUMPI
0000233e: PUSH1 0x40
00002340: MLOAD
00002341: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002362: DUP2
00002363: MSTORE
00002364: PUSH1 0x04
00002366: ADD
00002367: DUP1
00002368: DUP1
00002369: PUSH1 0x20
0000236b: ADD
0000236c: DUP3
0000236d: DUP2
0000236e: SUB
0000236f: DUP3
00002370: MSTORE
00002371: PUSH1 0x26
00002373: DUP2
00002374: MSTORE
00002375: PUSH1 0x20
00002377: ADD
00002378: DUP1
00002379: PUSH2 0x25f2
0000237c: PUSH1 0x26
0000237e: SWAP2
0000237f: CODECOPY
00002380: PUSH1 0x40
00002382: ADD
00002383: SWAP2
00002384: POP
00002385: POP
00002386: PUSH1 0x40
00002388: MLOAD
00002389: DUP1
0000238a: SWAP2
0000238b: SUB
0000238c: SWAP1
0000238d: REVERT
0000238e: JUMPDEST
0000238f: PUSH2 0x2397
00002392: DUP6
00002393: PUSH2 0x1e7a
00002396: JUMP
00002397: JUMPDEST
00002398: PUSH2 0x2409
0000239b: JUMPI
0000239c: PUSH1 0x40
0000239e: MLOAD
0000239f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000023c0: DUP2
000023c1: MSTORE
000023c2: PUSH1 0x04
000023c4: ADD
000023c5: DUP1
000023c6: DUP1
000023c7: PUSH1 0x20
000023c9: ADD
000023ca: DUP3
000023cb: DUP2
000023cc: SUB
000023cd: DUP3
000023ce: MSTORE
000023cf: PUSH1 0x1d
000023d1: DUP2
000023d2: MSTORE
000023d3: PUSH1 0x20
000023d5: ADD
000023d6: DUP1
000023d7: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
000023f8: DUP2
000023f9: MSTORE
000023fa: POP
000023fb: PUSH1 0x20
000023fd: ADD
000023fe: SWAP2
000023ff: POP
00002400: POP
00002401: PUSH1 0x40
00002403: MLOAD
00002404: DUP1
00002405: SWAP2
00002406: SUB
00002407: SWAP1
00002408: REVERT
00002409: JUMPDEST
0000240a: PUSH1 0x00
0000240c: PUSH1 0x60
0000240e: DUP7
0000240f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002424: AND
00002425: DUP6
00002426: DUP8
00002427: PUSH1 0x40
00002429: MLOAD
0000242a: DUP1
0000242b: DUP3
0000242c: DUP1
0000242d: MLOAD
0000242e: SWAP1
0000242f: PUSH1 0x20
00002431: ADD
00002432: SWAP1
00002433: DUP1
00002434: DUP4
00002435: DUP4
00002436: JUMPDEST
00002437: PUSH1 0x20
00002439: DUP4
0000243a: LT
0000243b: PUSH2 0x2459
0000243e: JUMPI
0000243f: DUP1
00002440: MLOAD
00002441: DUP3
00002442: MSTORE
00002443: PUSH1 0x20
00002445: DUP3
00002446: ADD
00002447: SWAP2
00002448: POP
00002449: PUSH1 0x20
0000244b: DUP2
0000244c: ADD
0000244d: SWAP1
0000244e: POP
0000244f: PUSH1 0x20
00002451: DUP4
00002452: SUB
00002453: SWAP3
00002454: POP
00002455: PUSH2 0x2436
00002458: JUMP
00002459: JUMPDEST
0000245a: PUSH1 0x01
0000245c: DUP4
0000245d: PUSH1 0x20
0000245f: SUB
00002460: PUSH2 0x0100
00002463: EXP
00002464: SUB
00002465: DUP1
00002466: NOT
00002467: DUP3
00002468: MLOAD
00002469: AND
0000246a: DUP2
0000246b: DUP5
0000246c: MLOAD
0000246d: AND
0000246e: DUP1
0000246f: DUP3
00002470: OR
00002471: DUP6
00002472: MSTORE
00002473: POP
00002474: POP
00002475: POP
00002476: POP
00002477: POP
00002478: POP
00002479: SWAP1
0000247a: POP
0000247b: ADD
0000247c: SWAP2
0000247d: POP
0000247e: POP
0000247f: PUSH1 0x00
00002481: PUSH1 0x40
00002483: MLOAD
00002484: DUP1
00002485: DUP4
00002486: SUB
00002487: DUP2
00002488: DUP6
00002489: DUP8
0000248a: GAS
0000248b: CALL
0000248c: SWAP3
0000248d: POP
0000248e: POP
0000248f: POP
00002490: RETURNDATASIZE
00002491: DUP1
00002492: PUSH1 0x00
00002494: DUP2
00002495: EQ
00002496: PUSH2 0x24bb
00002499: JUMPI
0000249a: PUSH1 0x40
0000249c: MLOAD
0000249d: SWAP2
0000249e: POP
0000249f: PUSH1 0x1f
000024a1: NOT
000024a2: PUSH1 0x3f
000024a4: RETURNDATASIZE
000024a5: ADD
000024a6: AND
000024a7: DUP3
000024a8: ADD
000024a9: PUSH1 0x40
000024ab: MSTORE
000024ac: RETURNDATASIZE
000024ad: DUP3
000024ae: MSTORE
000024af: RETURNDATASIZE
000024b0: PUSH1 0x00
000024b2: PUSH1 0x20
000024b4: DUP5
000024b5: ADD
000024b6: RETURNDATACOPY
000024b7: PUSH2 0x24c0
000024ba: JUMP
000024bb: JUMPDEST
000024bc: PUSH1 0x60
000024be: SWAP2
000024bf: POP
000024c0: JUMPDEST
000024c1: POP
000024c2: SWAP2
000024c3: POP
000024c4: SWAP2
000024c5: POP
000024c6: PUSH2 0x24d0
000024c9: DUP3
000024ca: DUP3
000024cb: DUP7
000024cc: PUSH2 0x24dc
000024cf: JUMP
000024d0: JUMPDEST
000024d1: SWAP3
000024d2: POP
000024d3: POP
000024d4: POP
000024d5: SWAP5
000024d6: SWAP4
000024d7: POP
000024d8: POP
000024d9: POP
000024da: POP
000024db: JUMP
000024dc: JUMPDEST
000024dd: PUSH1 0x60
000024df: DUP4
000024e0: ISZERO
000024e1: PUSH2 0x24ec
000024e4: JUMPI
000024e5: DUP3
000024e6: SWAP1
000024e7: POP
000024e8: PUSH2 0x25a1
000024eb: JUMP
000024ec: JUMPDEST
000024ed: PUSH1 0x00
000024ef: DUP4
000024f0: MLOAD
000024f1: GT
000024f2: ISZERO
000024f3: PUSH2 0x24ff
000024f6: JUMPI
000024f7: DUP3
000024f8: MLOAD
000024f9: DUP1
000024fa: DUP5
000024fb: PUSH1 0x20
000024fd: ADD
000024fe: REVERT
000024ff: JUMPDEST
00002500: DUP2
00002501: PUSH1 0x40
00002503: MLOAD
00002504: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002525: DUP2
00002526: MSTORE
00002527: PUSH1 0x04
00002529: ADD
0000252a: DUP1
0000252b: DUP1
0000252c: PUSH1 0x20
0000252e: ADD
0000252f: DUP3
00002530: DUP2
00002531: SUB
00002532: DUP3
00002533: MSTORE
00002534: DUP4
00002535: DUP2
00002536: DUP2
00002537: MLOAD
00002538: DUP2
00002539: MSTORE
0000253a: PUSH1 0x20
0000253c: ADD
0000253d: SWAP2
0000253e: POP
0000253f: DUP1
00002540: MLOAD
00002541: SWAP1
00002542: PUSH1 0x20
00002544: ADD
00002545: SWAP1
00002546: DUP1
00002547: DUP4
00002548: DUP4
00002549: PUSH1 0x00
0000254b: JUMPDEST
0000254c: DUP4
0000254d: DUP2
0000254e: LT
0000254f: ISZERO
00002550: PUSH2 0x2566
00002553: JUMPI
00002554: DUP1
00002555: DUP3
00002556: ADD
00002557: MLOAD
00002558: DUP2
00002559: DUP5
0000255a: ADD
0000255b: MSTORE
0000255c: PUSH1 0x20
0000255e: DUP2
0000255f: ADD
00002560: SWAP1
00002561: POP
00002562: PUSH2 0x254b
00002565: JUMP
00002566: JUMPDEST
00002567: POP
00002568: POP
00002569: POP
0000256a: POP
0000256b: SWAP1
0000256c: POP
0000256d: SWAP1
0000256e: DUP2
0000256f: ADD
00002570: SWAP1
00002571: PUSH1 0x1f
00002573: AND
00002574: DUP1
00002575: ISZERO
00002576: PUSH2 0x2593
00002579: JUMPI
0000257a: DUP1
0000257b: DUP3
0000257c: SUB
0000257d: DUP1
0000257e: MLOAD
0000257f: PUSH1 0x01
00002581: DUP4
00002582: PUSH1 0x20
00002584: SUB
00002585: PUSH2 0x0100
00002588: EXP
00002589: SUB
0000258a: NOT
0000258b: AND
0000258c: DUP2
0000258d: MSTORE
0000258e: PUSH1 0x20
00002590: ADD
00002591: SWAP2
00002592: POP
00002593: JUMPDEST
00002594: POP
00002595: SWAP3
00002596: POP
00002597: POP
00002598: POP
00002599: PUSH1 0x40
0000259b: MLOAD
0000259c: DUP1
0000259d: SWAP2
0000259e: SUB
0000259f: SWAP1
000025a0: REVERT
000025a1: JUMPDEST
000025a2: SWAP4
000025a3: SWAP3
000025a4: POP
000025a5: POP
000025a6: POP
000025a7: JUMP
000025a8: INVALID
000025a9: UNKNOWN(0x4F)
000025aa: PUSH24 0x6e61626c653a206e6577206f776e65722069732074686520
000025c3: PUSH27 0x65726f2061646472657373506c656173652075736520796f757220
000025df: PUSH10 0x6e646976696475616c20
000025ea: PUSH2 0x6363
000025ed: PUSH16 0x756e742e416464726573733a20696e73
000025fe: PUSH22 0x6666696369656e742062616c616e636520666f722063
00002615: PUSH2 0x6c6c
00002618: MSTORE8
00002619: PUSH2 0x6665
0000261c: UNKNOWN(0x4D)
0000261d: PUSH2 0x7468
00002620: GASPRICE
00002621: KECCAK256
00002622: PUSH14 0x756c7469706c69636174696f6e20
00002631: PUSH16 0x766572666c6f77536166654552433230
00002642: GASPRICE
00002643: KECCAK256
00002644: GASLIMIT
00002645: MSTORE
00002646: NUMBER
00002647: ORIGIN
00002648: ADDRESS
00002649: KECCAK256
0000264a: PUSH16 0x7065726174696f6e20646964206e6f74
0000265b: KECCAK256
0000265c: PUSH20 0x756363656564a26469706673582212200bad5d43
00002671: EXTCODESIZE
00002672: PUSH26 0x09bae86681a427806a85b327543ff00fcb1b2a34aeabda976eb8
0000268d: PUSH5 0x736f6c6343
00002693: STOP
00002694: SMOD
00002695: MUL
00002696: STOP
00002697: 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": "0xdbe93451",
            "selector": "0xdbe93451",
            "calldata_variants": [
                "0xdbe93451",
                "0xdbe934510000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf5ae497a",
            "selector": "0xf5ae497a",
            "calldata_variants": [
                "0xf5ae497a",
                "0xf5ae497a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfb0e487a",
            "selector": "0xfb0e487a",
            "calldata_variants": [
                "0xfb0e487a",
                "0xfb0e487a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc6570d85",
            "selector": "0xc6570d85",
            "calldata_variants": [
                "0xc6570d85",
                "0xc6570d850000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc8f33c91",
            "selector": "0xc8f33c91",
            "calldata_variants": [
                "0xc8f33c91",
                "0xc8f33c910000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcd3daf9d",
            "selector": "0xcd3daf9d",
            "calldata_variants": [
                "0xcd3daf9d",
                "0xcd3daf9d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xda09c72c",
            "selector": "0xda09c72c",
            "calldata_variants": [
                "0xda09c72c",
                "0xda09c72c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 3233,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 9799,
            "type": "tx_origin_used"
        }
    ]
}
medium reentrancy codex LPToDOKI.withdraw updates balances after external token transfer 75 no
view
evidence_json
{
    "evidence": "`withdraw` calls `lpToken.safeTransfer(msg.sender, amount)` before reducing `_lpBalances` and `_lpTotalSupply`. `stake` uses `isContract` which can be bypassed during construction.",
    "locations": [
        "contracts/Contract.sol:1048",
        "contracts/Contract.sol:1052",
        "contracts/Contract.sol:1053",
        "contracts/Contract.sol:1040"
    ],
    "recommendation": "Apply checks-effects-interactions: decrement `_lpBalances`/`_lpTotalSupply` before calling `lpToken.safeTransfer`, or add `ReentrancyGuard` to withdraw. Do not rely on `isContract` for access control; if contracts must be blocked, use explicit allowlists.",
    "exploit_scenario": "An attacker deploys a contract that stakes during its constructor (bypassing the isContract check), then calls withdraw. If the LP token is ERC777/677-like or otherwise reentrant, the token transfer to the attacker contract triggers a callback that re-enters withdraw before `_lpBalances`/`_lpTotalSupply` are decreased, allowing repeated withdrawals and draining the pool\u2019s LP tokens."
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0xfbd12badcd0db31e9727abd60d357f839953ee1569ac130f1cd8ab0f3657f9da
call_targets: 0xde846827ce3022ecd5efd6ed316a2def9ab299b8
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xfbd12badcd0db31e9727abd60d357f839953ee1569ac130f1cd8ab0f3657f9da",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xde846827ce3022ecd5efd6ed316a2def9ab299b8"
    ],
    "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": "0xdbe93451",
            "selector": "0xdbe93451",
            "calldata_variants": [
                "0xdbe93451",
                "0xdbe934510000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf5ae497a",
            "selector": "0xf5ae497a",
            "calldata_variants": [
                "0xf5ae497a",
                "0xf5ae497a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfb0e487a",
            "selector": "0xfb0e487a",
            "calldata_variants": [
                "0xfb0e487a",
                "0xfb0e487a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc6570d85",
            "selector": "0xc6570d85",
            "calldata_variants": [
                "0xc6570d85",
                "0xc6570d850000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc8f33c91",
            "selector": "0xc8f33c91",
            "calldata_variants": [
                "0xc8f33c91",
                "0xc8f33c910000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcd3daf9d",
            "selector": "0xcd3daf9d",
            "calldata_variants": [
                "0xcd3daf9d",
                "0xcd3daf9d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xda09c72c",
            "selector": "0xda09c72c",
            "calldata_variants": [
                "0xda09c72c",
                "0xda09c72c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4499,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5560,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7200,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 4,
    "guards_detected": [
        {
            "pc": 3233,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 9799,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 4
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0xfbd12badcd0db31e9727abd60d357f839953ee1569ac130f1cd8ab0f3657f9da
call_targets: 0xde846827ce3022ecd5efd6ed316a2def9ab299b8
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xfbd12badcd0db31e9727abd60d357f839953ee1569ac130f1cd8ab0f3657f9da",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xde846827ce3022ecd5efd6ed316a2def9ab299b8"
    ],
    "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": "0xdbe93451",
            "selector": "0xdbe93451",
            "calldata_variants": [
                "0xdbe93451",
                "0xdbe934510000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf5ae497a",
            "selector": "0xf5ae497a",
            "calldata_variants": [
                "0xf5ae497a",
                "0xf5ae497a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfb0e487a",
            "selector": "0xfb0e487a",
            "calldata_variants": [
                "0xfb0e487a",
                "0xfb0e487a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc6570d85",
            "selector": "0xc6570d85",
            "calldata_variants": [
                "0xc6570d85",
                "0xc6570d850000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc8f33c91",
            "selector": "0xc8f33c91",
            "calldata_variants": [
                "0xc8f33c91",
                "0xc8f33c910000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcd3daf9d",
            "selector": "0xcd3daf9d",
            "calldata_variants": [
                "0xcd3daf9d",
                "0xcd3daf9d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xda09c72c",
            "selector": "0xda09c72c",
            "calldata_variants": [
                "0xda09c72c",
                "0xda09c72c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4499,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5560,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7200,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 4,
    "guards_detected": [
        {
            "pc": 3233,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 9799,
            "type": "tx_origin_used"
        }
    ]
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 5
}