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

Analysis Run

7fb51998-f809-4e92-b921-e783e72a0f6f

complete
Chain ID
1
Address
Block Number
Created
Mon, Jan 5, 2026 7:37 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
Sold keys still count toward lucky pot distribution, enabling pot drain after selling
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
31745 report.consolidate complete 1 / 1 3 months ago
95893 artifact.fetch complete 1 / 3 1 week ago
95894 tool.cast_disasm complete 1 / 3 1 week ago
95895 analysis.bundle complete 1 / 3 1 week ago
95896 capability.graph complete 1 / 3 1 week ago
95897 detector.run complete 1 / 3 1 week ago
95898 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
1
No findings?
no
Summary
Found a concrete profit path: sold keys remain credited for lucky-pot payouts, letting an attacker reclaim principal while still earning a large share of the pot.
View stderr
[codex:332569] OpenAI Codex v0.77.0 (research preview)
[codex:332569] --------
[codex:332569] workdir: /tmp/codex-multi-cfhhnizl
[codex:332569] model: gpt-5.2-codex
[codex:332569] provider: openai
[codex:332569] approval: never
[codex:332569] sandbox: read-only
[codex:332569] reasoning effort: xhigh
[codex:332569] reasoning summaries: auto
[codex:332569] session id: 019b8fa5-9941-7861-90c3-d740fac814ce
[codex:332569] --------
[codex:332569] user
[codex:332569] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:332569] 
[codex:332569] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:332569] 
[codex:332569] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:332569] - Gas inefficiency, code quality, naming, or best practices
[codex:332569] - Theoretical vulnerabilities without a clear extraction path
[codex:332569] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:332569] - Front-running unless it enables theft beyond MEV
[codex:332569] - DoS, griefing, or issues that don't result in attacker profit
[codex:332569] - Missing events, view function issues, or informational findings
[codex:332569] 
[codex:332569] HIGH-VALUE PATTERNS TO HUNT:
[codex:332569] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:332569] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:332569] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:332569] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:332569] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:332569] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:332569] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:332569] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:332569] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:332569] 
[codex:332569] For each finding, you MUST provide:
[codex:332569] 1. Exact file and line numbers of vulnerable code
[codex:332569] 2. Step-by-step exploit transaction sequence
[codex:332569] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:332569] 
[codex:332569] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:332569] 
[codex:332569] Output MUST be valid JSON matching the provided schema.
[codex:332569] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:332569] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:332569] mcp startup: no servers
[codex:332569] 
[codex:332569] thinking
[codex:332569] **Reading instructions and audit bundle**
[codex:332569] exec
[codex:332569] /bin/bash -lc ls in /tmp/codex-multi-cfhhnizl succeeded in 5ms:
[codex:332569] AUDIT_BUNDLE.txt
[codex:332569] codex-output-schema.json
[codex:332569] contracts
[codex:332569] exec
[codex:332569] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-cfhhnizl succeeded in 6ms:
[codex:332569] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:332569] 
[codex:332569] ================================================================================
[codex:332569] FILE: contracts/Contract.sol
[codex:332569] ================================================================================
[codex:332569] pragma solidity ^0.4.23;
[codex:332569] 
[codex:332569] contract Events {
[codex:332569]     event onActive();
[codex:332569] 
[codex:332569]     event onOuterDividend
[codex:332569]     (
[codex:332569]         uint256 _dividends
[codex:332569]     );
[codex:332569] 
[codex:332569]     event onBuyKey
[codex:332569]     (
[codex:332569]         address _address,
[codex:332569]         uint256 _pID,
[codex:332569]         uint256 _rID,
[codex:332569] 
[codex:332569] 
[codex:332569] 
[codex:332569] 
[codex:332569] 
[codex:332569] thinking
[codex:332569] **Examining reentrancy and storage nuances for exploits**
[codex:332569] 
[codex:332569] I'm carefully analyzing potential reentrancy vulnerabilities around external calls that happen before state changes complete, especially in `endRound`. I’m also digging into Solidity 0.4.23’s default data locations for struct variables to see if state updates might be lost due to unexpected memory usage. This exploration includes checking how player and round structs are handled to spot inconsistencies that could allow double withdrawals or skipped game rounds, and I'm verifying arithmetic and masking logic for dividend-related exploits. There is a lot here involving subtle interactions and possible reentrancy through external calls paired with state update timing, so I’m trying to connect the dots thoroughly.
[codex:332569] thinking
[codex:332569] **Investigating arithmetic, dividend logic, and pot distribution quirks**
[codex:332569] 
[codex:332569] I’m examining signed integer wraparound risks in dividend masks, concluding that extreme underflows are unrealistic due to Solidity’s large int256 range. Then I carefully verify the lucky bonus calculation flow to rule out double-claim exploits, noticing that state updates prevent repeated claims. I’m also investigating rounding and fee interactions in buy-sell cycles for potential profit paths but finding no obvious vulnerabilities beyond standard edge cases. Finally, I’m analyzing pot distribution conditions and timing, spotting a likely logic issue where pot accumulates across rounds without immediate distribution, possibly affecting game fairness rather than yielding direct profit. This is a complex set of interconnected details, so I’m piecing together how these might or might not be exploitable.
[codex:332569] thinking
[codex:332569] **Examining pot accumulation and key sell accounting flaw**
[codex:332569] 
[codex:332569] I’m exploring how pot funds carry over and rounds frequently reset due to investment thresholds, causing pot to accumulate across rounds without immediate distribution. A key discovery is that when players sell keys, the per-round key counts used for pot distribution don’t decrease, letting sellers retain eligibility for pot shares even without holding keys anymore. This mismatch could let someone buy keys, sell them to recoup most funds minus fees, and still claim a share of the pot later, potentially profiting beyond normal rules. This looks like a concrete exploit in the accounting of keys per round and pot payout logic that could let an attacker extract value at a low net cost.
[codex:332569] thinking
[codex:332569] **Analyzing detailed pot distribution and selling timing impact**
[codex:332569] 
[codex:332569] I’m testing realistic values to confirm how pot size, investment thresholds, and timing interact to enable pot distribution after inactivity with small investments. The key insight is that pot distribution only occurs if the round ends due to time (now > end), not early from investment exceeding pot threshold. This lets an attacker buy keys below the threshold, then sell immediately—without reducing per-round key counts—to recoup most funds minus fees, and later claim an outsized share of the accumulated pot after round end. The interplay of endRound calls, round increments, and player round tracking all align to support this exploit path, which depends on the sell function not reducing per-round keys, allowing profit extraction with minimal net cost by cycling buys and sells ahead of inactivity periods.
[codex:332569] thinking
[codex:332569] **Confirming exploit sequence via misaccounted sells and pot timing**
[codex:332569] 
[codex:332569] I’m outlining a clear, step-by-step exploit where an attacker waits for a large pot, buys keys with minimal risk, sells them immediately (without reducing per-round keys), holds through inactivity, then claims a disproportionate pot share when round ends by time. This confirms the logic flaw allowing profit extraction by double-dipping via the unchanged per-round keys despite selling. Next, I'll identify exact file and line references for clarity.
[codex:332569] exec
[codex:332569] /bin/bash -lc 'nl -ba contracts/Contract.sol' in /tmp/codex-multi-cfhhnizl succeeded in 8ms:
[codex:332569]      1	pragma solidity ^0.4.23;
[codex:332569]      2	
[codex:332569]      3	contract Events {
[codex:332569]      4	    event onActive();
[codex:332569]      5	
[codex:332569]      6	    event onOuterDividend
[codex:332569]      7	    (
[codex:332569]      8	        uint256 _dividends
[codex:332569]      9	    );
[codex:332569]     10	
[codex:332569]     11	    event onBuyKey
[codex:332569]     12	    (
[codex:332569]     13	        address _address,
[codex:332569]     14	        uint256 _pID,
[codex:332569]     15	        uint256 _rID,
[codex:332569]     16	        uint256 _eth,
[codex:332569]     17	        uint256 _key,
[codex:332569]     18	        bool _timeExtended
[codex:332569]     19	    );
[codex:332569]     20	
[codex:332569] 
[codex:332569] thinking
[codex:332569] **Preparing detailed vulnerability report**
[codex:332569] 
[codex:332569] I’m outlining a JSON report for a smart contract math bug where sold keys still count for lucky pot payouts, allowing attackers to drain the pot. I’m including exact file locations, severity as high, a clear exploit scenario, evidence from specific code lines, and recommendations to fix the accounting error. This will meet the output schema with a brief summary and comprehensive findings array.
[codex:332569] codex
[codex:332569] {"no_findings":false,"summary":"Found a concrete profit path: sold keys remain credited for lucky-pot payouts, letting an attacker reclaim principal while still earning a large share of the pot.","findings":[{"severity":"high","category":"math","title":"Sold keys still count toward lucky pot distribution, enabling pot drain after selling","exploit_scenario":"1) Wait until `pot_` is large relative to the current round so that `round.investment <= pot_ * luckyEdge / 100` can hold (this lets the round run to expiry and pays the pot). 2) Buy a large amount of keys in the current round via the fallback or `reLoad()`, inflating both `round_[rID_].keys` and `plyrRnds_[pID][rID_]`. 3) Immediately call `sell(_amountOfkeys)` to liquidate all keys and recover most ETH (minus the sell fee). Because `sell()` does not decrement `round_[rID_].keys` or `plyrRnds_[pID][rID_]`, your recorded round keys remain high despite holding zero keys. 4) After `rndInit_` passes with no interaction that ends the round early, call `withdraw()`; `endRound()` computes `ppk` using the inflated `round_[rID_].keys`, and `getPlayerLuckyBonus()` pays you based on `plyrRnds_` for that round. Net result: you regain principal (less sell fee) and still claim a large share of the pot funded by other users.","recommendation":"On `sell()`, decrement `round_[rID_].keys` and `plyrRnds_[pID][rID_]` by `_amountOfkeys` (and adjust `round_[rID_].investment` if intended), or snapshot pot eligibility by current `plyr_.keys` at payout time so sold keys no longer earn lucky rewards.","evidence":"`purchaseKeys()` increases `round_[rID_].keys` and `plyrRnds_[pID][rID_]`, but `sell()` only reduces `keySupply_` and `plyr_.keys`; pot payouts use `round_[rID_].keys` and `plyrRnds_` to compute rewards.","locations":["contracts/Contract.sol:312","contracts/Contract.sol:341","contracts/Contract.sol:344","contracts/Contract.sol:191","contracts/Contract.sol:208","contracts/Contract.sol:210","contracts/Contract.sol:293","contracts/Contract.sol:298","contracts/Contract.sol:443","contracts/Contract.sol:446","contracts/Contract.sol:449"]}]}
[codex:332569] tokens used
[codex:332569] 39,879
[codex:332569] {"no_findings":false,"summary":"Found a concrete profit path: sold keys remain credited for lucky-pot payouts, letting an attacker reclaim principal while still earning a large share of the pot.","findings":[{"severity":"high","category":"math","title":"Sold keys still count toward lucky pot distribution, enabling pot drain after selling","exploit_scenario":"1) Wait until `pot_` is large relative to the current round so that `round.investment <= pot_ * luckyEdge / 100` can hold (this lets the round run to expiry and pays the pot). 2) Buy a large amount of keys in the current round via the fallback or `reLoad()`, inflating both `round_[rID_].keys` and `plyrRnds_[pID][rID_]`. 3) Immediately call `sell(_amountOfkeys)` to liquidate all keys and recover most ETH (minus the sell fee). Because `sell()` does not decrement `round_[rID_].keys` or `plyrRnds_[pID][rID_]`, your recorded round keys remain high despite holding zero keys. 4) After `rndInit_` passes with no interaction that ends the round early, call `withdraw()`; `endRound()` computes `ppk` using the inflated `round_[rID_].keys`, and `getPlayerLuckyBonus()` pays you based on `plyrRnds_` for that round. Net result: you regain principal (less sell fee) and still claim a large share of the pot funded by other users.","recommendation":"On `sell()`, decrement `round_[rID_].keys` and `plyrRnds_[pID][rID_]` by `_amountOfkeys` (and adjust `round_[rID_].investment` if intended), or snapshot pot eligibility by current `plyr_.keys` at payout time so sold keys no longer earn lucky rewards.","evidence":"`purchaseKeys()` increases `round_[rID_].keys` and `plyrRnds_[pID][rID_]`, but `sell()` only reduces `keySupply_` and `plyr_.keys`; pot payouts use `round_[rID_].keys` and `plyrRnds_` to compute rewards.","locations":["contracts/Contract.sol:312","contracts/Contract.sol:341","contracts/Contract.sol:344","contracts/Contract.sol:191","contracts/Contract.sol:208","contracts/Contract.sol:210","contracts/Contract.sol:293","contracts/Contract.sol:298","contracts/Contract.sol:443","contracts/Contract.sol:446","contracts/Contract.sol:449"]}]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-05T19:37:56.210420+00:00",
        "returncode": 0
    },
    "summary": "Found a concrete profit path: sold keys remain credited for lucky-pot payouts, letting an attacker reclaim principal while still earning a large share of the pot.",
    "raw_final": {
        "summary": "Found a concrete profit path: sold keys remain credited for lucky-pot payouts, letting an attacker reclaim principal while still earning a large share of the pot.",
        "findings": [
            {
                "title": "Sold keys still count toward lucky pot distribution, enabling pot drain after selling",
                "category": "math",
                "evidence": "`purchaseKeys()` increases `round_[rID_].keys` and `plyrRnds_[pID][rID_]`, but `sell()` only reduces `keySupply_` and `plyr_.keys`; pot payouts use `round_[rID_].keys` and `plyrRnds_` to compute rewards.",
                "severity": "high",
                "locations": [
                    "contracts/Contract.sol:312",
                    "contracts/Contract.sol:341",
                    "contracts/Contract.sol:344",
                    "contracts/Contract.sol:191",
                    "contracts/Contract.sol:208",
                    "contracts/Contract.sol:210",
                    "contracts/Contract.sol:293",
                    "contracts/Contract.sol:298",
                    "contracts/Contract.sol:443",
                    "contracts/Contract.sol:446",
                    "contracts/Contract.sol:449"
                ],
                "recommendation": "On `sell()`, decrement `round_[rID_].keys` and `plyrRnds_[pID][rID_]` by `_amountOfkeys` (and adjust `round_[rID_].investment` if intended), or snapshot pot eligibility by current `plyr_.keys` at payout time so sold keys no longer earn lucky rewards.",
                "exploit_scenario": "1) Wait until `pot_` is large relative to the current round so that `round.investment <= pot_ * luckyEdge / 100` can hold (this lets the round run to expiry and pays the pot). 2) Buy a large amount of keys in the current round via the fallback or `reLoad()`, inflating both `round_[rID_].keys` and `plyrRnds_[pID][rID_]`. 3) Immediately call `sell(_amountOfkeys)` to liquidate all keys and recover most ETH (minus the sell fee). Because `sell()` does not decrement `round_[rID_].keys` or `plyrRnds_[pID][rID_]`, your recorded round keys remain high despite holding zero keys. 4) After `rndInit_` passes with no interaction that ends the round early, call `withdraw()`; `endRound()` computes `ppk` using the inflated `round_[rID_].keys`, and `getPlayerLuckyBonus()` pays you based on `plyrRnds_` for that round. Net result: you regain principal (less sell fee) and still claim a large share of the pot funded by other users."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
3
EXT*/BALANCE
2
Total opcodes
5862
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0203
0000000c: JUMPI
0000000d: PUSH4 0xffffffff
00000012: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000030: PUSH1 0x00
00000032: CALLDATALOAD
00000033: DIV
00000034: AND
00000035: PUSH4 0x045ec563
0000003a: DUP2
0000003b: EQ
0000003c: PUSH2 0x031e
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x06ad5a47
00000046: EQ
00000047: PUSH2 0x0345
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x06fdde03
00000051: EQ
00000052: PUSH2 0x0368
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0x07c9da76
0000005c: EQ
0000005d: PUSH2 0x03f2
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0x08979751
00000067: EQ
00000068: PUSH2 0x0407
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0x08d4db14
00000072: EQ
00000073: PUSH2 0x041c
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0x0ed79661
0000007d: EQ
0000007e: PUSH2 0x0434
00000081: JUMPI
00000082: DUP1
00000083: PUSH4 0x0f15f4c0
00000088: EQ
00000089: PUSH2 0x044c
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0x10f01eba
00000093: EQ
00000094: PUSH2 0x0461
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0x1e2da406
0000009e: EQ
0000009f: PUSH2 0x0482
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0x23442c60
000000a9: EQ
000000aa: PUSH2 0x0497
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0x24c33d33
000000b4: EQ
000000b5: PUSH2 0x04c8
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0x25738063
000000bf: EQ
000000c0: PUSH2 0x050b
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0x25be533d
000000ca: EQ
000000cb: PUSH2 0x0526
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0x2ea625c3
000000d5: EQ
000000d6: PUSH2 0x0551
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0x38a85f9a
000000e0: EQ
000000e1: PUSH2 0x0592
000000e4: JUMPI
000000e5: DUP1
000000e6: PUSH4 0x392efb52
000000eb: EQ
000000ec: PUSH2 0x05a7
000000ef: JUMPI
000000f0: DUP1
000000f1: PUSH4 0x3ccfd60b
000000f6: EQ
000000f7: PUSH2 0x05d3
000000fa: JUMPI
000000fb: DUP1
000000fc: PUSH4 0x3ee6d933
00000101: EQ
00000102: PUSH2 0x05e8
00000105: JUMPI
00000106: DUP1
00000107: PUSH4 0x44b0db82
0000010c: EQ
0000010d: PUSH2 0x05fd
00000110: JUMPI
00000111: DUP1
00000112: PUSH4 0x4b1cff0b
00000117: EQ
00000118: PUSH2 0x0612
0000011b: JUMPI
0000011c: DUP1
0000011d: PUSH4 0x4b227176
00000122: EQ
00000123: PUSH2 0x0627
00000126: JUMPI
00000127: DUP1
00000128: PUSH4 0x624ae5c0
0000012d: EQ
0000012e: PUSH2 0x063c
00000131: JUMPI
00000132: DUP1
00000133: PUSH4 0x6b2f4632
00000138: EQ
00000139: PUSH2 0x0651
0000013c: JUMPI
0000013d: DUP1
0000013e: PUSH4 0x762d9284
00000143: EQ
00000144: PUSH2 0x0666
00000147: JUMPI
00000148: DUP1
00000149: PUSH4 0x77152dc7
0000014e: EQ
0000014f: PUSH2 0x067b
00000152: JUMPI
00000153: DUP1
00000154: PUSH4 0x7e161dd9
00000159: EQ
0000015a: PUSH2 0x0690
0000015d: JUMPI
0000015e: DUP1
0000015f: PUSH4 0x89135ae9
00000164: EQ
00000165: PUSH2 0x06a5
00000168: JUMPI
00000169: DUP1
0000016a: PUSH4 0x8f8f8527
0000016f: EQ
00000170: PUSH2 0x06c2
00000173: JUMPI
00000174: DUP1
00000175: PUSH4 0x95d89b41
0000017a: EQ
0000017b: PUSH2 0x06da
0000017e: JUMPI
0000017f: DUP1
00000180: PUSH4 0xa2bccae9
00000185: EQ
00000186: PUSH2 0x06ef
00000189: JUMPI
0000018a: DUP1
0000018b: PUSH4 0xaf1a3e33
00000190: EQ
00000191: PUSH2 0x070a
00000194: JUMPI
00000195: DUP1
00000196: PUSH4 0xb04705e0
0000019b: EQ
0000019c: PUSH2 0x071f
0000019f: JUMPI
000001a0: DUP1
000001a1: PUSH4 0xb0ef9555
000001a6: EQ
000001a7: PUSH2 0x0727
000001aa: JUMPI
000001ab: DUP1
000001ac: PUSH4 0xba730e53
000001b1: EQ
000001b2: PUSH2 0x072f
000001b5: JUMPI
000001b6: DUP1
000001b7: PUSH4 0xd50226f9
000001bc: EQ
000001bd: PUSH2 0x0747
000001c0: JUMPI
000001c1: DUP1
000001c2: PUSH4 0xd538611a
000001c7: EQ
000001c8: PUSH2 0x075f
000001cb: JUMPI
000001cc: DUP1
000001cd: PUSH4 0xd53b2679
000001d2: EQ
000001d3: PUSH2 0x0777
000001d6: JUMPI
000001d7: DUP1
000001d8: PUSH4 0xde7874f3
000001dd: EQ
000001de: PUSH2 0x078c
000001e1: JUMPI
000001e2: DUP1
000001e3: PUSH4 0xe0198e26
000001e8: EQ
000001e9: PUSH2 0x07e1
000001ec: JUMPI
000001ed: DUP1
000001ee: PUSH4 0xe4849b32
000001f3: EQ
000001f4: PUSH2 0x07f6
000001f7: JUMPI
000001f8: DUP1
000001f9: PUSH4 0xeda606a4
000001fe: EQ
000001ff: PUSH2 0x080e
00000202: JUMPI
00000203: JUMPDEST
00000204: PUSH1 0x15
00000206: SLOAD
00000207: PUSH1 0x00
00000209: SWAP1
0000020a: DUP2
0000020b: SWAP1
0000020c: DUP2
0000020d: SWAP1
0000020e: DUP2
0000020f: SWAP1
00000210: PUSH1 0xff
00000212: AND
00000213: ISZERO
00000214: ISZERO
00000215: PUSH1 0x01
00000217: EQ
00000218: PUSH2 0x0259
0000021b: JUMPI
0000021c: PUSH1 0x40
0000021e: DUP1
0000021f: MLOAD
00000220: PUSH1 0xe5
00000222: PUSH1 0x02
00000224: EXP
00000225: PUSH3 0x461bcd
00000229: MUL
0000022a: DUP2
0000022b: MSTORE
0000022c: PUSH1 0x20
0000022e: PUSH1 0x04
00000230: DUP3
00000231: ADD
00000232: MSTORE
00000233: PUSH1 0x12
00000235: PUSH1 0x24
00000237: DUP3
00000238: ADD
00000239: MSTORE
0000023a: PUSH1 0x00
0000023c: DUP1
0000023d: MLOAD
0000023e: PUSH1 0x20
00000240: PUSH2 0x23fb
00000243: DUP4
00000244: CODECOPY
00000245: DUP2
00000246: MLOAD
00000247: SWAP2
00000248: MSTORE
00000249: PUSH1 0x44
0000024b: DUP3
0000024c: ADD
0000024d: MSTORE
0000024e: SWAP1
0000024f: MLOAD
00000250: SWAP1
00000251: DUP2
00000252: SWAP1
00000253: SUB
00000254: PUSH1 0x64
00000256: ADD
00000257: SWAP1
00000258: REVERT
00000259: JUMPDEST
0000025a: PUSH2 0x0261
0000025d: PUSH2 0x083a
00000260: JUMP
00000261: JUMPDEST
00000262: SWAP4
00000263: POP
00000264: PUSH8 0x8ac7230489e80000
0000026d: DUP5
0000026e: GT
0000026f: DUP1
00000270: ISZERO
00000271: PUSH2 0x0282
00000274: JUMPI
00000275: POP
00000276: PUSH9 0x1b1ae4d6e2ef500000
00000280: DUP5
00000281: LT
00000282: JUMPDEST
00000283: ISZERO
00000284: PUSH2 0x029c
00000287: JUMPI
00000288: PUSH8 0x8ac7230489e80000
00000291: CALLVALUE
00000292: LT
00000293: ISZERO
00000294: PUSH2 0x029c
00000297: JUMPI
00000298: PUSH1 0x00
0000029a: DUP1
0000029b: REVERT
0000029c: JUMPDEST
0000029d: PUSH2 0x02a4
000002a0: PUSH2 0x083f
000002a3: JUMP
000002a4: JUMPDEST
000002a5: SWAP3
000002a6: POP
000002a7: PUSH2 0x02af
000002aa: DUP4
000002ab: PUSH2 0x08a5
000002ae: JUMP
000002af: JUMPDEST
000002b0: PUSH2 0x02b9
000002b3: DUP4
000002b4: CALLVALUE
000002b5: PUSH2 0x09ea
000002b8: JUMP
000002b9: JUMPDEST
000002ba: PUSH1 0x09
000002bc: SLOAD
000002bd: PUSH1 0x40
000002bf: DUP1
000002c0: MLOAD
000002c1: CALLER
000002c2: DUP2
000002c3: MSTORE
000002c4: PUSH1 0x20
000002c6: DUP2
000002c7: ADD
000002c8: DUP9
000002c9: SWAP1
000002ca: MSTORE
000002cb: DUP1
000002cc: DUP3
000002cd: ADD
000002ce: SWAP3
000002cf: SWAP1
000002d0: SWAP3
000002d1: MSTORE
000002d2: CALLVALUE
000002d3: PUSH1 0x60
000002d5: DUP4
000002d6: ADD
000002d7: MSTORE
000002d8: PUSH1 0x80
000002da: DUP3
000002db: ADD
000002dc: DUP5
000002dd: SWAP1
000002de: MSTORE
000002df: DUP3
000002e0: ISZERO
000002e1: ISZERO
000002e2: PUSH1 0xa0
000002e4: DUP4
000002e5: ADD
000002e6: MSTORE
000002e7: MLOAD
000002e8: SWAP3
000002e9: SWAP5
000002ea: POP
000002eb: SWAP1
000002ec: SWAP3
000002ed: POP
000002ee: PUSH32 0x61daea626f02694eb73691850283107e6ac31e8550e608e9c8f632b56b658b43
0000030f: SWAP2
00000310: SWAP1
00000311: DUP2
00000312: SWAP1
00000313: SUB
00000314: PUSH1 0xc0
00000316: ADD
00000317: SWAP1
00000318: LOG1
00000319: POP
0000031a: POP
0000031b: POP
0000031c: POP
0000031d: STOP
0000031e: JUMPDEST
0000031f: CALLVALUE
00000320: DUP1
00000321: ISZERO
00000322: PUSH2 0x032a
00000325: JUMPI
00000326: PUSH1 0x00
00000328: DUP1
00000329: REVERT
0000032a: JUMPDEST
0000032b: POP
0000032c: PUSH2 0x0333
0000032f: PUSH2 0x0c49
00000332: JUMP
00000333: JUMPDEST
00000334: PUSH1 0x40
00000336: DUP1
00000337: MLOAD
00000338: SWAP2
00000339: DUP3
0000033a: MSTORE
0000033b: MLOAD
0000033c: SWAP1
0000033d: DUP2
0000033e: SWAP1
0000033f: SUB
00000340: PUSH1 0x20
00000342: ADD
00000343: SWAP1
00000344: RETURN
00000345: JUMPDEST
00000346: CALLVALUE
00000347: DUP1
00000348: ISZERO
00000349: PUSH2 0x0351
0000034c: JUMPI
0000034d: PUSH1 0x00
0000034f: DUP1
00000350: REVERT
00000351: JUMPDEST
00000352: POP
00000353: PUSH2 0x0366
00000356: PUSH1 0x01
00000358: PUSH1 0xa0
0000035a: PUSH1 0x02
0000035c: EXP
0000035d: SUB
0000035e: PUSH1 0x04
00000360: CALLDATALOAD
00000361: AND
00000362: PUSH2 0x0c4f
00000365: JUMP
00000366: JUMPDEST
00000367: STOP
00000368: JUMPDEST
00000369: CALLVALUE
0000036a: DUP1
0000036b: ISZERO
0000036c: PUSH2 0x0374
0000036f: JUMPI
00000370: PUSH1 0x00
00000372: DUP1
00000373: REVERT
00000374: JUMPDEST
00000375: POP
00000376: PUSH2 0x037d
00000379: PUSH2 0x0d21
0000037c: JUMP
0000037d: JUMPDEST
0000037e: PUSH1 0x40
00000380: DUP1
00000381: MLOAD
00000382: PUSH1 0x20
00000384: DUP1
00000385: DUP3
00000386: MSTORE
00000387: DUP4
00000388: MLOAD
00000389: DUP2
0000038a: DUP4
0000038b: ADD
0000038c: MSTORE
0000038d: DUP4
0000038e: MLOAD
0000038f: SWAP2
00000390: SWAP3
00000391: DUP4
00000392: SWAP3
00000393: SWAP1
00000394: DUP4
00000395: ADD
00000396: SWAP2
00000397: DUP6
00000398: ADD
00000399: SWAP1
0000039a: DUP1
0000039b: DUP4
0000039c: DUP4
0000039d: PUSH1 0x00
0000039f: JUMPDEST
000003a0: DUP4
000003a1: DUP2
000003a2: LT
000003a3: ISZERO
000003a4: PUSH2 0x03b7
000003a7: JUMPI
000003a8: DUP2
000003a9: DUP2
000003aa: ADD
000003ab: MLOAD
000003ac: DUP4
000003ad: DUP3
000003ae: ADD
000003af: MSTORE
000003b0: PUSH1 0x20
000003b2: ADD
000003b3: PUSH2 0x039f
000003b6: JUMP
000003b7: JUMPDEST
000003b8: POP
000003b9: POP
000003ba: POP
000003bb: POP
000003bc: SWAP1
000003bd: POP
000003be: SWAP1
000003bf: DUP2
000003c0: ADD
000003c1: SWAP1
000003c2: PUSH1 0x1f
000003c4: AND
000003c5: DUP1
000003c6: ISZERO
000003c7: PUSH2 0x03e4
000003ca: JUMPI
000003cb: DUP1
000003cc: DUP3
000003cd: SUB
000003ce: DUP1
000003cf: MLOAD
000003d0: PUSH1 0x01
000003d2: DUP4
000003d3: PUSH1 0x20
000003d5: SUB
000003d6: PUSH2 0x0100
000003d9: EXP
000003da: SUB
000003db: NOT
000003dc: AND
000003dd: DUP2
000003de: MSTORE
000003df: PUSH1 0x20
000003e1: ADD
000003e2: SWAP2
000003e3: POP
000003e4: JUMPDEST
000003e5: POP
000003e6: SWAP3
000003e7: POP
000003e8: POP
000003e9: POP
000003ea: PUSH1 0x40
000003ec: MLOAD
000003ed: DUP1
000003ee: SWAP2
000003ef: SUB
000003f0: SWAP1
000003f1: RETURN
000003f2: JUMPDEST
000003f3: CALLVALUE
000003f4: DUP1
000003f5: ISZERO
000003f6: PUSH2 0x03fe
000003f9: JUMPI
000003fa: PUSH1 0x00
000003fc: DUP1
000003fd: REVERT
000003fe: JUMPDEST
000003ff: POP
00000400: PUSH2 0x0333
00000403: PUSH2 0x0dae
00000406: JUMP
00000407: JUMPDEST
00000408: CALLVALUE
00000409: DUP1
0000040a: ISZERO
0000040b: PUSH2 0x0413
0000040e: JUMPI
0000040f: PUSH1 0x00
00000411: DUP1
00000412: REVERT
00000413: JUMPDEST
00000414: POP
00000415: PUSH2 0x0333
00000418: PUSH2 0x0db4
0000041b: JUMP
0000041c: JUMPDEST
0000041d: CALLVALUE
0000041e: DUP1
0000041f: ISZERO
00000420: PUSH2 0x0428
00000423: JUMPI
00000424: PUSH1 0x00
00000426: DUP1
00000427: REVERT
00000428: JUMPDEST
00000429: POP
0000042a: PUSH2 0x0333
0000042d: PUSH1 0x04
0000042f: CALLDATALOAD
00000430: PUSH2 0x0dde
00000433: JUMP
00000434: JUMPDEST
00000435: CALLVALUE
00000436: DUP1
00000437: ISZERO
00000438: PUSH2 0x0440
0000043b: JUMPI
0000043c: PUSH1 0x00
0000043e: DUP1
0000043f: REVERT
00000440: JUMPDEST
00000441: POP
00000442: PUSH2 0x0366
00000445: PUSH1 0x04
00000447: CALLDATALOAD
00000448: PUSH2 0x0e19
0000044b: JUMP
0000044c: JUMPDEST
0000044d: CALLVALUE
0000044e: DUP1
0000044f: ISZERO
00000450: PUSH2 0x0458
00000453: JUMPI
00000454: PUSH1 0x00
00000456: DUP1
00000457: REVERT
00000458: JUMPDEST
00000459: POP
0000045a: PUSH2 0x0366
0000045d: PUSH2 0x0eb1
00000460: JUMP
00000461: JUMPDEST
00000462: CALLVALUE
00000463: DUP1
00000464: ISZERO
00000465: PUSH2 0x046d
00000468: JUMPI
00000469: PUSH1 0x00
0000046b: DUP1
0000046c: REVERT
0000046d: JUMPDEST
0000046e: POP
0000046f: PUSH2 0x0333
00000472: PUSH1 0x01
00000474: PUSH1 0xa0
00000476: PUSH1 0x02
00000478: EXP
00000479: SUB
0000047a: PUSH1 0x04
0000047c: CALLDATALOAD
0000047d: AND
0000047e: PUSH2 0x1046
00000481: JUMP
00000482: JUMPDEST
00000483: CALLVALUE
00000484: DUP1
00000485: ISZERO
00000486: PUSH2 0x048e
00000489: JUMPI
0000048a: PUSH1 0x00
0000048c: DUP1
0000048d: REVERT
0000048e: JUMPDEST
0000048f: POP
00000490: PUSH2 0x0333
00000493: PUSH2 0x1058
00000496: JUMP
00000497: JUMPDEST
00000498: CALLVALUE
00000499: DUP1
0000049a: ISZERO
0000049b: PUSH2 0x04a3
0000049e: JUMPI
0000049f: PUSH1 0x00
000004a1: DUP1
000004a2: REVERT
000004a3: JUMPDEST
000004a4: POP
000004a5: PUSH2 0x04ac
000004a8: PUSH2 0x105e
000004ab: JUMP
000004ac: JUMPDEST
000004ad: PUSH1 0x40
000004af: DUP1
000004b0: MLOAD
000004b1: PUSH1 0x01
000004b3: PUSH1 0xa0
000004b5: PUSH1 0x02
000004b7: EXP
000004b8: SUB
000004b9: SWAP1
000004ba: SWAP3
000004bb: AND
000004bc: DUP3
000004bd: MSTORE
000004be: MLOAD
000004bf: SWAP1
000004c0: DUP2
000004c1: SWAP1
000004c2: SUB
000004c3: PUSH1 0x20
000004c5: ADD
000004c6: SWAP1
000004c7: RETURN
000004c8: JUMPDEST
000004c9: CALLVALUE
000004ca: DUP1
000004cb: ISZERO
000004cc: PUSH2 0x04d4
000004cf: JUMPI
000004d0: PUSH1 0x00
000004d2: DUP1
000004d3: REVERT
000004d4: JUMPDEST
000004d5: POP
000004d6: PUSH2 0x04e0
000004d9: PUSH1 0x04
000004db: CALLDATALOAD
000004dc: PUSH2 0x106d
000004df: JUMP
000004e0: JUMPDEST
000004e1: PUSH1 0x40
000004e3: DUP1
000004e4: MLOAD
000004e5: SWAP6
000004e6: DUP7
000004e7: MSTORE
000004e8: PUSH1 0x20
000004ea: DUP7
000004eb: ADD
000004ec: SWAP5
000004ed: SWAP1
000004ee: SWAP5
000004ef: MSTORE
000004f0: DUP5
000004f1: DUP5
000004f2: ADD
000004f3: SWAP3
000004f4: SWAP1
000004f5: SWAP3
000004f6: MSTORE
000004f7: PUSH1 0x60
000004f9: DUP5
000004fa: ADD
000004fb: MSTORE
000004fc: PUSH1 0x80
000004fe: DUP4
000004ff: ADD
00000500: MSTORE
00000501: MLOAD
00000502: SWAP1
00000503: DUP2
00000504: SWAP1
00000505: SUB
00000506: PUSH1 0xa0
00000508: ADD
00000509: SWAP1
0000050a: RETURN
0000050b: JUMPDEST
0000050c: CALLVALUE
0000050d: DUP1
0000050e: ISZERO
0000050f: PUSH2 0x0517
00000512: JUMPI
00000513: PUSH1 0x00
00000515: DUP1
00000516: REVERT
00000517: JUMPDEST
00000518: POP
00000519: PUSH2 0x0333
0000051c: PUSH1 0x04
0000051e: CALLDATALOAD
0000051f: PUSH1 0x24
00000521: CALLDATALOAD
00000522: PUSH2 0x109c
00000525: JUMP
00000526: JUMPDEST
00000527: CALLVALUE
00000528: DUP1
00000529: ISZERO
0000052a: PUSH2 0x0532
0000052d: JUMPI
0000052e: PUSH1 0x00
00000530: DUP1
00000531: REVERT
00000532: JUMPDEST
00000533: POP
00000534: PUSH2 0x053b
00000537: PUSH2 0x10ea
0000053a: JUMP
0000053b: JUMPDEST
0000053c: PUSH1 0x40
0000053e: DUP1
0000053f: MLOAD
00000540: PUSH1 0xff
00000542: SWAP1
00000543: SWAP3
00000544: AND
00000545: DUP3
00000546: MSTORE
00000547: MLOAD
00000548: SWAP1
00000549: DUP2
0000054a: SWAP1
0000054b: SUB
0000054c: PUSH1 0x20
0000054e: ADD
0000054f: SWAP1
00000550: RETURN
00000551: JUMPDEST
00000552: CALLVALUE
00000553: DUP1
00000554: ISZERO
00000555: PUSH2 0x055d
00000558: JUMPI
00000559: PUSH1 0x00
0000055b: DUP1
0000055c: REVERT
0000055d: JUMPDEST
0000055e: POP
0000055f: PUSH2 0x0366
00000562: PUSH2 0xffff
00000565: PUSH1 0x04
00000567: CALLDATALOAD
00000568: AND
00000569: PUSH1 0xff
0000056b: PUSH1 0x24
0000056d: CALLDATALOAD
0000056e: DUP2
0000056f: AND
00000570: SWAP1
00000571: PUSH1 0x44
00000573: CALLDATALOAD
00000574: DUP2
00000575: AND
00000576: SWAP1
00000577: PUSH1 0x64
00000579: CALLDATALOAD
0000057a: DUP2
0000057b: AND
0000057c: SWAP1
0000057d: PUSH1 0x84
0000057f: CALLDATALOAD
00000580: AND
00000581: PUSH1 0xa4
00000583: CALLDATALOAD
00000584: PUSH1 0xc4
00000586: CALLDATALOAD
00000587: PUSH1 0xe4
00000589: CALLDATALOAD
0000058a: PUSH2 0x0104
0000058d: CALLDATALOAD
0000058e: PUSH2 0x10fa
00000591: JUMP
00000592: JUMPDEST
00000593: CALLVALUE
00000594: DUP1
00000595: ISZERO
00000596: PUSH2 0x059e
00000599: JUMPI
0000059a: PUSH1 0x00
0000059c: DUP1
0000059d: REVERT
0000059e: JUMPDEST
0000059f: POP
000005a0: PUSH2 0x053b
000005a3: PUSH2 0x146f
000005a6: JUMP
000005a7: JUMPDEST
000005a8: CALLVALUE
000005a9: DUP1
000005aa: ISZERO
000005ab: PUSH2 0x05b3
000005ae: JUMPI
000005af: PUSH1 0x00
000005b1: DUP1
000005b2: REVERT
000005b3: JUMPDEST
000005b4: POP
000005b5: PUSH2 0x05bf
000005b8: PUSH1 0x04
000005ba: CALLDATALOAD
000005bb: PUSH2 0x1480
000005be: JUMP
000005bf: JUMPDEST
000005c0: PUSH1 0x40
000005c2: DUP1
000005c3: MLOAD
000005c4: SWAP2
000005c5: ISZERO
000005c6: ISZERO
000005c7: DUP3
000005c8: MSTORE
000005c9: MLOAD
000005ca: SWAP1
000005cb: DUP2
000005cc: SWAP1
000005cd: SUB
000005ce: PUSH1 0x20
000005d0: ADD
000005d1: SWAP1
000005d2: RETURN
000005d3: JUMPDEST
000005d4: CALLVALUE
000005d5: DUP1
000005d6: ISZERO
000005d7: PUSH2 0x05df
000005da: JUMPI
000005db: PUSH1 0x00
000005dd: DUP1
000005de: REVERT
000005df: JUMPDEST
000005e0: POP
000005e1: PUSH2 0x0366
000005e4: PUSH2 0x1495
000005e7: JUMP
000005e8: JUMPDEST
000005e9: CALLVALUE
000005ea: DUP1
000005eb: ISZERO
000005ec: PUSH2 0x05f4
000005ef: JUMPI
000005f0: PUSH1 0x00
000005f2: DUP1
000005f3: REVERT
000005f4: JUMPDEST
000005f5: POP
000005f6: PUSH2 0x0333
000005f9: PUSH2 0x15cb
000005fc: JUMP
000005fd: JUMPDEST
000005fe: CALLVALUE
000005ff: DUP1
00000600: ISZERO
00000601: PUSH2 0x0609
00000604: JUMPI
00000605: PUSH1 0x00
00000607: DUP1
00000608: REVERT
00000609: JUMPDEST
0000060a: POP
0000060b: PUSH2 0x053b
0000060e: PUSH2 0x15d1
00000611: JUMP
00000612: JUMPDEST
00000613: CALLVALUE
00000614: DUP1
00000615: ISZERO
00000616: PUSH2 0x061e
00000619: JUMPI
0000061a: PUSH1 0x00
0000061c: DUP1
0000061d: REVERT
0000061e: JUMPDEST
0000061f: POP
00000620: PUSH2 0x0333
00000623: PUSH2 0x15e0
00000626: JUMP
00000627: JUMPDEST
00000628: CALLVALUE
00000629: DUP1
0000062a: ISZERO
0000062b: PUSH2 0x0633
0000062e: JUMPI
0000062f: PUSH1 0x00
00000631: DUP1
00000632: REVERT
00000633: JUMPDEST
00000634: POP
00000635: PUSH2 0x0333
00000638: PUSH2 0x15e6
0000063b: JUMP
0000063c: JUMPDEST
0000063d: CALLVALUE
0000063e: DUP1
0000063f: ISZERO
00000640: PUSH2 0x0648
00000643: JUMPI
00000644: PUSH1 0x00
00000646: DUP1
00000647: REVERT
00000648: JUMPDEST
00000649: POP
0000064a: PUSH2 0x0333
0000064d: PUSH2 0x15ec
00000650: JUMP
00000651: JUMPDEST
00000652: CALLVALUE
00000653: DUP1
00000654: ISZERO
00000655: PUSH2 0x065d
00000658: JUMPI
00000659: PUSH1 0x00
0000065b: DUP1
0000065c: REVERT
0000065d: JUMPDEST
0000065e: POP
0000065f: PUSH2 0x0333
00000662: PUSH2 0x083a
00000665: JUMP
00000666: JUMPDEST
00000667: CALLVALUE
00000668: DUP1
00000669: ISZERO
0000066a: PUSH2 0x0672
0000066d: JUMPI
0000066e: PUSH1 0x00
00000670: DUP1
00000671: REVERT
00000672: JUMPDEST
00000673: POP
00000674: PUSH2 0x053b
00000677: PUSH2 0x15f2
0000067a: JUMP
0000067b: JUMPDEST
0000067c: CALLVALUE
0000067d: DUP1
0000067e: ISZERO
0000067f: PUSH2 0x0687
00000682: JUMPI
00000683: PUSH1 0x00
00000685: DUP1
00000686: REVERT
00000687: JUMPDEST
00000688: POP
00000689: PUSH2 0x0333
0000068c: PUSH2 0x1604
0000068f: JUMP
00000690: JUMPDEST
00000691: CALLVALUE
00000692: DUP1
00000693: ISZERO
00000694: PUSH2 0x069c
00000697: JUMPI
00000698: PUSH1 0x00
0000069a: DUP1
0000069b: REVERT
0000069c: JUMPDEST
0000069d: POP
0000069e: PUSH2 0x0333
000006a1: PUSH2 0x160a
000006a4: JUMP
000006a5: JUMPDEST
000006a6: CALLVALUE
000006a7: DUP1
000006a8: ISZERO
000006a9: PUSH2 0x06b1
000006ac: JUMPI
000006ad: PUSH1 0x00
000006af: DUP1
000006b0: REVERT
000006b1: JUMPDEST
000006b2: POP
000006b3: PUSH2 0x0366
000006b6: PUSH1 0x04
000006b8: CALLDATALOAD
000006b9: PUSH1 0x24
000006bb: CALLDATALOAD
000006bc: ISZERO
000006bd: ISZERO
000006be: PUSH2 0x1610
000006c1: JUMP
000006c2: JUMPDEST
000006c3: CALLVALUE
000006c4: DUP1
000006c5: ISZERO
000006c6: PUSH2 0x06ce
000006c9: JUMPI
000006ca: PUSH1 0x00
000006cc: DUP1
000006cd: REVERT
000006ce: JUMPDEST
000006cf: POP
000006d0: PUSH2 0x0333
000006d3: PUSH1 0x04
000006d5: CALLDATALOAD
000006d6: PUSH2 0x1672
000006d9: JUMP
000006da: JUMPDEST
000006db: CALLVALUE
000006dc: DUP1
000006dd: ISZERO
000006de: PUSH2 0x06e6
000006e1: JUMPI
000006e2: PUSH1 0x00
000006e4: DUP1
000006e5: REVERT
000006e6: JUMPDEST
000006e7: POP
000006e8: PUSH2 0x037d
000006eb: PUSH2 0x16b2
000006ee: JUMP
000006ef: JUMPDEST
000006f0: CALLVALUE
000006f1: DUP1
000006f2: ISZERO
000006f3: PUSH2 0x06fb
000006f6: JUMPI
000006f7: PUSH1 0x00
000006f9: DUP1
000006fa: REVERT
000006fb: JUMPDEST
000006fc: POP
000006fd: PUSH2 0x0333
00000700: PUSH1 0x04
00000702: CALLDATALOAD
00000703: PUSH1 0x24
00000705: CALLDATALOAD
00000706: PUSH2 0x170a
00000709: JUMP
0000070a: JUMPDEST
0000070b: CALLVALUE
0000070c: DUP1
0000070d: ISZERO
0000070e: PUSH2 0x0716
00000711: JUMPI
00000712: PUSH1 0x00
00000714: DUP1
00000715: REVERT
00000716: JUMPDEST
00000717: POP
00000718: PUSH2 0x0366
0000071b: PUSH2 0x1727
0000071e: JUMP
0000071f: JUMPDEST
00000720: PUSH2 0x0366
00000723: PUSH2 0x187b
00000726: JUMP
00000727: JUMPDEST
00000728: PUSH2 0x0366
0000072b: PUSH2 0x18d5
0000072e: JUMP
0000072f: JUMPDEST
00000730: CALLVALUE
00000731: DUP1
00000732: ISZERO
00000733: PUSH2 0x073b
00000736: JUMPI
00000737: PUSH1 0x00
00000739: DUP1
0000073a: REVERT
0000073b: JUMPDEST
0000073c: POP
0000073d: PUSH2 0x0333
00000740: PUSH1 0x04
00000742: CALLDATALOAD
00000743: PUSH2 0x1993
00000746: JUMP
00000747: JUMPDEST
00000748: CALLVALUE
00000749: DUP1
0000074a: ISZERO
0000074b: PUSH2 0x0753
0000074e: JUMPI
0000074f: PUSH1 0x00
00000751: DUP1
00000752: REVERT
00000753: JUMPDEST
00000754: POP
00000755: PUSH2 0x0333
00000758: PUSH1 0x04
0000075a: CALLDATALOAD
0000075b: PUSH2 0x1a3c
0000075e: JUMP
0000075f: JUMPDEST
00000760: CALLVALUE
00000761: DUP1
00000762: ISZERO
00000763: PUSH2 0x076b
00000766: JUMPI
00000767: PUSH1 0x00
00000769: DUP1
0000076a: REVERT
0000076b: JUMPDEST
0000076c: POP
0000076d: PUSH2 0x0333
00000770: PUSH1 0x04
00000772: CALLDATALOAD
00000773: PUSH2 0x1ad3
00000776: JUMP
00000777: JUMPDEST
00000778: CALLVALUE
00000779: DUP1
0000077a: ISZERO
0000077b: PUSH2 0x0783
0000077e: JUMPI
0000077f: PUSH1 0x00
00000781: DUP1
00000782: REVERT
00000783: JUMPDEST
00000784: POP
00000785: PUSH2 0x05bf
00000788: PUSH2 0x1b82
0000078b: JUMP
0000078c: JUMPDEST
0000078d: CALLVALUE
0000078e: DUP1
0000078f: ISZERO
00000790: PUSH2 0x0798
00000793: JUMPI
00000794: PUSH1 0x00
00000796: DUP1
00000797: REVERT
00000798: JUMPDEST
00000799: POP
0000079a: PUSH2 0x07a4
0000079d: PUSH1 0x04
0000079f: CALLDATALOAD
000007a0: PUSH2 0x1b8b
000007a3: JUMP
000007a4: JUMPDEST
000007a5: PUSH1 0x40
000007a7: DUP1
000007a8: MLOAD
000007a9: PUSH1 0x01
000007ab: PUSH1 0xa0
000007ad: PUSH1 0x02
000007af: EXP
000007b0: SUB
000007b1: SWAP1
000007b2: SWAP8
000007b3: AND
000007b4: DUP8
000007b5: MSTORE
000007b6: PUSH1 0x20
000007b8: DUP8
000007b9: ADD
000007ba: SWAP6
000007bb: SWAP1
000007bc: SWAP6
000007bd: MSTORE
000007be: DUP6
000007bf: DUP6
000007c0: ADD
000007c1: SWAP4
000007c2: SWAP1
000007c3: SWAP4
000007c4: MSTORE
000007c5: PUSH1 0x60
000007c7: DUP6
000007c8: ADD
000007c9: SWAP2
000007ca: SWAP1
000007cb: SWAP2
000007cc: MSTORE
000007cd: PUSH1 0x80
000007cf: DUP5
000007d0: ADD
000007d1: MSTORE
000007d2: PUSH1 0xa0
000007d4: DUP4
000007d5: ADD
000007d6: MSTORE
000007d7: MLOAD
000007d8: SWAP1
000007d9: DUP2
000007da: SWAP1
000007db: SUB
000007dc: PUSH1 0xc0
000007de: ADD
000007df: SWAP1
000007e0: RETURN
000007e1: JUMPDEST
000007e2: CALLVALUE
000007e3: DUP1
000007e4: ISZERO
000007e5: PUSH2 0x07ed
000007e8: JUMPI
000007e9: PUSH1 0x00
000007eb: DUP1
000007ec: REVERT
000007ed: JUMPDEST
000007ee: POP
000007ef: PUSH2 0x0333
000007f2: PUSH2 0x1bca
000007f5: JUMP
000007f6: JUMPDEST
000007f7: CALLVALUE
000007f8: DUP1
000007f9: ISZERO
000007fa: PUSH2 0x0802
000007fd: JUMPI
000007fe: PUSH1 0x00
00000800: DUP1
00000801: REVERT
00000802: JUMPDEST
00000803: POP
00000804: PUSH2 0x0366
00000807: PUSH1 0x04
00000809: CALLDATALOAD
0000080a: PUSH2 0x1bd0
0000080d: JUMP
0000080e: JUMPDEST
0000080f: CALLVALUE
00000810: DUP1
00000811: ISZERO
00000812: PUSH2 0x081a
00000815: JUMPI
00000816: PUSH1 0x00
00000818: DUP1
00000819: REVERT
0000081a: JUMPDEST
0000081b: POP
0000081c: PUSH2 0x0823
0000081f: PUSH2 0x1da4
00000822: JUMP
00000823: JUMPDEST
00000824: PUSH1 0x40
00000826: DUP1
00000827: MLOAD
00000828: PUSH2 0xffff
0000082b: SWAP1
0000082c: SWAP3
0000082d: AND
0000082e: DUP3
0000082f: MSTORE
00000830: MLOAD
00000831: SWAP1
00000832: DUP2
00000833: SWAP1
00000834: SUB
00000835: PUSH1 0x20
00000837: ADD
00000838: SWAP1
00000839: RETURN
0000083a: JUMPDEST
0000083b: ADDRESS
0000083c: BALANCE
0000083d: SWAP1
0000083e: JUMP
0000083f: JUMPDEST
00000840: CALLER
00000841: PUSH1 0x00
00000843: SWAP1
00000844: DUP2
00000845: MSTORE
00000846: PUSH1 0x0f
00000848: PUSH1 0x20
0000084a: MSTORE
0000084b: PUSH1 0x40
0000084d: DUP2
0000084e: KECCAK256
0000084f: SLOAD
00000850: DUP1
00000851: ISZERO
00000852: ISZERO
00000853: PUSH2 0x08a0
00000856: JUMPI
00000857: POP
00000858: PUSH1 0x08
0000085a: DUP1
0000085b: SLOAD
0000085c: PUSH1 0x01
0000085e: ADD
0000085f: SWAP1
00000860: DUP2
00000861: SWAP1
00000862: SSTORE
00000863: CALLER
00000864: PUSH1 0x00
00000866: DUP2
00000867: DUP2
00000868: MSTORE
00000869: PUSH1 0x0f
0000086b: PUSH1 0x20
0000086d: SWAP1
0000086e: DUP2
0000086f: MSTORE
00000870: PUSH1 0x40
00000872: DUP1
00000873: DUP4
00000874: KECCAK256
00000875: DUP6
00000876: SWAP1
00000877: SSTORE
00000878: DUP5
00000879: DUP4
0000087a: MSTORE
0000087b: PUSH1 0x10
0000087d: SWAP1
0000087e: SWAP2
0000087f: MSTORE
00000880: SWAP1
00000881: KECCAK256
00000882: DUP1
00000883: SLOAD
00000884: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000899: NOT
0000089a: AND
0000089b: SWAP1
0000089c: SWAP2
0000089d: OR
0000089e: SWAP1
0000089f: SSTORE
000008a0: JUMPDEST
000008a1: SWAP2
000008a2: SWAP1
000008a3: POP
000008a4: JUMP
000008a5: JUMPDEST
000008a6: PUSH1 0x09
000008a8: SLOAD
000008a9: PUSH1 0x00
000008ab: SWAP1
000008ac: DUP2
000008ad: MSTORE
000008ae: PUSH1 0x11
000008b0: PUSH1 0x20
000008b2: MSTORE
000008b3: PUSH1 0x40
000008b5: DUP2
000008b6: KECCAK256
000008b7: PUSH1 0x03
000008b9: SLOAD
000008ba: PUSH1 0x0c
000008bc: SLOAD
000008bd: SWAP2
000008be: SWAP3
000008bf: SWAP2
000008c0: DUP3
000008c1: SWAP2
000008c2: DUP3
000008c3: SWAP2
000008c4: PUSH2 0x08ea
000008c7: SWAP2
000008c8: PUSH1 0x64
000008ca: SWAP2
000008cb: PUSH2 0x08de
000008ce: SWAP2
000008cf: PUSH5 0x0100000000
000008d5: SWAP1
000008d6: DIV
000008d7: PUSH1 0xff
000008d9: AND
000008da: PUSH2 0x1dae
000008dd: JUMP
000008de: JUMPDEST
000008df: SWAP1
000008e0: PUSH4 0xffffffff
000008e5: PUSH2 0x1e25
000008e8: AND
000008e9: JUMP
000008ea: JUMPDEST
000008eb: DUP5
000008ec: PUSH1 0x04
000008ee: ADD
000008ef: SLOAD
000008f0: GT
000008f1: DUP1
000008f2: PUSH2 0x08fe
000008f5: JUMPI
000008f6: POP
000008f7: DUP4
000008f8: PUSH1 0x01
000008fa: ADD
000008fb: SLOAD
000008fc: TIMESTAMP
000008fd: GT
000008fe: JUMPDEST
000008ff: ISZERO
00000900: PUSH2 0x090b
00000903: JUMPI
00000904: PUSH2 0x090b
00000907: PUSH2 0x1e3c
0000090a: JUMP
0000090b: JUMPDEST
0000090c: PUSH1 0x00
0000090e: DUP6
0000090f: DUP2
00000910: MSTORE
00000911: PUSH1 0x10
00000913: PUSH1 0x20
00000915: MSTORE
00000916: PUSH1 0x40
00000918: SWAP1
00000919: KECCAK256
0000091a: PUSH1 0x04
0000091c: DUP2
0000091d: ADD
0000091e: SLOAD
0000091f: SWAP1
00000920: SWAP4
00000921: POP
00000922: ISZERO
00000923: ISZERO
00000924: PUSH2 0x0930
00000927: JUMPI
00000928: PUSH1 0x09
0000092a: SLOAD
0000092b: PUSH1 0x04
0000092d: DUP5
0000092e: ADD
0000092f: SSTORE
00000930: JUMPDEST
00000931: DUP3
00000932: PUSH1 0x04
00000934: ADD
00000935: SLOAD
00000936: SWAP2
00000937: POP
00000938: PUSH1 0x01
0000093a: PUSH1 0x09
0000093c: SLOAD
0000093d: GT
0000093e: DUP1
0000093f: ISZERO
00000940: PUSH2 0x094b
00000943: JUMPI
00000944: POP
00000945: PUSH1 0x09
00000947: SLOAD
00000948: DUP3
00000949: EQ
0000094a: ISZERO
0000094b: JUMPDEST
0000094c: ISZERO
0000094d: PUSH2 0x09e3
00000950: JUMPI
00000951: POP
00000952: PUSH1 0x00
00000954: DUP5
00000955: DUP2
00000956: MSTORE
00000957: PUSH1 0x12
00000959: PUSH1 0x20
0000095b: SWAP1
0000095c: DUP2
0000095d: MSTORE
0000095e: PUSH1 0x40
00000960: DUP1
00000961: DUP4
00000962: KECCAK256
00000963: DUP5
00000964: DUP5
00000965: MSTORE
00000966: SWAP1
00000967: SWAP2
00000968: MSTORE
00000969: DUP2
0000096a: KECCAK256
0000096b: SLOAD
0000096c: SWAP1
0000096d: DUP2
0000096e: GT
0000096f: DUP1
00000970: ISZERO
00000971: PUSH2 0x0989
00000974: JUMPI
00000975: POP
00000976: PUSH1 0x00
00000978: DUP3
00000979: DUP2
0000097a: MSTORE
0000097b: PUSH1 0x11
0000097d: PUSH1 0x20
0000097f: MSTORE
00000980: PUSH1 0x40
00000982: DUP2
00000983: KECCAK256
00000984: PUSH1 0x03
00000986: ADD
00000987: SLOAD
00000988: GT
00000989: JUMPDEST
0000098a: ISZERO
0000098b: PUSH2 0x09da
0000098e: JUMPI
0000098f: PUSH1 0x00
00000991: DUP3
00000992: DUP2
00000993: MSTORE
00000994: PUSH1 0x11
00000996: PUSH1 0x20
00000998: MSTORE
00000999: PUSH1 0x40
0000099b: SWAP1
0000099c: KECCAK256
0000099d: PUSH1 0x03
0000099f: ADD
000009a0: SLOAD
000009a1: PUSH2 0x09d4
000009a4: SWAP1
000009a5: PUSH2 0x09c3
000009a8: SWAP1
000009a9: PUSH8 0x0de0b6b3a7640000
000009b2: SWAP1
000009b3: PUSH2 0x08de
000009b6: SWAP1
000009b7: DUP6
000009b8: SWAP1
000009b9: PUSH4 0xffffffff
000009be: PUSH2 0x1dae
000009c1: AND
000009c2: JUMP
000009c3: JUMPDEST
000009c4: PUSH1 0x03
000009c6: DUP6
000009c7: ADD
000009c8: SLOAD
000009c9: SWAP1
000009ca: PUSH4 0xffffffff
000009cf: PUSH2 0x200b
000009d2: AND
000009d3: JUMP
000009d4: JUMPDEST
000009d5: PUSH1 0x03
000009d7: DUP5
000009d8: ADD
000009d9: SSTORE
000009da: JUMPDEST
000009db: PUSH1 0x09
000009dd: SLOAD
000009de: PUSH1 0x04
000009e0: DUP5
000009e1: ADD
000009e2: SSTORE
000009e3: JUMPDEST
000009e4: POP
000009e5: POP
000009e6: POP
000009e7: POP
000009e8: POP
000009e9: JUMP
000009ea: JUMPDEST
000009eb: PUSH1 0x00
000009ed: DUP3
000009ee: DUP2
000009ef: MSTORE
000009f0: PUSH1 0x10
000009f2: PUSH1 0x20
000009f4: SWAP1
000009f5: DUP2
000009f6: MSTORE
000009f7: PUSH1 0x40
000009f9: DUP1
000009fa: DUP4
000009fb: KECCAK256
000009fc: PUSH1 0x09
000009fe: SLOAD
000009ff: DUP5
00000a00: MSTORE
00000a01: PUSH1 0x11
00000a03: SWAP1
00000a04: SWAP3
00000a05: MSTORE
00000a06: DUP3
00000a07: KECCAK256
00000a08: DUP3
00000a09: SWAP2
00000a0a: SWAP1
00000a0b: DUP3
00000a0c: DUP1
00000a0d: DUP1
00000a0e: DUP1
00000a0f: PUSH4 0x3b9aca00
00000a14: DUP10
00000a15: GT
00000a16: ISZERO
00000a17: PUSH2 0x0c34
00000a1a: JUMPI
00000a1b: PUSH1 0x03
00000a1d: SLOAD
00000a1e: PUSH2 0x0a38
00000a21: SWAP1
00000a22: PUSH1 0x64
00000a24: SWAP1
00000a25: PUSH2 0x08de
00000a28: SWAP1
00000a29: DUP13
00000a2a: SWAP1
00000a2b: PUSH3 0x010000
00000a2f: SWAP1
00000a30: DIV
00000a31: PUSH1 0xff
00000a33: AND
00000a34: PUSH2 0x1dae
00000a37: JUMP
00000a38: JUMPDEST
00000a39: SWAP4
00000a3a: POP
00000a3b: PUSH2 0x0a52
00000a3e: PUSH2 0x0a4d
00000a41: DUP11
00000a42: DUP7
00000a43: PUSH4 0xffffffff
00000a48: PUSH2 0x2066
00000a4b: AND
00000a4c: JUMP
00000a4d: JUMPDEST
00000a4e: PUSH2 0x20c6
00000a51: JUMP
00000a52: JUMPDEST
00000a53: SWAP3
00000a54: POP
00000a55: PUSH1 0x00
00000a57: SWAP2
00000a58: POP
00000a59: PUSH2 0x0a60
00000a5c: PUSH2 0x215e
00000a5f: JUMP
00000a60: JUMPDEST
00000a61: DUP10
00000a62: LT
00000a63: PUSH2 0x0ac0
00000a66: JUMPI
00000a67: PUSH1 0x07
00000a69: SLOAD
00000a6a: PUSH1 0x01
00000a6c: DUP7
00000a6d: ADD
00000a6e: SLOAD
00000a6f: PUSH2 0x0a7d
00000a72: SWAP2
00000a73: PUSH4 0xffffffff
00000a78: PUSH2 0x200b
00000a7b: AND
00000a7c: JUMP
00000a7d: JUMPDEST
00000a7e: PUSH1 0x01
00000a80: DUP7
00000a81: ADD
00000a82: SSTORE
00000a83: PUSH1 0x06
00000a85: SLOAD
00000a86: PUSH2 0x0a96
00000a89: SWAP1
00000a8a: TIMESTAMP
00000a8b: SWAP1
00000a8c: PUSH4 0xffffffff
00000a91: PUSH2 0x200b
00000a94: AND
00000a95: JUMP
00000a96: JUMPDEST
00000a97: DUP6
00000a98: PUSH1 0x01
00000a9a: ADD
00000a9b: SLOAD
00000a9c: GT
00000a9d: ISZERO
00000a9e: PUSH2 0x0abb
00000aa1: JUMPI
00000aa2: PUSH1 0x06
00000aa4: SLOAD
00000aa5: PUSH2 0x0ab5
00000aa8: SWAP1
00000aa9: TIMESTAMP
00000aaa: SWAP1
00000aab: PUSH4 0xffffffff
00000ab0: PUSH2 0x200b
00000ab3: AND
00000ab4: JUMP
00000ab5: JUMPDEST
00000ab6: PUSH1 0x01
00000ab8: DUP7
00000ab9: ADD
00000aba: SSTORE
00000abb: JUMPDEST
00000abc: PUSH1 0x01
00000abe: SWAP2
00000abf: POP
00000ac0: JUMPDEST
00000ac1: PUSH1 0x01
00000ac3: DUP7
00000ac4: ADD
00000ac5: SLOAD
00000ac6: PUSH2 0x0ad5
00000ac9: SWAP1
00000aca: DUP5
00000acb: PUSH4 0xffffffff
00000ad0: PUSH2 0x200b
00000ad3: AND
00000ad4: JUMP
00000ad5: JUMPDEST
00000ad6: SWAP1
00000ad7: POP
00000ad8: DUP6
00000ad9: PUSH1 0x01
00000adb: ADD
00000adc: SLOAD
00000add: PUSH1 0x00
00000adf: EQ
00000ae0: ISZERO
00000ae1: PUSH2 0x0aef
00000ae4: JUMPI
00000ae5: TIMESTAMP
00000ae6: PUSH1 0x05
00000ae8: DUP8
00000ae9: ADD
00000aea: SSTORE
00000aeb: PUSH2 0x0b34
00000aee: JUMP
00000aef: JUMPDEST
00000af0: PUSH2 0x0b2e
00000af3: PUSH2 0x0b21
00000af6: DUP3
00000af7: PUSH2 0x08de
00000afa: DUP10
00000afb: PUSH1 0x01
00000afd: ADD
00000afe: SLOAD
00000aff: PUSH2 0x0b15
00000b02: DUP12
00000b03: PUSH1 0x05
00000b05: ADD
00000b06: SLOAD
00000b07: TIMESTAMP
00000b08: PUSH2 0x2066
00000b0b: SWAP1
00000b0c: SWAP2
00000b0d: SWAP1
00000b0e: PUSH4 0xffffffff
00000b13: AND
00000b14: JUMP
00000b15: JUMPDEST
00000b16: SWAP1
00000b17: PUSH4 0xffffffff
00000b1c: PUSH2 0x1dae
00000b1f: AND
00000b20: JUMP
00000b21: JUMPDEST
00000b22: TIMESTAMP
00000b23: SWAP1
00000b24: PUSH4 0xffffffff
00000b29: PUSH2 0x2066
00000b2c: AND
00000b2d: JUMP
00000b2e: JUMPDEST
00000b2f: PUSH1 0x05
00000b31: DUP8
00000b32: ADD
00000b33: SSTORE
00000b34: JUMPDEST
00000b35: PUSH1 0x01
00000b37: DUP7
00000b38: ADD
00000b39: DUP2
00000b3a: SWAP1
00000b3b: SSTORE
00000b3c: PUSH1 0x0d
00000b3e: SLOAD
00000b3f: PUSH2 0x0b5c
00000b42: SWAP1
00000b43: PUSH8 0x0de0b6b3a7640000
00000b4c: SWAP1
00000b4d: PUSH2 0x08de
00000b50: SWAP1
00000b51: DUP7
00000b52: PUSH4 0xffffffff
00000b57: PUSH2 0x1dae
00000b5a: AND
00000b5b: JUMP
00000b5c: JUMPDEST
00000b5d: PUSH1 0x02
00000b5f: DUP1
00000b60: DUP9
00000b61: ADD
00000b62: DUP1
00000b63: SLOAD
00000b64: SWAP3
00000b65: SWAP1
00000b66: SWAP3
00000b67: ADD
00000b68: SWAP1
00000b69: SWAP2
00000b6a: SSTORE
00000b6b: DUP6
00000b6c: ADD
00000b6d: SLOAD
00000b6e: PUSH2 0x0b7d
00000b71: SWAP1
00000b72: DUP5
00000b73: PUSH4 0xffffffff
00000b78: PUSH2 0x200b
00000b7b: AND
00000b7c: JUMP
00000b7d: JUMPDEST
00000b7e: PUSH1 0x02
00000b80: DUP7
00000b81: ADD
00000b82: SSTORE
00000b83: PUSH1 0x04
00000b85: DUP6
00000b86: ADD
00000b87: SLOAD
00000b88: PUSH2 0x0b97
00000b8b: SWAP1
00000b8c: DUP11
00000b8d: PUSH4 0xffffffff
00000b92: PUSH2 0x200b
00000b95: AND
00000b96: JUMP
00000b97: JUMPDEST
00000b98: PUSH1 0x04
00000b9a: DUP7
00000b9b: ADD
00000b9c: SSTORE
00000b9d: PUSH1 0x00
00000b9f: DUP11
00000ba0: DUP2
00000ba1: MSTORE
00000ba2: PUSH1 0x12
00000ba4: PUSH1 0x20
00000ba6: SWAP1
00000ba7: DUP2
00000ba8: MSTORE
00000ba9: PUSH1 0x40
00000bab: DUP1
00000bac: DUP4
00000bad: KECCAK256
00000bae: PUSH1 0x09
00000bb0: SLOAD
00000bb1: DUP5
00000bb2: MSTORE
00000bb3: SWAP1
00000bb4: SWAP2
00000bb5: MSTORE
00000bb6: SWAP1
00000bb7: KECCAK256
00000bb8: SLOAD
00000bb9: PUSH2 0x0bc8
00000bbc: SWAP1
00000bbd: DUP5
00000bbe: PUSH4 0xffffffff
00000bc3: PUSH2 0x200b
00000bc6: AND
00000bc7: JUMP
00000bc8: JUMPDEST
00000bc9: PUSH1 0x00
00000bcb: DUP12
00000bcc: DUP2
00000bcd: MSTORE
00000bce: PUSH1 0x12
00000bd0: PUSH1 0x20
00000bd2: SWAP1
00000bd3: DUP2
00000bd4: MSTORE
00000bd5: PUSH1 0x40
00000bd7: DUP1
00000bd8: DUP4
00000bd9: KECCAK256
00000bda: PUSH1 0x09
00000bdc: SLOAD
00000bdd: DUP5
00000bde: MSTORE
00000bdf: SWAP1
00000be0: SWAP2
00000be1: MSTORE
00000be2: SWAP1
00000be3: KECCAK256
00000be4: SSTORE
00000be5: PUSH1 0x0a
00000be7: SLOAD
00000be8: PUSH2 0x0bf7
00000beb: SWAP1
00000bec: DUP5
00000bed: PUSH4 0xffffffff
00000bf2: PUSH2 0x200b
00000bf5: AND
00000bf6: JUMP
00000bf7: JUMPDEST
00000bf8: PUSH1 0x0a
00000bfa: SSTORE
00000bfb: PUSH1 0x0b
00000bfd: SLOAD
00000bfe: PUSH2 0x0c0d
00000c01: SWAP1
00000c02: DUP11
00000c03: PUSH4 0xffffffff
00000c08: PUSH2 0x200b
00000c0b: AND
00000c0c: JUMP
00000c0d: JUMPDEST
00000c0e: PUSH1 0x0b
00000c10: SSTORE
00000c11: PUSH1 0x0c
00000c13: SLOAD
00000c14: PUSH2 0x0c23
00000c17: SWAP1
00000c18: DUP6
00000c19: PUSH4 0xffffffff
00000c1e: PUSH2 0x200b
00000c21: AND
00000c22: JUMP
00000c23: JUMPDEST
00000c24: PUSH1 0x0c
00000c26: DUP2
00000c27: SWAP1
00000c28: SSTORE
00000c29: POP
00000c2a: DUP3
00000c2b: DUP3
00000c2c: SWAP8
00000c2d: POP
00000c2e: SWAP8
00000c2f: POP
00000c30: PUSH2 0x0c3c
00000c33: JUMP
00000c34: JUMPDEST
00000c35: PUSH1 0x00
00000c37: SWAP8
00000c38: POP
00000c39: DUP8
00000c3a: SWAP7
00000c3b: POP
00000c3c: JUMPDEST
00000c3d: POP
00000c3e: POP
00000c3f: POP
00000c40: POP
00000c41: POP
00000c42: POP
00000c43: SWAP3
00000c44: POP
00000c45: SWAP3
00000c46: SWAP1
00000c47: POP
00000c48: JUMP
00000c49: JUMPDEST
00000c4a: PUSH1 0x07
00000c4c: SLOAD
00000c4d: DUP2
00000c4e: JUMP
00000c4f: JUMPDEST
00000c50: PUSH1 0x40
00000c52: DUP1
00000c53: MLOAD
00000c54: PUSH13 0x01000000000000000000000000
00000c62: CALLER
00000c63: SWAP1
00000c64: DUP2
00000c65: MUL
00000c66: DUP3
00000c67: MSTORE
00000c68: DUP3
00000c69: MLOAD
00000c6a: SWAP2
00000c6b: DUP3
00000c6c: SWAP1
00000c6d: SUB
00000c6e: PUSH1 0x14
00000c70: ADD
00000c71: SWAP1
00000c72: SWAP2
00000c73: KECCAK256
00000c74: PUSH1 0x00
00000c76: SWAP1
00000c77: DUP2
00000c78: MSTORE
00000c79: PUSH1 0x13
00000c7b: PUSH1 0x20
00000c7d: MSTORE
00000c7e: SWAP2
00000c7f: SWAP1
00000c80: SWAP2
00000c81: KECCAK256
00000c82: SLOAD
00000c83: PUSH1 0xff
00000c85: AND
00000c86: ISZERO
00000c87: ISZERO
00000c88: PUSH2 0x0c90
00000c8b: JUMPI
00000c8c: PUSH1 0x00
00000c8e: DUP1
00000c8f: REVERT
00000c90: JUMPDEST
00000c91: PUSH1 0x00
00000c93: SLOAD
00000c94: PUSH1 0x01
00000c96: PUSH1 0xa0
00000c98: PUSH1 0x02
00000c9a: EXP
00000c9b: SUB
00000c9c: AND
00000c9d: ISZERO
00000c9e: PUSH2 0x0cf1
00000ca1: JUMPI
00000ca2: PUSH1 0x40
00000ca4: DUP1
00000ca5: MLOAD
00000ca6: PUSH1 0xe5
00000ca8: PUSH1 0x02
00000caa: EXP
00000cab: PUSH3 0x461bcd
00000caf: MUL
00000cb0: DUP2
00000cb1: MSTORE
00000cb2: PUSH1 0x20
00000cb4: PUSH1 0x04
00000cb6: DUP3
00000cb7: ADD
00000cb8: MSTORE
00000cb9: PUSH1 0x1f
00000cbb: PUSH1 0x24
00000cbd: DUP3
00000cbe: ADD
00000cbf: MSTORE
00000cc0: PUSH32 0x73696c6c79206465762c20796f7520616c726561647920646964207468617400
00000ce1: PUSH1 0x44
00000ce3: DUP3
00000ce4: ADD
00000ce5: MSTORE
00000ce6: SWAP1
00000ce7: MLOAD
00000ce8: SWAP1
00000ce9: DUP2
00000cea: SWAP1
00000ceb: SUB
00000cec: PUSH1 0x64
00000cee: ADD
00000cef: SWAP1
00000cf0: REVERT
00000cf1: JUMPDEST
00000cf2: POP
00000cf3: PUSH1 0x00
00000cf5: DUP1
00000cf6: SLOAD
00000cf7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d0c: NOT
00000d0d: AND
00000d0e: PUSH1 0x01
00000d10: PUSH1 0xa0
00000d12: PUSH1 0x02
00000d14: EXP
00000d15: SUB
00000d16: SWAP3
00000d17: SWAP1
00000d18: SWAP3
00000d19: AND
00000d1a: SWAP2
00000d1b: SWAP1
00000d1c: SWAP2
00000d1d: OR
00000d1e: SWAP1
00000d1f: SSTORE
00000d20: JUMP
00000d21: JUMPDEST
00000d22: PUSH1 0x01
00000d24: DUP1
00000d25: SLOAD
00000d26: PUSH1 0x40
00000d28: DUP1
00000d29: MLOAD
00000d2a: PUSH1 0x20
00000d2c: PUSH1 0x02
00000d2e: DUP5
00000d2f: DUP7
00000d30: AND
00000d31: ISZERO
00000d32: PUSH2 0x0100
00000d35: MUL
00000d36: PUSH1 0x00
00000d38: NOT
00000d39: ADD
00000d3a: SWAP1
00000d3b: SWAP5
00000d3c: AND
00000d3d: SWAP4
00000d3e: SWAP1
00000d3f: SWAP4
00000d40: DIV
00000d41: PUSH1 0x1f
00000d43: DUP2
00000d44: ADD
00000d45: DUP5
00000d46: SWAP1
00000d47: DIV
00000d48: DUP5
00000d49: MUL
00000d4a: DUP3
00000d4b: ADD
00000d4c: DUP5
00000d4d: ADD
00000d4e: SWAP1
00000d4f: SWAP3
00000d50: MSTORE
00000d51: DUP2
00000d52: DUP2
00000d53: MSTORE
00000d54: SWAP3
00000d55: SWAP2
00000d56: DUP4
00000d57: ADD
00000d58: DUP3
00000d59: DUP3
00000d5a: DUP1
00000d5b: ISZERO
00000d5c: PUSH2 0x0da6
00000d5f: JUMPI
00000d60: DUP1
00000d61: PUSH1 0x1f
00000d63: LT
00000d64: PUSH2 0x0d7b
00000d67: JUMPI
00000d68: PUSH2 0x0100
00000d6b: DUP1
00000d6c: DUP4
00000d6d: SLOAD
00000d6e: DIV
00000d6f: MUL
00000d70: DUP4
00000d71: MSTORE
00000d72: SWAP2
00000d73: PUSH1 0x20
00000d75: ADD
00000d76: SWAP2
00000d77: PUSH2 0x0da6
00000d7a: JUMP
00000d7b: JUMPDEST
00000d7c: DUP3
00000d7d: ADD
00000d7e: SWAP2
00000d7f: SWAP1
00000d80: PUSH1 0x00
00000d82: MSTORE
00000d83: PUSH1 0x20
00000d85: PUSH1 0x00
00000d87: KECCAK256
00000d88: SWAP1
00000d89: JUMPDEST
00000d8a: DUP2
00000d8b: SLOAD
00000d8c: DUP2
00000d8d: MSTORE
00000d8e: SWAP1
00000d8f: PUSH1 0x01
00000d91: ADD
00000d92: SWAP1
00000d93: PUSH1 0x20
00000d95: ADD
00000d96: DUP1
00000d97: DUP4
00000d98: GT
00000d99: PUSH2 0x0d89
00000d9c: JUMPI
00000d9d: DUP3
00000d9e: SWAP1
00000d9f: SUB
00000da0: PUSH1 0x1f
00000da2: AND
00000da3: DUP3
00000da4: ADD
00000da5: SWAP2
00000da6: JUMPDEST
00000da7: POP
00000da8: POP
00000da9: POP
00000daa: POP
00000dab: POP
00000dac: DUP2
00000dad: JUMP
00000dae: JUMPDEST
00000daf: PUSH1 0x0e
00000db1: SLOAD
00000db2: DUP2
00000db3: JUMP
00000db4: JUMPDEST
00000db5: PUSH1 0x03
00000db7: SLOAD
00000db8: PUSH1 0x0c
00000dba: SLOAD
00000dbb: PUSH1 0x00
00000dbd: SWAP2
00000dbe: PUSH2 0x0dd9
00000dc1: SWAP2
00000dc2: PUSH1 0x64
00000dc4: SWAP2
00000dc5: PUSH2 0x08de
00000dc8: SWAP2
00000dc9: SWAP1
00000dca: PUSH5 0x0100000000
00000dd0: SWAP1
00000dd1: DIV
00000dd2: PUSH1 0xff
00000dd4: AND
00000dd5: PUSH2 0x1dae
00000dd8: JUMP
00000dd9: JUMPDEST
00000dda: SWAP1
00000ddb: POP
00000ddc: SWAP1
00000ddd: JUMP
00000dde: JUMPDEST
00000ddf: PUSH1 0x00
00000de1: DUP1
00000de2: PUSH2 0x0df2
00000de5: PUSH8 0x0de0b6b3a7640000
00000dee: PUSH2 0x20c6
00000df1: JUMP
00000df2: JUMPDEST
00000df3: SWAP1
00000df4: POP
00000df5: PUSH2 0x0e10
00000df8: DUP2
00000df9: PUSH2 0x08de
00000dfc: DUP6
00000dfd: PUSH8 0x0de0b6b3a7640000
00000e06: PUSH4 0xffffffff
00000e0b: PUSH2 0x1dae
00000e0e: AND
00000e0f: JUMP
00000e10: JUMPDEST
00000e11: SWAP2
00000e12: POP
00000e13: JUMPDEST
00000e14: POP
00000e15: SWAP2
00000e16: SWAP1
00000e17: POP
00000e18: JUMP
00000e19: JUMPDEST
00000e1a: PUSH1 0x40
00000e1c: DUP1
00000e1d: MLOAD
00000e1e: PUSH13 0x01000000000000000000000000
00000e2c: CALLER
00000e2d: SWAP1
00000e2e: DUP2
00000e2f: MUL
00000e30: DUP3
00000e31: MSTORE
00000e32: DUP3
00000e33: MLOAD
00000e34: SWAP2
00000e35: DUP3
00000e36: SWAP1
00000e37: SUB
00000e38: PUSH1 0x14
00000e3a: ADD
00000e3b: SWAP1
00000e3c: SWAP2
00000e3d: KECCAK256
00000e3e: PUSH1 0x00
00000e40: SWAP1
00000e41: DUP2
00000e42: MSTORE
00000e43: PUSH1 0x13
00000e45: PUSH1 0x20
00000e47: MSTORE
00000e48: SWAP2
00000e49: SWAP1
00000e4a: SWAP2
00000e4b: KECCAK256
00000e4c: SLOAD
00000e4d: PUSH1 0xff
00000e4f: AND
00000e50: ISZERO
00000e51: ISZERO
00000e52: PUSH2 0x0e5a
00000e55: JUMPI
00000e56: PUSH1 0x00
00000e58: DUP1
00000e59: REVERT
00000e5a: JUMPDEST
00000e5b: PUSH1 0x14
00000e5d: SLOAD
00000e5e: DUP3
00000e5f: GT
00000e60: ISZERO
00000e61: PUSH2 0x0e69
00000e64: JUMPI
00000e65: PUSH1 0x00
00000e67: DUP1
00000e68: REVERT
00000e69: JUMPDEST
00000e6a: PUSH1 0x14
00000e6c: SLOAD
00000e6d: PUSH2 0x0e7c
00000e70: SWAP1
00000e71: DUP4
00000e72: PUSH4 0xffffffff
00000e77: PUSH2 0x2066
00000e7a: AND
00000e7b: JUMP
00000e7c: JUMPDEST
00000e7d: PUSH1 0x14
00000e7f: SSTORE
00000e80: PUSH1 0x40
00000e82: MLOAD
00000e83: CALLER
00000e84: SWAP1
00000e85: DUP4
00000e86: ISZERO
00000e87: PUSH2 0x08fc
00000e8a: MUL
00000e8b: SWAP1
00000e8c: DUP5
00000e8d: SWAP1
00000e8e: PUSH1 0x00
00000e90: DUP2
00000e91: DUP2
00000e92: DUP2
00000e93: DUP6
00000e94: DUP9
00000e95: DUP9
00000e96: CALL
00000e97: SWAP4
00000e98: POP
00000e99: POP
00000e9a: POP
00000e9b: POP
00000e9c: ISZERO
00000e9d: DUP1
00000e9e: ISZERO
00000e9f: PUSH2 0x0eac
00000ea2: JUMPI
00000ea3: RETURNDATASIZE
00000ea4: PUSH1 0x00
00000ea6: DUP1
00000ea7: RETURNDATACOPY
00000ea8: RETURNDATASIZE
00000ea9: PUSH1 0x00
00000eab: REVERT
00000eac: JUMPDEST
00000ead: POP
00000eae: POP
00000eaf: POP
00000eb0: JUMP
00000eb1: JUMPDEST
00000eb2: PUSH1 0x40
00000eb4: DUP1
00000eb5: MLOAD
00000eb6: PUSH13 0x01000000000000000000000000
00000ec4: CALLER
00000ec5: SWAP1
00000ec6: DUP2
00000ec7: MUL
00000ec8: DUP3
00000ec9: MSTORE
00000eca: DUP3
00000ecb: MLOAD
00000ecc: SWAP2
00000ecd: DUP3
00000ece: SWAP1
00000ecf: SUB
00000ed0: PUSH1 0x14
00000ed2: ADD
00000ed3: SWAP1
00000ed4: SWAP2
00000ed5: KECCAK256
00000ed6: PUSH1 0x00
00000ed8: SWAP1
00000ed9: DUP2
00000eda: MSTORE
00000edb: PUSH1 0x13
00000edd: PUSH1 0x20
00000edf: MSTORE
00000ee0: SWAP2
00000ee1: SWAP1
00000ee2: SWAP2
00000ee3: KECCAK256
00000ee4: SLOAD
00000ee5: PUSH1 0xff
00000ee7: AND
00000ee8: ISZERO
00000ee9: ISZERO
00000eea: PUSH2 0x0ef2
00000eed: JUMPI
00000eee: PUSH1 0x00
00000ef0: DUP1
00000ef1: REVERT
00000ef2: JUMPDEST
00000ef3: PUSH1 0x00
00000ef5: SLOAD
00000ef6: PUSH1 0x01
00000ef8: PUSH1 0xa0
00000efa: PUSH1 0x02
00000efc: EXP
00000efd: SUB
00000efe: AND
00000eff: ISZERO
00000f00: ISZERO
00000f01: PUSH2 0x0f54
00000f04: JUMPI
00000f05: PUSH1 0x40
00000f07: DUP1
00000f08: MLOAD
00000f09: PUSH1 0xe5
00000f0b: PUSH1 0x02
00000f0d: EXP
00000f0e: PUSH3 0x461bcd
00000f12: MUL
00000f13: DUP2
00000f14: MSTORE
00000f15: PUSH1 0x20
00000f17: PUSH1 0x04
00000f19: DUP3
00000f1a: ADD
00000f1b: MSTORE
00000f1c: PUSH1 0x1e
00000f1e: PUSH1 0x24
00000f20: DUP3
00000f21: ADD
00000f22: MSTORE
00000f23: PUSH32 0x6d757374206c696e6b20746f20526566657272616c20436f6e74726163740000
00000f44: PUSH1 0x44
00000f46: DUP3
00000f47: ADD
00000f48: MSTORE
00000f49: SWAP1
00000f4a: MLOAD
00000f4b: SWAP1
00000f4c: DUP2
00000f4d: SWAP1
00000f4e: SUB
00000f4f: PUSH1 0x64
00000f51: ADD
00000f52: SWAP1
00000f53: REVERT
00000f54: JUMPDEST
00000f55: PUSH1 0x15
00000f57: SLOAD
00000f58: PUSH1 0xff
00000f5a: AND
00000f5b: ISZERO
00000f5c: PUSH2 0x0faf
00000f5f: JUMPI
00000f60: PUSH1 0x40
00000f62: DUP1
00000f63: MLOAD
00000f64: PUSH1 0xe5
00000f66: PUSH1 0x02
00000f68: EXP
00000f69: PUSH3 0x461bcd
00000f6d: MUL
00000f6e: DUP2
00000f6f: MSTORE
00000f70: PUSH1 0x20
00000f72: PUSH1 0x04
00000f74: DUP3
00000f75: ADD
00000f76: MSTORE
00000f77: PUSH1 0x11
00000f79: PUSH1 0x24
00000f7b: DUP3
00000f7c: ADD
00000f7d: MSTORE
00000f7e: PUSH32 0x616c726561647920616374697661746564000000000000000000000000000000
00000f9f: PUSH1 0x44
00000fa1: DUP3
00000fa2: ADD
00000fa3: MSTORE
00000fa4: SWAP1
00000fa5: MLOAD
00000fa6: SWAP1
00000fa7: DUP2
00000fa8: SWAP1
00000fa9: SUB
00000faa: PUSH1 0x64
00000fac: ADD
00000fad: SWAP1
00000fae: REVERT
00000faf: JUMPDEST
00000fb0: PUSH1 0x15
00000fb2: DUP1
00000fb3: SLOAD
00000fb4: PUSH1 0xff
00000fb6: NOT
00000fb7: AND
00000fb8: PUSH1 0x01
00000fba: SWAP1
00000fbb: DUP2
00000fbc: OR
00000fbd: SWAP1
00000fbe: SWAP2
00000fbf: SSTORE
00000fc0: PUSH1 0x09
00000fc2: DUP2
00000fc3: SWAP1
00000fc4: SSTORE
00000fc5: PUSH1 0x00
00000fc7: MSTORE
00000fc8: PUSH1 0x11
00000fca: PUSH1 0x20
00000fcc: MSTORE
00000fcd: TIMESTAMP
00000fce: PUSH32 0x17bc176d2408558f6e4111feebc3cab4e16b63e967be91cde721f4c8a488b552
00000fef: DUP2
00000ff0: SWAP1
00000ff1: SSTORE
00000ff2: PUSH1 0x06
00000ff4: SLOAD
00000ff5: PUSH2 0x1004
00000ff8: SWAP2
00000ff9: SWAP1
00000ffa: PUSH4 0xffffffff
00000fff: PUSH2 0x200b
00001002: AND
00001003: JUMP
00001004: JUMPDEST
00001005: PUSH1 0x09
00001007: SLOAD
00001008: PUSH1 0x00
0000100a: SWAP1
0000100b: DUP2
0000100c: MSTORE
0000100d: PUSH1 0x11
0000100f: PUSH1 0x20
00001011: MSTORE
00001012: PUSH1 0x40
00001014: DUP1
00001015: DUP3
00001016: KECCAK256
00001017: PUSH1 0x01
00001019: ADD
0000101a: SWAP3
0000101b: SWAP1
0000101c: SWAP3
0000101d: SSTORE
0000101e: SWAP1
0000101f: MLOAD
00001020: PUSH32 0x1bf9ee2c8421e7abea94b17dbd36199aed94c0ebd5aa70a1dae843419e6b786f
00001041: SWAP2
00001042: SWAP1
00001043: LOG1
00001044: POP
00001045: JUMP
00001046: JUMPDEST
00001047: PUSH1 0x0f
00001049: PUSH1 0x20
0000104b: MSTORE
0000104c: PUSH1 0x00
0000104e: SWAP1
0000104f: DUP2
00001050: MSTORE
00001051: PUSH1 0x40
00001053: SWAP1
00001054: KECCAK256
00001055: SLOAD
00001056: DUP2
00001057: JUMP
00001058: JUMPDEST
00001059: PUSH1 0x04
0000105b: SLOAD
0000105c: DUP2
0000105d: JUMP
0000105e: JUMPDEST
0000105f: PUSH1 0x00
00001061: SLOAD
00001062: PUSH1 0x01
00001064: PUSH1 0xa0
00001066: PUSH1 0x02
00001068: EXP
00001069: SUB
0000106a: AND
0000106b: SWAP1
0000106c: JUMP
0000106d: JUMPDEST
0000106e: PUSH1 0x11
00001070: PUSH1 0x20
00001072: MSTORE
00001073: PUSH1 0x00
00001075: SWAP1
00001076: DUP2
00001077: MSTORE
00001078: PUSH1 0x40
0000107a: SWAP1
0000107b: KECCAK256
0000107c: DUP1
0000107d: SLOAD
0000107e: PUSH1 0x01
00001080: DUP3
00001081: ADD
00001082: SLOAD
00001083: PUSH1 0x02
00001085: DUP4
00001086: ADD
00001087: SLOAD
00001088: PUSH1 0x03
0000108a: DUP5
0000108b: ADD
0000108c: SLOAD
0000108d: PUSH1 0x04
0000108f: SWAP1
00001090: SWAP5
00001091: ADD
00001092: SLOAD
00001093: SWAP3
00001094: SWAP4
00001095: SWAP2
00001096: SWAP3
00001097: SWAP1
00001098: SWAP2
00001099: SWAP1
0000109a: DUP6
0000109b: JUMP
0000109c: JUMPDEST
0000109d: PUSH1 0x00
0000109f: DUP2
000010a0: DUP2
000010a1: MSTORE
000010a2: PUSH1 0x11
000010a4: PUSH1 0x20
000010a6: SWAP1
000010a7: DUP2
000010a8: MSTORE
000010a9: PUSH1 0x40
000010ab: DUP1
000010ac: DUP4
000010ad: KECCAK256
000010ae: PUSH1 0x03
000010b0: ADD
000010b1: SLOAD
000010b2: DUP6
000010b3: DUP5
000010b4: MSTORE
000010b5: PUSH1 0x12
000010b7: DUP4
000010b8: MSTORE
000010b9: DUP2
000010ba: DUP5
000010bb: KECCAK256
000010bc: DUP6
000010bd: DUP6
000010be: MSTORE
000010bf: SWAP1
000010c0: SWAP3
000010c1: MSTORE
000010c2: DUP3
000010c3: KECCAK256
000010c4: SLOAD
000010c5: PUSH2 0x10e1
000010c8: SWAP2
000010c9: PUSH8 0x0de0b6b3a7640000
000010d2: SWAP2
000010d3: PUSH2 0x08de
000010d6: SWAP2
000010d7: PUSH4 0xffffffff
000010dc: PUSH2 0x1dae
000010df: AND
000010e0: JUMP
000010e1: JUMPDEST
000010e2: SWAP1
000010e3: POP
000010e4: JUMPDEST
000010e5: SWAP3
000010e6: SWAP2
000010e7: POP
000010e8: POP
000010e9: JUMP
000010ea: JUMPDEST
000010eb: PUSH1 0x03
000010ed: SLOAD
000010ee: PUSH4 0x01000000
000010f3: SWAP1
000010f4: DIV
000010f5: PUSH1 0xff
000010f7: AND
000010f8: DUP2
000010f9: JUMP
000010fa: JUMPDEST
000010fb: PUSH1 0x40
000010fd: DUP1
000010fe: MLOAD
000010ff: PUSH13 0x01000000000000000000000000
0000110d: CALLER
0000110e: SWAP1
0000110f: DUP2
00001110: MUL
00001111: DUP3
00001112: MSTORE
00001113: DUP3
00001114: MLOAD
00001115: SWAP2
00001116: DUP3
00001117: SWAP1
00001118: SUB
00001119: PUSH1 0x14
0000111b: ADD
0000111c: SWAP1
0000111d: SWAP2
0000111e: KECCAK256
0000111f: PUSH1 0x00
00001121: SWAP1
00001122: DUP2
00001123: MSTORE
00001124: PUSH1 0x13
00001126: PUSH1 0x20
00001128: MSTORE
00001129: SWAP2
0000112a: SWAP1
0000112b: SWAP2
0000112c: KECCAK256
0000112d: SLOAD
0000112e: PUSH1 0xff
00001130: AND
00001131: ISZERO
00001132: ISZERO
00001133: PUSH2 0x113b
00001136: JUMPI
00001137: PUSH1 0x00
00001139: DUP1
0000113a: REVERT
0000113b: JUMPDEST
0000113c: PUSH1 0x00
0000113e: DUP11
0000113f: PUSH2 0xffff
00001142: AND
00001143: LT
00001144: ISZERO
00001145: DUP1
00001146: ISZERO
00001147: PUSH2 0x1156
0000114a: JUMPI
0000114b: POP
0000114c: PUSH2 0x2710
0000114f: DUP11
00001150: PUSH2 0xffff
00001153: AND
00001154: GT
00001155: ISZERO
00001156: JUMPDEST
00001157: ISZERO
00001158: ISZERO
00001159: PUSH2 0x119a
0000115c: JUMPI
0000115d: PUSH1 0x40
0000115f: DUP1
00001160: MLOAD
00001161: PUSH1 0xe5
00001163: PUSH1 0x02
00001165: EXP
00001166: PUSH3 0x461bcd
0000116a: MUL
0000116b: DUP2
0000116c: MSTORE
0000116d: PUSH1 0x20
0000116f: PUSH1 0x04
00001171: DUP3
00001172: ADD
00001173: MSTORE
00001174: PUSH1 0x0d
00001176: PUSH1 0x24
00001178: DUP3
00001179: ADD
0000117a: MSTORE
0000117b: PUSH1 0x00
0000117d: DUP1
0000117e: MLOAD
0000117f: PUSH1 0x20
00001181: PUSH2 0x23db
00001184: DUP4
00001185: CODECOPY
00001186: DUP2
00001187: MLOAD
00001188: SWAP2
00001189: MSTORE
0000118a: PUSH1 0x44
0000118c: DUP3
0000118d: ADD
0000118e: MSTORE
0000118f: SWAP1
00001190: MLOAD
00001191: SWAP1
00001192: DUP2
00001193: SWAP1
00001194: SUB
00001195: PUSH1 0x64
00001197: ADD
00001198: SWAP1
00001199: REVERT
0000119a: JUMPDEST
0000119b: PUSH1 0x00
0000119d: DUP10
0000119e: PUSH1 0xff
000011a0: AND
000011a1: LT
000011a2: ISZERO
000011a3: DUP1
000011a4: ISZERO
000011a5: PUSH2 0x11b2
000011a8: JUMPI
000011a9: POP
000011aa: PUSH1 0x64
000011ac: DUP10
000011ad: PUSH1 0xff
000011af: AND
000011b0: GT
000011b1: ISZERO
000011b2: JUMPDEST
000011b3: ISZERO
000011b4: ISZERO
000011b5: PUSH2 0x11f6
000011b8: JUMPI
000011b9: PUSH1 0x40
000011bb: DUP1
000011bc: MLOAD
000011bd: PUSH1 0xe5
000011bf: PUSH1 0x02
000011c1: EXP
000011c2: PUSH3 0x461bcd
000011c6: MUL
000011c7: DUP2
000011c8: MSTORE
000011c9: PUSH1 0x20
000011cb: PUSH1 0x04
000011cd: DUP3
000011ce: ADD
000011cf: MSTORE
000011d0: PUSH1 0x0d
000011d2: PUSH1 0x24
000011d4: DUP3
000011d5: ADD
000011d6: MSTORE
000011d7: PUSH1 0x00
000011d9: DUP1
000011da: MLOAD
000011db: PUSH1 0x20
000011dd: PUSH2 0x23db
000011e0: DUP4
000011e1: CODECOPY
000011e2: DUP2
000011e3: MLOAD
000011e4: SWAP2
000011e5: MSTORE
000011e6: PUSH1 0x44
000011e8: DUP3
000011e9: ADD
000011ea: MSTORE
000011eb: SWAP1
000011ec: MLOAD
000011ed: SWAP1
000011ee: DUP2
000011ef: SWAP1
000011f0: SUB
000011f1: PUSH1 0x64
000011f3: ADD
000011f4: SWAP1
000011f5: REVERT
000011f6: JUMPDEST
000011f7: PUSH1 0x00
000011f9: DUP9
000011fa: PUSH1 0xff
000011fc: AND
000011fd: LT
000011fe: ISZERO
000011ff: DUP1
00001200: ISZERO
00001201: PUSH2 0x120e
00001204: JUMPI
00001205: POP
00001206: PUSH1 0x64
00001208: DUP9
00001209: PUSH1 0xff
0000120b: AND
0000120c: GT
0000120d: ISZERO
0000120e: JUMPDEST
0000120f: ISZERO
00001210: ISZERO
00001211: PUSH2 0x1252
00001214: JUMPI
00001215: PUSH1 0x40
00001217: DUP1
00001218: MLOAD
00001219: PUSH1 0xe5
0000121b: PUSH1 0x02
0000121d: EXP
0000121e: PUSH3 0x461bcd
00001222: MUL
00001223: DUP2
00001224: MSTORE
00001225: PUSH1 0x20
00001227: PUSH1 0x04
00001229: DUP3
0000122a: ADD
0000122b: MSTORE
0000122c: PUSH1 0x0d
0000122e: PUSH1 0x24
00001230: DUP3
00001231: ADD
00001232: MSTORE
00001233: PUSH1 0x00
00001235: DUP1
00001236: MLOAD
00001237: PUSH1 0x20
00001239: PUSH2 0x23db
0000123c: DUP4
0000123d: CODECOPY
0000123e: DUP2
0000123f: MLOAD
00001240: SWAP2
00001241: MSTORE
00001242: PUSH1 0x44
00001244: DUP3
00001245: ADD
00001246: MSTORE
00001247: SWAP1
00001248: MLOAD
00001249: SWAP1
0000124a: DUP2
0000124b: SWAP1
0000124c: SUB
0000124d: PUSH1 0x64
0000124f: ADD
00001250: SWAP1
00001251: REVERT
00001252: JUMPDEST
00001253: PUSH1 0x00
00001255: DUP8
00001256: PUSH1 0xff
00001258: AND
00001259: LT
0000125a: ISZERO
0000125b: DUP1
0000125c: ISZERO
0000125d: PUSH2 0x126a
00001260: JUMPI
00001261: POP
00001262: PUSH1 0x64
00001264: DUP8
00001265: PUSH1 0xff
00001267: AND
00001268: GT
00001269: ISZERO
0000126a: JUMPDEST
0000126b: ISZERO
0000126c: ISZERO
0000126d: PUSH2 0x12ae
00001270: JUMPI
00001271: PUSH1 0x40
00001273: DUP1
00001274: MLOAD
00001275: PUSH1 0xe5
00001277: PUSH1 0x02
00001279: EXP
0000127a: PUSH3 0x461bcd
0000127e: MUL
0000127f: DUP2
00001280: MSTORE
00001281: PUSH1 0x20
00001283: PUSH1 0x04
00001285: DUP3
00001286: ADD
00001287: MSTORE
00001288: PUSH1 0x0d
0000128a: PUSH1 0x24
0000128c: DUP3
0000128d: ADD
0000128e: MSTORE
0000128f: PUSH1 0x00
00001291: DUP1
00001292: MLOAD
00001293: PUSH1 0x20
00001295: PUSH2 0x23db
00001298: DUP4
00001299: CODECOPY
0000129a: DUP2
0000129b: MLOAD
0000129c: SWAP2
0000129d: MSTORE
0000129e: PUSH1 0x44
000012a0: DUP3
000012a1: ADD
000012a2: MSTORE
000012a3: SWAP1
000012a4: MLOAD
000012a5: SWAP1
000012a6: DUP2
000012a7: SWAP1
000012a8: SUB
000012a9: PUSH1 0x64
000012ab: ADD
000012ac: SWAP1
000012ad: REVERT
000012ae: JUMPDEST
000012af: PUSH1 0x00
000012b1: DUP7
000012b2: PUSH1 0xff
000012b4: AND
000012b5: LT
000012b6: ISZERO
000012b7: DUP1
000012b8: ISZERO
000012b9: PUSH2 0x12c7
000012bc: JUMPI
000012bd: POP
000012be: PUSH2 0x03e8
000012c1: DUP7
000012c2: PUSH1 0xff
000012c4: AND
000012c5: GT
000012c6: ISZERO
000012c7: JUMPDEST
000012c8: ISZERO
000012c9: ISZERO
000012ca: PUSH2 0x130b
000012cd: JUMPI
000012ce: PUSH1 0x40
000012d0: DUP1
000012d1: MLOAD
000012d2: PUSH1 0xe5
000012d4: PUSH1 0x02
000012d6: EXP
000012d7: PUSH3 0x461bcd
000012db: MUL
000012dc: DUP2
000012dd: MSTORE
000012de: PUSH1 0x20
000012e0: PUSH1 0x04
000012e2: DUP3
000012e3: ADD
000012e4: MSTORE
000012e5: PUSH1 0x0d
000012e7: PUSH1 0x24
000012e9: DUP3
000012ea: ADD
000012eb: MSTORE
000012ec: PUSH1 0x00
000012ee: DUP1
000012ef: MLOAD
000012f0: PUSH1 0x20
000012f2: PUSH2 0x23db
000012f5: DUP4
000012f6: CODECOPY
000012f7: DUP2
000012f8: MLOAD
000012f9: SWAP2
000012fa: MSTORE
000012fb: PUSH1 0x44
000012fd: DUP3
000012fe: ADD
000012ff: MSTORE
00001300: SWAP1
00001301: MLOAD
00001302: SWAP1
00001303: DUP2
00001304: SWAP1
00001305: SUB
00001306: PUSH1 0x64
00001308: ADD
00001309: SWAP1
0000130a: REVERT
0000130b: JUMPDEST
0000130c: PUSH2 0xffff
0000130f: DUP11
00001310: AND
00001311: ISZERO
00001312: PUSH2 0x131b
00001315: JUMPI
00001316: DUP10
00001317: PUSH2 0x1323
0000131a: JUMP
0000131b: JUMPDEST
0000131c: PUSH1 0x03
0000131e: SLOAD
0000131f: PUSH2 0xffff
00001322: AND
00001323: JUMPDEST
00001324: PUSH1 0x03
00001326: DUP1
00001327: SLOAD
00001328: PUSH2 0xffff
0000132b: NOT
0000132c: AND
0000132d: PUSH2 0xffff
00001330: SWAP3
00001331: SWAP1
00001332: SWAP3
00001333: AND
00001334: SWAP2
00001335: SWAP1
00001336: SWAP2
00001337: OR
00001338: SWAP1
00001339: SSTORE
0000133a: PUSH1 0xff
0000133c: DUP10
0000133d: AND
0000133e: ISZERO
0000133f: PUSH2 0x1348
00001342: JUMPI
00001343: DUP9
00001344: PUSH2 0x1355
00001347: JUMP
00001348: JUMPDEST
00001349: PUSH1 0x03
0000134b: SLOAD
0000134c: PUSH3 0x010000
00001350: SWAP1
00001351: DIV
00001352: PUSH1 0xff
00001354: AND
00001355: JUMPDEST
00001356: PUSH1 0x03
00001358: DUP1
00001359: SLOAD
0000135a: PUSH3 0xff0000
0000135e: NOT
0000135f: AND
00001360: PUSH3 0x010000
00001364: PUSH1 0xff
00001366: SWAP4
00001367: DUP5
00001368: AND
00001369: MUL
0000136a: OR
0000136b: SWAP1
0000136c: SSTORE
0000136d: DUP9
0000136e: AND
0000136f: ISZERO
00001370: PUSH2 0x1379
00001373: JUMPI
00001374: DUP8
00001375: PUSH2 0x1387
00001378: JUMP
00001379: JUMPDEST
0000137a: PUSH1 0x03
0000137c: SLOAD
0000137d: PUSH4 0x01000000
00001382: SWAP1
00001383: DIV
00001384: PUSH1 0xff
00001386: AND
00001387: JUMPDEST
00001388: PUSH1 0x03
0000138a: DUP1
0000138b: SLOAD
0000138c: PUSH4 0xff000000
00001391: NOT
00001392: AND
00001393: PUSH4 0x01000000
00001398: PUSH1 0xff
0000139a: SWAP4
0000139b: DUP5
0000139c: AND
0000139d: MUL
0000139e: OR
0000139f: SWAP1
000013a0: SSTORE
000013a1: DUP8
000013a2: AND
000013a3: ISZERO
000013a4: PUSH2 0x13ad
000013a7: JUMPI
000013a8: DUP7
000013a9: PUSH2 0x13bc
000013ac: JUMP
000013ad: JUMPDEST
000013ae: PUSH1 0x03
000013b0: SLOAD
000013b1: PUSH5 0x0100000000
000013b7: SWAP1
000013b8: DIV
000013b9: PUSH1 0xff
000013bb: AND
000013bc: JUMPDEST
000013bd: PUSH1 0x03
000013bf: DUP1
000013c0: SLOAD
000013c1: PUSH5 0xff00000000
000013c7: NOT
000013c8: AND
000013c9: PUSH5 0x0100000000
000013cf: PUSH1 0xff
000013d1: SWAP4
000013d2: DUP5
000013d3: AND
000013d4: MUL
000013d5: OR
000013d6: SWAP1
000013d7: SSTORE
000013d8: DUP7
000013d9: AND
000013da: ISZERO
000013db: PUSH2 0x13e4
000013de: JUMPI
000013df: DUP6
000013e0: PUSH2 0x13f4
000013e3: JUMP
000013e4: JUMPDEST
000013e5: PUSH1 0x03
000013e7: SLOAD
000013e8: PUSH6 0x010000000000
000013ef: SWAP1
000013f0: DIV
000013f1: PUSH1 0xff
000013f3: AND
000013f4: JUMPDEST
000013f5: PUSH1 0x03
000013f7: DUP1
000013f8: SLOAD
000013f9: PUSH1 0xff
000013fb: SWAP3
000013fc: SWAP1
000013fd: SWAP3
000013fe: AND
000013ff: PUSH6 0x010000000000
00001406: MUL
00001407: PUSH6 0xff0000000000
0000140e: NOT
0000140f: SWAP1
00001410: SWAP3
00001411: AND
00001412: SWAP2
00001413: SWAP1
00001414: SWAP2
00001415: OR
00001416: SWAP1
00001417: SSTORE
00001418: DUP5
00001419: ISZERO
0000141a: PUSH2 0x1423
0000141d: JUMPI
0000141e: DUP5
0000141f: PUSH2 0x1427
00001422: JUMP
00001423: JUMPDEST
00001424: PUSH1 0x04
00001426: SLOAD
00001427: JUMPDEST
00001428: PUSH1 0x04
0000142a: SSTORE
0000142b: DUP4
0000142c: ISZERO
0000142d: PUSH2 0x1436
00001430: JUMPI
00001431: DUP4
00001432: PUSH2 0x143a
00001435: JUMP
00001436: JUMPDEST
00001437: PUSH1 0x05
00001439: SLOAD
0000143a: JUMPDEST
0000143b: PUSH1 0x05
0000143d: SSTORE
0000143e: DUP3
0000143f: ISZERO
00001440: PUSH2 0x1449
00001443: JUMPI
00001444: DUP3
00001445: PUSH2 0x144d
00001448: JUMP
00001449: JUMPDEST
0000144a: PUSH1 0x06
0000144c: SLOAD
0000144d: JUMPDEST
0000144e: PUSH1 0x06
00001450: SSTORE
00001451: DUP2
00001452: ISZERO
00001453: PUSH2 0x145c
00001456: JUMPI
00001457: DUP2
00001458: PUSH2 0x1460
0000145b: JUMP
0000145c: JUMPDEST
0000145d: PUSH1 0x07
0000145f: SLOAD
00001460: JUMPDEST
00001461: PUSH1 0x07
00001463: SSTORE
00001464: POP
00001465: POP
00001466: POP
00001467: POP
00001468: POP
00001469: POP
0000146a: POP
0000146b: POP
0000146c: POP
0000146d: POP
0000146e: JUMP
0000146f: JUMPDEST
00001470: PUSH1 0x03
00001472: SLOAD
00001473: PUSH5 0x0100000000
00001479: SWAP1
0000147a: DIV
0000147b: PUSH1 0xff
0000147d: AND
0000147e: DUP2
0000147f: JUMP
00001480: JUMPDEST
00001481: PUSH1 0x13
00001483: PUSH1 0x20
00001485: MSTORE
00001486: PUSH1 0x00
00001488: SWAP1
00001489: DUP2
0000148a: MSTORE
0000148b: PUSH1 0x40
0000148d: SWAP1
0000148e: KECCAK256
0000148f: SLOAD
00001490: PUSH1 0xff
00001492: AND
00001493: DUP2
00001494: JUMP
00001495: JUMPDEST
00001496: PUSH1 0x15
00001498: SLOAD
00001499: PUSH1 0x00
0000149b: SWAP1
0000149c: DUP2
0000149d: SWAP1
0000149e: DUP2
0000149f: SWAP1
000014a0: DUP2
000014a1: SWAP1
000014a2: PUSH1 0xff
000014a4: AND
000014a5: ISZERO
000014a6: ISZERO
000014a7: PUSH1 0x01
000014a9: EQ
000014aa: PUSH2 0x14eb
000014ad: JUMPI
000014ae: PUSH1 0x40
000014b0: DUP1
000014b1: MLOAD
000014b2: PUSH1 0xe5
000014b4: PUSH1 0x02
000014b6: EXP
000014b7: PUSH3 0x461bcd
000014bb: MUL
000014bc: DUP2
000014bd: MSTORE
000014be: PUSH1 0x20
000014c0: PUSH1 0x04
000014c2: DUP3
000014c3: ADD
000014c4: MSTORE
000014c5: PUSH1 0x12
000014c7: PUSH1 0x24
000014c9: DUP3
000014ca: ADD
000014cb: MSTORE
000014cc: PUSH1 0x00
000014ce: DUP1
000014cf: MLOAD
000014d0: PUSH1 0x20
000014d2: PUSH2 0x23fb
000014d5: DUP4
000014d6: CODECOPY
000014d7: DUP2
000014d8: MLOAD
000014d9: SWAP2
000014da: MSTORE
000014db: PUSH1 0x44
000014dd: DUP3
000014de: ADD
000014df: MSTORE
000014e0: SWAP1
000014e1: MLOAD
000014e2: SWAP1
000014e3: DUP2
000014e4: SWAP1
000014e5: SUB
000014e6: PUSH1 0x64
000014e8: ADD
000014e9: SWAP1
000014ea: REVERT
000014eb: JUMPDEST
000014ec: PUSH2 0x14f3
000014ef: PUSH2 0x083f
000014f2: JUMP
000014f3: JUMPDEST
000014f4: SWAP4
000014f5: POP
000014f6: PUSH2 0x14fe
000014f9: DUP5
000014fa: PUSH2 0x08a5
000014fd: JUMP
000014fe: JUMPDEST
000014ff: PUSH2 0x1507
00001502: DUP5
00001503: PUSH2 0x21ca
00001506: JUMP
00001507: JUMPDEST
00001508: SWAP1
00001509: SWAP4
0000150a: POP
0000150b: SWAP2
0000150c: POP
0000150d: PUSH2 0x151c
00001510: DUP4
00001511: DUP4
00001512: PUSH4 0xffffffff
00001517: PUSH2 0x200b
0000151a: AND
0000151b: JUMP
0000151c: JUMPDEST
0000151d: SWAP1
0000151e: POP
0000151f: PUSH1 0x00
00001521: DUP2
00001522: GT
00001523: ISZERO
00001524: PUSH2 0x156d
00001527: JUMPI
00001528: PUSH1 0x00
0000152a: DUP5
0000152b: DUP2
0000152c: MSTORE
0000152d: PUSH1 0x10
0000152f: PUSH1 0x20
00001531: MSTORE
00001532: PUSH1 0x40
00001534: DUP1
00001535: DUP3
00001536: KECCAK256
00001537: SLOAD
00001538: SWAP1
00001539: MLOAD
0000153a: PUSH1 0x01
0000153c: PUSH1 0xa0
0000153e: PUSH1 0x02
00001540: EXP
00001541: SUB
00001542: SWAP1
00001543: SWAP2
00001544: AND
00001545: SWAP2
00001546: DUP4
00001547: ISZERO
00001548: PUSH2 0x08fc
0000154b: MUL
0000154c: SWAP2
0000154d: DUP5
0000154e: SWAP2
0000154f: DUP2
00001550: DUP2
00001551: DUP2
00001552: DUP6
00001553: DUP9
00001554: DUP9
00001555: CALL
00001556: SWAP4
00001557: POP
00001558: POP
00001559: POP
0000155a: POP
0000155b: ISZERO
0000155c: DUP1
0000155d: ISZERO
0000155e: PUSH2 0x156b
00001561: JUMPI
00001562: RETURNDATASIZE
00001563: PUSH1 0x00
00001565: DUP1
00001566: RETURNDATACOPY
00001567: RETURNDATASIZE
00001568: PUSH1 0x00
0000156a: REVERT
0000156b: JUMPDEST
0000156c: POP
0000156d: JUMPDEST
0000156e: PUSH1 0x09
00001570: SLOAD
00001571: PUSH1 0x40
00001573: DUP1
00001574: MLOAD
00001575: CALLER
00001576: DUP2
00001577: MSTORE
00001578: PUSH1 0x20
0000157a: DUP2
0000157b: ADD
0000157c: DUP8
0000157d: SWAP1
0000157e: MSTORE
0000157f: DUP1
00001580: DUP3
00001581: ADD
00001582: SWAP3
00001583: SWAP1
00001584: SWAP3
00001585: MSTORE
00001586: PUSH1 0x60
00001588: DUP3
00001589: ADD
0000158a: DUP4
0000158b: SWAP1
0000158c: MSTORE
0000158d: PUSH1 0x80
0000158f: DUP3
00001590: ADD
00001591: DUP6
00001592: SWAP1
00001593: MSTORE
00001594: PUSH1 0xa0
00001596: DUP3
00001597: ADD
00001598: DUP5
00001599: SWAP1
0000159a: MSTORE
0000159b: MLOAD
0000159c: PUSH32 0x8442e0fa60883a78cbb85beed07648d2b2c27c07de5a0ce7b5ab490eeeab3a12
000015bd: SWAP2
000015be: DUP2
000015bf: SWAP1
000015c0: SUB
000015c1: PUSH1 0xc0
000015c3: ADD
000015c4: SWAP1
000015c5: LOG1
000015c6: POP
000015c7: POP
000015c8: POP
000015c9: POP
000015ca: JUMP
000015cb: JUMPDEST
000015cc: PUSH1 0x06
000015ce: SLOAD
000015cf: DUP2
000015d0: JUMP
000015d1: JUMPDEST
000015d2: PUSH1 0x03
000015d4: SLOAD
000015d5: PUSH3 0x010000
000015d9: SWAP1
000015da: DIV
000015db: PUSH1 0xff
000015dd: AND
000015de: DUP2
000015df: JUMP
000015e0: JUMPDEST
000015e1: PUSH1 0x0c
000015e3: SLOAD
000015e4: DUP2
000015e5: JUMP
000015e6: JUMPDEST
000015e7: PUSH1 0x08
000015e9: SLOAD
000015ea: DUP2
000015eb: JUMP
000015ec: JUMPDEST
000015ed: PUSH1 0x09
000015ef: SLOAD
000015f0: DUP2
000015f1: JUMP
000015f2: JUMPDEST
000015f3: PUSH1 0x03
000015f5: SLOAD
000015f6: PUSH6 0x010000000000
000015fd: SWAP1
000015fe: DIV
000015ff: PUSH1 0xff
00001601: AND
00001602: DUP2
00001603: JUMP
00001604: JUMPDEST
00001605: PUSH1 0x05
00001607: SLOAD
00001608: DUP2
00001609: JUMP
0000160a: JUMPDEST
0000160b: PUSH1 0x0a
0000160d: SLOAD
0000160e: DUP2
0000160f: JUMP
00001610: JUMPDEST
00001611: PUSH1 0x40
00001613: DUP1
00001614: MLOAD
00001615: PUSH13 0x01000000000000000000000000
00001623: CALLER
00001624: SWAP1
00001625: DUP2
00001626: MUL
00001627: DUP3
00001628: MSTORE
00001629: DUP3
0000162a: MLOAD
0000162b: SWAP2
0000162c: DUP3
0000162d: SWAP1
0000162e: SUB
0000162f: PUSH1 0x14
00001631: ADD
00001632: SWAP1
00001633: SWAP2
00001634: KECCAK256
00001635: PUSH1 0x00
00001637: SWAP1
00001638: DUP2
00001639: MSTORE
0000163a: PUSH1 0x13
0000163c: PUSH1 0x20
0000163e: MSTORE
0000163f: SWAP2
00001640: SWAP1
00001641: SWAP2
00001642: KECCAK256
00001643: SLOAD
00001644: PUSH1 0xff
00001646: AND
00001647: ISZERO
00001648: ISZERO
00001649: PUSH2 0x1651
0000164c: JUMPI
0000164d: PUSH1 0x00
0000164f: DUP1
00001650: REVERT
00001651: JUMPDEST
00001652: POP
00001653: PUSH1 0x00
00001655: SWAP2
00001656: DUP3
00001657: MSTORE
00001658: PUSH1 0x13
0000165a: PUSH1 0x20
0000165c: MSTORE
0000165d: PUSH1 0x40
0000165f: SWAP1
00001660: SWAP2
00001661: KECCAK256
00001662: DUP1
00001663: SLOAD
00001664: PUSH1 0xff
00001666: NOT
00001667: AND
00001668: SWAP2
00001669: ISZERO
0000166a: ISZERO
0000166b: SWAP2
0000166c: SWAP1
0000166d: SWAP2
0000166e: OR
0000166f: SWAP1
00001670: SSTORE
00001671: JUMP
00001672: JUMPDEST
00001673: PUSH1 0x00
00001675: DUP2
00001676: DUP2
00001677: MSTORE
00001678: PUSH1 0x10
0000167a: PUSH1 0x20
0000167c: MSTORE
0000167d: PUSH1 0x40
0000167f: DUP2
00001680: KECCAK256
00001681: PUSH1 0x02
00001683: DUP2
00001684: ADD
00001685: SLOAD
00001686: PUSH1 0x0d
00001688: SLOAD
00001689: PUSH1 0x01
0000168b: DUP4
0000168c: ADD
0000168d: SLOAD
0000168e: PUSH2 0x16aa
00001691: SWAP2
00001692: PUSH8 0x0de0b6b3a7640000
0000169b: SWAP2
0000169c: PUSH2 0x08de
0000169f: SWAP2
000016a0: PUSH4 0xffffffff
000016a5: PUSH2 0x1dae
000016a8: AND
000016a9: JUMP
000016aa: JUMPDEST
000016ab: SUB
000016ac: SWAP4
000016ad: SWAP3
000016ae: POP
000016af: POP
000016b0: POP
000016b1: JUMP
000016b2: JUMPDEST
000016b3: PUSH1 0x02
000016b5: DUP1
000016b6: SLOAD
000016b7: PUSH1 0x40
000016b9: DUP1
000016ba: MLOAD
000016bb: PUSH1 0x20
000016bd: PUSH1 0x01
000016bf: DUP5
000016c0: AND
000016c1: ISZERO
000016c2: PUSH2 0x0100
000016c5: MUL
000016c6: PUSH1 0x00
000016c8: NOT
000016c9: ADD
000016ca: SWAP1
000016cb: SWAP4
000016cc: AND
000016cd: DUP5
000016ce: SWAP1
000016cf: DIV
000016d0: PUSH1 0x1f
000016d2: DUP2
000016d3: ADD
000016d4: DUP5
000016d5: SWAP1
000016d6: DIV
000016d7: DUP5
000016d8: MUL
000016d9: DUP3
000016da: ADD
000016db: DUP5
000016dc: ADD
000016dd: SWAP1
000016de: SWAP3
000016df: MSTORE
000016e0: DUP2
000016e1: DUP2
000016e2: MSTORE
000016e3: SWAP3
000016e4: SWAP2
000016e5: DUP4
000016e6: ADD
000016e7: DUP3
000016e8: DUP3
000016e9: DUP1
000016ea: ISZERO
000016eb: PUSH2 0x0da6
000016ee: JUMPI
000016ef: DUP1
000016f0: PUSH1 0x1f
000016f2: LT
000016f3: PUSH2 0x0d7b
000016f6: JUMPI
000016f7: PUSH2 0x0100
000016fa: DUP1
000016fb: DUP4
000016fc: SLOAD
000016fd: DIV
000016fe: MUL
000016ff: DUP4
00001700: MSTORE
00001701: SWAP2
00001702: PUSH1 0x20
00001704: ADD
00001705: SWAP2
00001706: PUSH2 0x0da6
00001709: JUMP
0000170a: JUMPDEST
0000170b: PUSH1 0x12
0000170d: PUSH1 0x20
0000170f: SWAP1
00001710: DUP2
00001711: MSTORE
00001712: PUSH1 0x00
00001714: SWAP3
00001715: DUP4
00001716: MSTORE
00001717: PUSH1 0x40
00001719: DUP1
0000171a: DUP5
0000171b: KECCAK256
0000171c: SWAP1
0000171d: SWAP2
0000171e: MSTORE
0000171f: SWAP1
00001720: DUP3
00001721: MSTORE
00001722: SWAP1
00001723: KECCAK256
00001724: SLOAD
00001725: DUP2
00001726: JUMP
00001727: JUMPDEST
00001728: PUSH1 0x15
0000172a: SLOAD
0000172b: PUSH1 0x00
0000172d: SWAP1
0000172e: DUP2
0000172f: SWAP1
00001730: DUP2
00001731: SWAP1
00001732: DUP2
00001733: SWAP1
00001734: DUP2
00001735: SWAP1
00001736: DUP2
00001737: SWAP1
00001738: DUP2
00001739: SWAP1
0000173a: PUSH1 0xff
0000173c: AND
0000173d: ISZERO
0000173e: ISZERO
0000173f: PUSH1 0x01
00001741: EQ
00001742: PUSH2 0x1783
00001745: JUMPI
00001746: PUSH1 0x40
00001748: DUP1
00001749: MLOAD
0000174a: PUSH1 0xe5
0000174c: PUSH1 0x02
0000174e: EXP
0000174f: PUSH3 0x461bcd
00001753: MUL
00001754: DUP2
00001755: MSTORE
00001756: PUSH1 0x20
00001758: PUSH1 0x04
0000175a: DUP3
0000175b: ADD
0000175c: MSTORE
0000175d: PUSH1 0x12
0000175f: PUSH1 0x24
00001761: DUP3
00001762: ADD
00001763: MSTORE
00001764: PUSH1 0x00
00001766: DUP1
00001767: MLOAD
00001768: PUSH1 0x20
0000176a: PUSH2 0x23fb
0000176d: DUP4
0000176e: CODECOPY
0000176f: DUP2
00001770: MLOAD
00001771: SWAP2
00001772: MSTORE
00001773: PUSH1 0x44
00001775: DUP3
00001776: ADD
00001777: MSTORE
00001778: SWAP1
00001779: MLOAD
0000177a: SWAP1
0000177b: DUP2
0000177c: SWAP1
0000177d: SUB
0000177e: PUSH1 0x64
00001780: ADD
00001781: SWAP1
00001782: REVERT
00001783: JUMPDEST
00001784: PUSH2 0x178b
00001787: PUSH2 0x083f
0000178a: JUMP
0000178b: JUMPDEST
0000178c: SWAP7
0000178d: POP
0000178e: PUSH2 0x1796
00001791: DUP8
00001792: PUSH2 0x08a5
00001795: JUMP
00001796: JUMPDEST
00001797: PUSH2 0x179f
0000179a: DUP8
0000179b: PUSH2 0x21ca
0000179e: JUMP
0000179f: JUMPDEST
000017a0: SWAP1
000017a1: SWAP7
000017a2: POP
000017a3: SWAP5
000017a4: POP
000017a5: PUSH2 0x17b4
000017a8: DUP7
000017a9: DUP7
000017aa: PUSH4 0xffffffff
000017af: PUSH2 0x200b
000017b2: AND
000017b3: JUMP
000017b4: JUMPDEST
000017b5: SWAP4
000017b6: POP
000017b7: PUSH2 0x17be
000017ba: PUSH2 0x083a
000017bd: JUMP
000017be: JUMPDEST
000017bf: SWAP3
000017c0: POP
000017c1: PUSH8 0x8ac7230489e80000
000017ca: DUP4
000017cb: GT
000017cc: DUP1
000017cd: ISZERO
000017ce: PUSH2 0x17df
000017d1: JUMPI
000017d2: POP
000017d3: PUSH9 0x1b1ae4d6e2ef500000
000017dd: DUP4
000017de: LT
000017df: JUMPDEST
000017e0: ISZERO
000017e1: PUSH2 0x17f9
000017e4: JUMPI
000017e5: PUSH8 0x8ac7230489e80000
000017ee: DUP5
000017ef: LT
000017f0: ISZERO
000017f1: PUSH2 0x17f9
000017f4: JUMPI
000017f5: PUSH1 0x00
000017f7: DUP1
000017f8: REVERT
000017f9: JUMPDEST
000017fa: PUSH2 0x1803
000017fd: DUP8
000017fe: DUP6
000017ff: PUSH2 0x09ea
00001802: JUMP
00001803: JUMPDEST
00001804: PUSH1 0x09
00001806: SLOAD
00001807: PUSH1 0x40
00001809: DUP1
0000180a: MLOAD
0000180b: CALLER
0000180c: DUP2
0000180d: MSTORE
0000180e: PUSH1 0x20
00001810: DUP2
00001811: ADD
00001812: DUP13
00001813: SWAP1
00001814: MSTORE
00001815: DUP1
00001816: DUP3
00001817: ADD
00001818: SWAP3
00001819: SWAP1
0000181a: SWAP3
0000181b: MSTORE
0000181c: PUSH1 0x60
0000181e: DUP3
0000181f: ADD
00001820: DUP9
00001821: SWAP1
00001822: MSTORE
00001823: PUSH1 0x80
00001825: DUP3
00001826: ADD
00001827: DUP11
00001828: SWAP1
00001829: MSTORE
0000182a: PUSH1 0xa0
0000182c: DUP3
0000182d: ADD
0000182e: DUP10
0000182f: SWAP1
00001830: MSTORE
00001831: PUSH1 0xc0
00001833: DUP3
00001834: ADD
00001835: DUP5
00001836: SWAP1
00001837: MSTORE
00001838: DUP3
00001839: ISZERO
0000183a: ISZERO
0000183b: PUSH1 0xe0
0000183d: DUP4
0000183e: ADD
0000183f: MSTORE
00001840: MLOAD
00001841: SWAP3
00001842: SWAP5
00001843: POP
00001844: SWAP1
00001845: SWAP3
00001846: POP
00001847: PUSH32 0xb282f15a2b1940a3dd620b5cff75b09a84e7c672c360c7345884a0e64b251670
00001868: SWAP2
00001869: SWAP1
0000186a: DUP2
0000186b: SWAP1
0000186c: SUB
0000186d: PUSH2 0x0100
00001870: ADD
00001871: SWAP1
00001872: LOG1
00001873: POP
00001874: POP
00001875: POP
00001876: POP
00001877: POP
00001878: POP
00001879: POP
0000187a: JUMP
0000187b: JUMPDEST
0000187c: PUSH1 0x40
0000187e: DUP1
0000187f: MLOAD
00001880: PUSH13 0x01000000000000000000000000
0000188e: CALLER
0000188f: SWAP1
00001890: DUP2
00001891: MUL
00001892: DUP3
00001893: MSTORE
00001894: DUP3
00001895: MLOAD
00001896: SWAP2
00001897: DUP3
00001898: SWAP1
00001899: SUB
0000189a: PUSH1 0x14
0000189c: ADD
0000189d: SWAP1
0000189e: SWAP2
0000189f: KECCAK256
000018a0: PUSH1 0x00
000018a2: SWAP1
000018a3: DUP2
000018a4: MSTORE
000018a5: PUSH1 0x13
000018a7: PUSH1 0x20
000018a9: MSTORE
000018aa: SWAP2
000018ab: SWAP1
000018ac: SWAP2
000018ad: KECCAK256
000018ae: SLOAD
000018af: PUSH1 0xff
000018b1: AND
000018b2: ISZERO
000018b3: ISZERO
000018b4: PUSH2 0x18bc
000018b7: JUMPI
000018b8: PUSH1 0x00
000018ba: DUP1
000018bb: REVERT
000018bc: JUMPDEST
000018bd: PUSH1 0x14
000018bf: SLOAD
000018c0: PUSH2 0x18cf
000018c3: SWAP1
000018c4: CALLVALUE
000018c5: PUSH4 0xffffffff
000018ca: PUSH2 0x200b
000018cd: AND
000018ce: JUMP
000018cf: JUMPDEST
000018d0: PUSH1 0x14
000018d2: SSTORE
000018d3: POP
000018d4: JUMP
000018d5: JUMPDEST
000018d6: PUSH1 0x15
000018d8: SLOAD
000018d9: PUSH1 0x00
000018db: SWAP1
000018dc: PUSH1 0xff
000018de: AND
000018df: ISZERO
000018e0: ISZERO
000018e1: PUSH1 0x01
000018e3: EQ
000018e4: PUSH2 0x1925
000018e7: JUMPI
000018e8: PUSH1 0x40
000018ea: DUP1
000018eb: MLOAD
000018ec: PUSH1 0xe5
000018ee: PUSH1 0x02
000018f0: EXP
000018f1: PUSH3 0x461bcd
000018f5: MUL
000018f6: DUP2
000018f7: MSTORE
000018f8: PUSH1 0x20
000018fa: PUSH1 0x04
000018fc: DUP3
000018fd: ADD
000018fe: MSTORE
000018ff: PUSH1 0x12
00001901: PUSH1 0x24
00001903: DUP3
00001904: ADD
00001905: MSTORE
00001906: PUSH1 0x00
00001908: DUP1
00001909: MLOAD
0000190a: PUSH1 0x20
0000190c: PUSH2 0x23fb
0000190f: DUP4
00001910: CODECOPY
00001911: DUP2
00001912: MLOAD
00001913: SWAP2
00001914: MSTORE
00001915: PUSH1 0x44
00001917: DUP3
00001918: ADD
00001919: MSTORE
0000191a: SWAP1
0000191b: MLOAD
0000191c: SWAP1
0000191d: DUP2
0000191e: SWAP1
0000191f: SUB
00001920: PUSH1 0x64
00001922: ADD
00001923: SWAP1
00001924: REVERT
00001925: JUMPDEST
00001926: POP
00001927: PUSH1 0x0a
00001929: SLOAD
0000192a: CALLVALUE
0000192b: SWAP1
0000192c: PUSH2 0x195a
0000192f: SWAP1
00001930: PUSH2 0x194b
00001933: SWAP1
00001934: PUSH2 0x08de
00001937: DUP5
00001938: PUSH8 0x0de0b6b3a7640000
00001941: PUSH4 0xffffffff
00001946: PUSH2 0x1dae
00001949: AND
0000194a: JUMP
0000194b: JUMPDEST
0000194c: PUSH1 0x0d
0000194e: SLOAD
0000194f: SWAP1
00001950: PUSH4 0xffffffff
00001955: PUSH2 0x200b
00001958: AND
00001959: JUMP
0000195a: JUMPDEST
0000195b: PUSH1 0x0d
0000195d: SSTORE
0000195e: PUSH1 0x40
00001960: DUP1
00001961: MLOAD
00001962: DUP3
00001963: DUP2
00001964: MSTORE
00001965: SWAP1
00001966: MLOAD
00001967: PUSH32 0xab1b8e88aa0a811da847590c5575e9ebc918074a41027224b354886890add27f
00001988: SWAP2
00001989: DUP2
0000198a: SWAP1
0000198b: SUB
0000198c: PUSH1 0x20
0000198e: ADD
0000198f: SWAP1
00001990: LOG1
00001991: POP
00001992: JUMP
00001993: JUMPDEST
00001994: PUSH1 0x00
00001996: DUP1
00001997: PUSH1 0x00
00001999: DUP1
0000199a: PUSH1 0x0a
0000199c: SLOAD
0000199d: DUP6
0000199e: GT
0000199f: ISZERO
000019a0: ISZERO
000019a1: ISZERO
000019a2: PUSH2 0x19f5
000019a5: JUMPI
000019a6: PUSH1 0x40
000019a8: DUP1
000019a9: MLOAD
000019aa: PUSH1 0xe5
000019ac: PUSH1 0x02
000019ae: EXP
000019af: PUSH3 0x461bcd
000019b3: MUL
000019b4: DUP2
000019b5: MSTORE
000019b6: PUSH1 0x20
000019b8: PUSH1 0x04
000019ba: DUP3
000019bb: ADD
000019bc: MSTORE
000019bd: PUSH1 0x14
000019bf: PUSH1 0x24
000019c1: DUP3
000019c2: ADD
000019c3: MSTORE
000019c4: PUSH32 0x657863656564656420746865206d6178696d756d000000000000000000000000
000019e5: PUSH1 0x44
000019e7: DUP3
000019e8: ADD
000019e9: MSTORE
000019ea: SWAP1
000019eb: MLOAD
000019ec: SWAP1
000019ed: DUP2
000019ee: SWAP1
000019ef: SUB
000019f0: PUSH1 0x64
000019f2: ADD
000019f3: SWAP1
000019f4: REVERT
000019f5: JUMPDEST
000019f6: PUSH2 0x19fe
000019f9: DUP6
000019fa: PUSH2 0x225a
000019fd: JUMP
000019fe: JUMPDEST
000019ff: PUSH1 0x03
00001a01: SLOAD
00001a02: SWAP1
00001a03: SWAP4
00001a04: POP
00001a05: PUSH2 0x1a21
00001a08: SWAP1
00001a09: PUSH2 0x2710
00001a0c: SWAP1
00001a0d: PUSH2 0x08de
00001a10: SWAP1
00001a11: DUP7
00001a12: SWAP1
00001a13: PUSH2 0xffff
00001a16: AND
00001a17: PUSH4 0xffffffff
00001a1c: PUSH2 0x1dae
00001a1f: AND
00001a20: JUMP
00001a21: JUMPDEST
00001a22: SWAP2
00001a23: POP
00001a24: PUSH2 0x1a33
00001a27: DUP4
00001a28: DUP4
00001a29: PUSH4 0xffffffff
00001a2e: PUSH2 0x2066
00001a31: AND
00001a32: JUMP
00001a33: JUMPDEST
00001a34: SWAP6
00001a35: SWAP5
00001a36: POP
00001a37: POP
00001a38: POP
00001a39: POP
00001a3a: POP
00001a3b: JUMP
00001a3c: JUMPDEST
00001a3d: PUSH1 0x00
00001a3f: DUP1
00001a40: PUSH1 0x00
00001a42: PUSH2 0x1a86
00001a45: PUSH1 0x03
00001a47: DUP1
00001a48: SWAP1
00001a49: SLOAD
00001a4a: SWAP1
00001a4b: PUSH2 0x0100
00001a4e: EXP
00001a4f: SWAP1
00001a50: DIV
00001a51: PUSH1 0xff
00001a53: AND
00001a54: PUSH1 0xff
00001a56: AND
00001a57: PUSH2 0x0b15
00001a5a: PUSH3 0x015180
00001a5e: PUSH2 0x08de
00001a61: PUSH1 0x10
00001a63: PUSH1 0x00
00001a65: DUP11
00001a66: DUP2
00001a67: MSTORE
00001a68: PUSH1 0x20
00001a6a: ADD
00001a6b: SWAP1
00001a6c: DUP2
00001a6d: MSTORE
00001a6e: PUSH1 0x20
00001a70: ADD
00001a71: PUSH1 0x00
00001a73: KECCAK256
00001a74: PUSH1 0x05
00001a76: ADD
00001a77: SLOAD
00001a78: TIMESTAMP
00001a79: PUSH2 0x2066
00001a7c: SWAP1
00001a7d: SWAP2
00001a7e: SWAP1
00001a7f: PUSH4 0xffffffff
00001a84: AND
00001a85: JUMP
00001a86: JUMPDEST
00001a87: SWAP2
00001a88: POP
00001a89: PUSH1 0x64
00001a8b: DUP3
00001a8c: GT
00001a8d: ISZERO
00001a8e: PUSH2 0x1a96
00001a91: JUMPI
00001a92: PUSH1 0x64
00001a94: SWAP2
00001a95: POP
00001a96: JUMPDEST
00001a97: PUSH1 0x03
00001a99: SLOAD
00001a9a: PUSH2 0x1acb
00001a9d: SWAP1
00001a9e: PUSH2 0x1ab8
00001aa1: SWAP1
00001aa2: PUSH1 0x64
00001aa4: SWAP1
00001aa5: PUSH2 0x08de
00001aa8: SWAP1
00001aa9: PUSH2 0xffff
00001aac: AND
00001aad: DUP7
00001aae: PUSH4 0xffffffff
00001ab3: PUSH2 0x1dae
00001ab6: AND
00001ab7: JUMP
00001ab8: JUMPDEST
00001ab9: PUSH1 0x03
00001abb: SLOAD
00001abc: PUSH2 0xffff
00001abf: AND
00001ac0: SWAP1
00001ac1: PUSH4 0xffffffff
00001ac6: PUSH2 0x2066
00001ac9: AND
00001aca: JUMP
00001acb: JUMPDEST
00001acc: SWAP5
00001acd: SWAP4
00001ace: POP
00001acf: POP
00001ad0: POP
00001ad1: POP
00001ad2: JUMP
00001ad3: JUMPDEST
00001ad4: PUSH1 0x00
00001ad6: DUP2
00001ad7: DUP2
00001ad8: MSTORE
00001ad9: PUSH1 0x10
00001adb: PUSH1 0x20
00001add: SWAP1
00001ade: DUP2
00001adf: MSTORE
00001ae0: PUSH1 0x40
00001ae2: DUP1
00001ae3: DUP4
00001ae4: KECCAK256
00001ae5: PUSH1 0x04
00001ae7: DUP2
00001ae8: ADD
00001ae9: SLOAD
00001aea: DUP1
00001aeb: DUP6
00001aec: MSTORE
00001aed: PUSH1 0x11
00001aef: DUP5
00001af0: MSTORE
00001af1: DUP3
00001af2: DUP6
00001af3: KECCAK256
00001af4: DUP7
00001af5: DUP7
00001af6: MSTORE
00001af7: PUSH1 0x12
00001af9: DUP6
00001afa: MSTORE
00001afb: DUP4
00001afc: DUP7
00001afd: KECCAK256
00001afe: DUP3
00001aff: DUP8
00001b00: MSTORE
00001b01: SWAP1
00001b02: SWAP5
00001b03: MSTORE
00001b04: SWAP2
00001b05: DUP5
00001b06: KECCAK256
00001b07: SLOAD
00001b08: PUSH1 0x03
00001b0a: DUP3
00001b0b: ADD
00001b0c: SLOAD
00001b0d: PUSH1 0x09
00001b0f: SLOAD
00001b10: SWAP3
00001b11: SWAP5
00001b12: SWAP3
00001b13: DUP5
00001b14: EQ
00001b15: DUP1
00001b16: ISZERO
00001b17: SWAP1
00001b18: PUSH2 0x1b21
00001b1b: JUMPI
00001b1c: POP
00001b1d: PUSH1 0x00
00001b1f: DUP5
00001b20: GT
00001b21: JUMPDEST
00001b22: DUP1
00001b23: ISZERO
00001b24: PUSH2 0x1b2d
00001b27: JUMPI
00001b28: POP
00001b29: PUSH1 0x00
00001b2b: DUP3
00001b2c: GT
00001b2d: JUMPDEST
00001b2e: DUP1
00001b2f: ISZERO
00001b30: PUSH2 0x1b3d
00001b33: JUMPI
00001b34: POP
00001b35: PUSH1 0x00
00001b37: DUP4
00001b38: PUSH1 0x03
00001b3a: ADD
00001b3b: SLOAD
00001b3c: GT
00001b3d: JUMPDEST
00001b3e: ISZERO
00001b3f: PUSH2 0x1b78
00001b42: JUMPI
00001b43: PUSH2 0x1b75
00001b46: PUSH2 0x1b68
00001b49: PUSH8 0x0de0b6b3a7640000
00001b52: PUSH2 0x08de
00001b55: DUP7
00001b56: PUSH1 0x03
00001b58: ADD
00001b59: SLOAD
00001b5a: DUP7
00001b5b: PUSH2 0x1dae
00001b5e: SWAP1
00001b5f: SWAP2
00001b60: SWAP1
00001b61: PUSH4 0xffffffff
00001b66: AND
00001b67: JUMP
00001b68: JUMPDEST
00001b69: DUP3
00001b6a: SWAP1
00001b6b: PUSH4 0xffffffff
00001b70: PUSH2 0x200b
00001b73: AND
00001b74: JUMP
00001b75: JUMPDEST
00001b76: SWAP1
00001b77: POP
00001b78: JUMPDEST
00001b79: SWAP7
00001b7a: SWAP6
00001b7b: POP
00001b7c: POP
00001b7d: POP
00001b7e: POP
00001b7f: POP
00001b80: POP
00001b81: JUMP
00001b82: JUMPDEST
00001b83: PUSH1 0x15
00001b85: SLOAD
00001b86: PUSH1 0xff
00001b88: AND
00001b89: DUP2
00001b8a: JUMP
00001b8b: JUMPDEST
00001b8c: PUSH1 0x10
00001b8e: PUSH1 0x20
00001b90: MSTORE
00001b91: PUSH1 0x00
00001b93: SWAP1
00001b94: DUP2
00001b95: MSTORE
00001b96: PUSH1 0x40
00001b98: SWAP1
00001b99: KECCAK256
00001b9a: DUP1
00001b9b: SLOAD
00001b9c: PUSH1 0x01
00001b9e: DUP3
00001b9f: ADD
00001ba0: SLOAD
00001ba1: PUSH1 0x02
00001ba3: DUP4
00001ba4: ADD
00001ba5: SLOAD
00001ba6: PUSH1 0x03
00001ba8: DUP5
00001ba9: ADD
00001baa: SLOAD
00001bab: PUSH1 0x04
00001bad: DUP6
00001bae: ADD
00001baf: SLOAD
00001bb0: PUSH1 0x05
00001bb2: SWAP1
00001bb3: SWAP6
00001bb4: ADD
00001bb5: SLOAD
00001bb6: PUSH1 0x01
00001bb8: PUSH1 0xa0
00001bba: PUSH1 0x02
00001bbc: EXP
00001bbd: SUB
00001bbe: SWAP1
00001bbf: SWAP5
00001bc0: AND
00001bc1: SWAP5
00001bc2: SWAP3
00001bc3: SWAP4
00001bc4: SWAP2
00001bc5: SWAP3
00001bc6: SWAP1
00001bc7: SWAP2
00001bc8: DUP7
00001bc9: JUMP
00001bca: JUMPDEST
00001bcb: PUSH1 0x0b
00001bcd: SLOAD
00001bce: DUP2
00001bcf: JUMP
00001bd0: JUMPDEST
00001bd1: PUSH1 0x15
00001bd3: SLOAD
00001bd4: PUSH1 0x00
00001bd6: SWAP1
00001bd7: DUP2
00001bd8: SWAP1
00001bd9: DUP2
00001bda: SWAP1
00001bdb: DUP2
00001bdc: SWAP1
00001bdd: DUP2
00001bde: SWAP1
00001bdf: DUP2
00001be0: SWAP1
00001be1: DUP2
00001be2: SWAP1
00001be3: PUSH1 0xff
00001be5: AND
00001be6: ISZERO
00001be7: ISZERO
00001be8: PUSH1 0x01
00001bea: EQ
00001beb: PUSH2 0x1c2c
00001bee: JUMPI
00001bef: PUSH1 0x40
00001bf1: DUP1
00001bf2: MLOAD
00001bf3: PUSH1 0xe5
00001bf5: PUSH1 0x02
00001bf7: EXP
00001bf8: PUSH3 0x461bcd
00001bfc: MUL
00001bfd: DUP2
00001bfe: MSTORE
00001bff: PUSH1 0x20
00001c01: PUSH1 0x04
00001c03: DUP3
00001c04: ADD
00001c05: MSTORE
00001c06: PUSH1 0x12
00001c08: PUSH1 0x24
00001c0a: DUP3
00001c0b: ADD
00001c0c: MSTORE
00001c0d: PUSH1 0x00
00001c0f: DUP1
00001c10: MLOAD
00001c11: PUSH1 0x20
00001c13: PUSH2 0x23fb
00001c16: DUP4
00001c17: CODECOPY
00001c18: DUP2
00001c19: MLOAD
00001c1a: SWAP2
00001c1b: MSTORE
00001c1c: PUSH1 0x44
00001c1e: DUP3
00001c1f: ADD
00001c20: MSTORE
00001c21: SWAP1
00001c22: MLOAD
00001c23: SWAP1
00001c24: DUP2
00001c25: SWAP1
00001c26: SUB
00001c27: PUSH1 0x64
00001c29: ADD
00001c2a: SWAP1
00001c2b: REVERT
00001c2c: JUMPDEST
00001c2d: PUSH2 0x1c34
00001c30: PUSH2 0x083f
00001c33: JUMP
00001c34: JUMPDEST
00001c35: SWAP7
00001c36: POP
00001c37: PUSH2 0x1c3f
00001c3a: DUP8
00001c3b: PUSH2 0x08a5
00001c3e: JUMP
00001c3f: JUMPDEST
00001c40: PUSH1 0x00
00001c42: DUP8
00001c43: DUP2
00001c44: MSTORE
00001c45: PUSH1 0x10
00001c47: PUSH1 0x20
00001c49: SWAP1
00001c4a: DUP2
00001c4b: MSTORE
00001c4c: PUSH1 0x40
00001c4e: DUP1
00001c4f: DUP4
00001c50: KECCAK256
00001c51: PUSH1 0x09
00001c53: SLOAD
00001c54: DUP5
00001c55: MSTORE
00001c56: PUSH1 0x11
00001c58: SWAP1
00001c59: SWAP3
00001c5a: MSTORE
00001c5b: SWAP1
00001c5c: SWAP2
00001c5d: KECCAK256
00001c5e: PUSH1 0x01
00001c60: DUP3
00001c61: ADD
00001c62: SLOAD
00001c63: SWAP2
00001c64: SWAP8
00001c65: POP
00001c66: SWAP6
00001c67: POP
00001c68: DUP9
00001c69: GT
00001c6a: ISZERO
00001c6b: PUSH2 0x1c73
00001c6e: JUMPI
00001c6f: PUSH1 0x00
00001c71: DUP1
00001c72: REVERT
00001c73: JUMPDEST
00001c74: PUSH2 0x1c7c
00001c77: DUP9
00001c78: PUSH2 0x225a
00001c7b: JUMP
00001c7c: JUMPDEST
00001c7d: SWAP4
00001c7e: POP
00001c7f: PUSH2 0x1c87
00001c82: DUP8
00001c83: PUSH2 0x1a3c
00001c86: JUMP
00001c87: JUMPDEST
00001c88: SWAP3
00001c89: POP
00001c8a: PUSH2 0x1c9f
00001c8d: PUSH2 0x2710
00001c90: PUSH2 0x08de
00001c93: DUP7
00001c94: DUP7
00001c95: PUSH4 0xffffffff
00001c9a: PUSH2 0x1dae
00001c9d: AND
00001c9e: JUMP
00001c9f: JUMPDEST
00001ca0: SWAP2
00001ca1: POP
00001ca2: PUSH2 0x1cb1
00001ca5: DUP5
00001ca6: DUP4
00001ca7: PUSH4 0xffffffff
00001cac: PUSH2 0x2066
00001caf: AND
00001cb0: JUMP
00001cb1: JUMPDEST
00001cb2: PUSH1 0x0a
00001cb4: SLOAD
00001cb5: SWAP1
00001cb6: SWAP2
00001cb7: POP
00001cb8: PUSH2 0x1cc7
00001cbb: SWAP1
00001cbc: DUP10
00001cbd: PUSH4 0xffffffff
00001cc2: PUSH2 0x2066
00001cc5: AND
00001cc6: JUMP
00001cc7: JUMPDEST
00001cc8: PUSH1 0x0a
00001cca: SSTORE
00001ccb: PUSH1 0x01
00001ccd: DUP7
00001cce: ADD
00001ccf: SLOAD
00001cd0: PUSH2 0x1cdf
00001cd3: SWAP1
00001cd4: DUP10
00001cd5: PUSH4 0xffffffff
00001cda: PUSH2 0x2066
00001cdd: AND
00001cde: JUMP
00001cdf: JUMPDEST
00001ce0: PUSH1 0x01
00001ce2: DUP8
00001ce3: ADD
00001ce4: SSTORE
00001ce5: PUSH1 0x0d
00001ce7: SLOAD
00001ce8: PUSH2 0x1d09
00001ceb: SWAP1
00001cec: PUSH2 0x1b68
00001cef: SWAP1
00001cf0: PUSH8 0x0de0b6b3a7640000
00001cf9: SWAP1
00001cfa: PUSH2 0x08de
00001cfd: SWAP1
00001cfe: DUP13
00001cff: PUSH4 0xffffffff
00001d04: PUSH2 0x1dae
00001d07: AND
00001d08: JUMP
00001d09: JUMPDEST
00001d0a: DUP7
00001d0b: PUSH1 0x02
00001d0d: ADD
00001d0e: SLOAD
00001d0f: SUB
00001d10: DUP7
00001d11: PUSH1 0x02
00001d13: ADD
00001d14: DUP2
00001d15: SWAP1
00001d16: SSTORE
00001d17: POP
00001d18: PUSH1 0x00
00001d1a: PUSH1 0x0a
00001d1c: SLOAD
00001d1d: GT
00001d1e: ISZERO
00001d1f: PUSH2 0x1d49
00001d22: JUMPI
00001d23: PUSH1 0x0a
00001d25: SLOAD
00001d26: PUSH2 0x1d45
00001d29: SWAP1
00001d2a: PUSH2 0x194b
00001d2d: SWAP1
00001d2e: PUSH2 0x08de
00001d31: DUP6
00001d32: PUSH8 0x0de0b6b3a7640000
00001d3b: PUSH4 0xffffffff
00001d40: PUSH2 0x1dae
00001d43: AND
00001d44: JUMP
00001d45: JUMPDEST
00001d46: PUSH1 0x0d
00001d48: SSTORE
00001d49: JUMPDEST
00001d4a: PUSH1 0x09
00001d4c: SLOAD
00001d4d: PUSH1 0x40
00001d4f: DUP1
00001d50: MLOAD
00001d51: CALLER
00001d52: DUP2
00001d53: MSTORE
00001d54: PUSH1 0x20
00001d56: DUP2
00001d57: ADD
00001d58: DUP11
00001d59: SWAP1
00001d5a: MSTORE
00001d5b: DUP1
00001d5c: DUP3
00001d5d: ADD
00001d5e: SWAP3
00001d5f: SWAP1
00001d60: SWAP3
00001d61: MSTORE
00001d62: PUSH1 0x60
00001d64: DUP3
00001d65: ADD
00001d66: DUP11
00001d67: SWAP1
00001d68: MSTORE
00001d69: PUSH1 0x80
00001d6b: DUP3
00001d6c: ADD
00001d6d: DUP7
00001d6e: SWAP1
00001d6f: MSTORE
00001d70: MLOAD
00001d71: PUSH32 0xaa1fd9f49444e92c4e3a1028e5e41930228f6adf4603c0616287da2bcf02891b
00001d92: SWAP2
00001d93: DUP2
00001d94: SWAP1
00001d95: SUB
00001d96: PUSH1 0xa0
00001d98: ADD
00001d99: SWAP1
00001d9a: LOG1
00001d9b: POP
00001d9c: POP
00001d9d: POP
00001d9e: POP
00001d9f: POP
00001da0: POP
00001da1: POP
00001da2: POP
00001da3: JUMP
00001da4: JUMPDEST
00001da5: PUSH1 0x03
00001da7: SLOAD
00001da8: PUSH2 0xffff
00001dab: AND
00001dac: DUP2
00001dad: JUMP
00001dae: JUMPDEST
00001daf: PUSH1 0x00
00001db1: DUP3
00001db2: ISZERO
00001db3: ISZERO
00001db4: PUSH2 0x1dbf
00001db7: JUMPI
00001db8: POP
00001db9: PUSH1 0x00
00001dbb: PUSH2 0x10e4
00001dbe: JUMP
00001dbf: JUMPDEST
00001dc0: POP
00001dc1: DUP2
00001dc2: DUP2
00001dc3: MUL
00001dc4: DUP2
00001dc5: DUP4
00001dc6: DUP3
00001dc7: DUP2
00001dc8: ISZERO
00001dc9: ISZERO
00001dca: PUSH2 0x1dcf
00001dcd: JUMPI
00001dce: INVALID
00001dcf: JUMPDEST
00001dd0: DIV
00001dd1: EQ
00001dd2: PUSH2 0x10e4
00001dd5: JUMPI
00001dd6: PUSH1 0x40
00001dd8: DUP1
00001dd9: MLOAD
00001dda: PUSH1 0xe5
00001ddc: PUSH1 0x02
00001dde: EXP
00001ddf: PUSH3 0x461bcd
00001de3: MUL
00001de4: DUP2
00001de5: MSTORE
00001de6: PUSH1 0x20
00001de8: PUSH1 0x04
00001dea: DUP3
00001deb: ADD
00001dec: MSTORE
00001ded: PUSH1 0x13
00001def: PUSH1 0x24
00001df1: DUP3
00001df2: ADD
00001df3: MSTORE
00001df4: PUSH32 0x536166654d617468206d756c206661696c656400000000000000000000000000
00001e15: PUSH1 0x44
00001e17: DUP3
00001e18: ADD
00001e19: MSTORE
00001e1a: SWAP1
00001e1b: MLOAD
00001e1c: SWAP1
00001e1d: DUP2
00001e1e: SWAP1
00001e1f: SUB
00001e20: PUSH1 0x64
00001e22: ADD
00001e23: SWAP1
00001e24: REVERT
00001e25: JUMPDEST
00001e26: PUSH1 0x00
00001e28: DUP1
00001e29: DUP3
00001e2a: DUP5
00001e2b: DUP2
00001e2c: ISZERO
00001e2d: ISZERO
00001e2e: PUSH2 0x1e33
00001e31: JUMPI
00001e32: INVALID
00001e33: JUMPDEST
00001e34: DIV
00001e35: SWAP5
00001e36: SWAP4
00001e37: POP
00001e38: POP
00001e39: POP
00001e3a: POP
00001e3b: JUMP
00001e3c: JUMPDEST
00001e3d: PUSH1 0x09
00001e3f: SLOAD
00001e40: PUSH1 0x00
00001e42: SWAP1
00001e43: DUP2
00001e44: MSTORE
00001e45: PUSH1 0x11
00001e47: PUSH1 0x20
00001e49: MSTORE
00001e4a: PUSH1 0x40
00001e4c: DUP2
00001e4d: KECCAK256
00001e4e: PUSH1 0x02
00001e50: DUP2
00001e51: ADD
00001e52: SLOAD
00001e53: SWAP1
00001e54: SWAP2
00001e55: SWAP1
00001e56: DUP2
00001e57: SWAP1
00001e58: DUP2
00001e59: SWAP1
00001e5a: DUP2
00001e5b: LT
00001e5c: DUP1
00001e5d: ISZERO
00001e5e: PUSH2 0x1e8b
00001e61: JUMPI
00001e62: POP
00001e63: PUSH1 0x03
00001e65: SLOAD
00001e66: PUSH1 0x0c
00001e68: SLOAD
00001e69: PUSH2 0x1e83
00001e6c: SWAP2
00001e6d: PUSH1 0x64
00001e6f: SWAP2
00001e70: PUSH2 0x08de
00001e73: SWAP2
00001e74: PUSH5 0x0100000000
00001e7a: SWAP1
00001e7b: DIV
00001e7c: PUSH1 0xff
00001e7e: AND
00001e7f: PUSH2 0x1dae
00001e82: JUMP
00001e83: JUMPDEST
00001e84: DUP5
00001e85: PUSH1 0x04
00001e87: ADD
00001e88: SLOAD
00001e89: GT
00001e8a: ISZERO
00001e8b: JUMPDEST
00001e8c: DUP1
00001e8d: ISZERO
00001e8e: PUSH2 0x1e9a
00001e91: JUMPI
00001e92: POP
00001e93: DUP4
00001e94: PUSH1 0x01
00001e96: ADD
00001e97: SLOAD
00001e98: TIMESTAMP
00001e99: GT
00001e9a: JUMPDEST
00001e9b: ISZERO
00001e9c: PUSH2 0x1fbf
00001e9f: JUMPI
00001ea0: PUSH2 0x1ea7
00001ea3: PUSH2 0x22c6
00001ea6: JUMP
00001ea7: JUMPDEST
00001ea8: SWAP3
00001ea9: POP
00001eaa: PUSH2 0x1ec3
00001ead: PUSH1 0x64
00001eaf: PUSH2 0x08de
00001eb2: DUP6
00001eb3: PUSH1 0x0c
00001eb5: SLOAD
00001eb6: PUSH2 0x1dae
00001eb9: SWAP1
00001eba: SWAP2
00001ebb: SWAP1
00001ebc: PUSH4 0xffffffff
00001ec1: AND
00001ec2: JUMP
00001ec3: JUMPDEST
00001ec4: PUSH1 0x0c
00001ec6: SLOAD
00001ec7: SWAP1
00001ec8: SWAP3
00001ec9: POP
00001eca: PUSH2 0x1ed9
00001ecd: SWAP1
00001ece: DUP4
00001ecf: PUSH4 0xffffffff
00001ed4: PUSH2 0x2066
00001ed7: AND
00001ed8: JUMP
00001ed9: JUMPDEST
00001eda: PUSH1 0x02
00001edc: DUP6
00001edd: ADD
00001ede: SLOAD
00001edf: SWAP1
00001ee0: SWAP2
00001ee1: POP
00001ee2: PUSH2 0x1efd
00001ee5: SWAP1
00001ee6: PUSH2 0x08de
00001ee9: DUP4
00001eea: PUSH8 0x0de0b6b3a7640000
00001ef3: PUSH4 0xffffffff
00001ef8: PUSH2 0x1dae
00001efb: AND
00001efc: JUMP
00001efd: JUMPDEST
00001efe: PUSH1 0x03
00001f00: DUP6
00001f01: ADD
00001f02: SSTORE
00001f03: PUSH1 0x00
00001f05: PUSH1 0x0c
00001f07: DUP2
00001f08: SWAP1
00001f09: SSTORE
00001f0a: PUSH1 0x0e
00001f0c: DUP1
00001f0d: SLOAD
00001f0e: PUSH1 0x01
00001f10: ADD
00001f11: SWAP1
00001f12: SSTORE
00001f13: DUP1
00001f14: SLOAD
00001f15: PUSH1 0x40
00001f17: DUP1
00001f18: MLOAD
00001f19: PUSH32 0xb0ef955500000000000000000000000000000000000000000000000000000000
00001f3a: DUP2
00001f3b: MSTORE
00001f3c: SWAP1
00001f3d: MLOAD
00001f3e: PUSH1 0x01
00001f40: PUSH1 0xa0
00001f42: PUSH1 0x02
00001f44: EXP
00001f45: SUB
00001f46: SWAP1
00001f47: SWAP3
00001f48: AND
00001f49: SWAP3
00001f4a: PUSH4 0xb0ef9555
00001f4f: SWAP3
00001f50: DUP7
00001f51: SWAP3
00001f52: PUSH1 0x04
00001f54: DUP1
00001f55: DUP3
00001f56: ADD
00001f57: SWAP4
00001f58: SWAP3
00001f59: SWAP2
00001f5a: DUP3
00001f5b: SWAP1
00001f5c: SUB
00001f5d: ADD
00001f5e: DUP2
00001f5f: DUP6
00001f60: DUP9
00001f61: DUP1
00001f62: EXTCODESIZE
00001f63: ISZERO
00001f64: DUP1
00001f65: ISZERO
00001f66: PUSH2 0x1f6e
00001f69: JUMPI
00001f6a: PUSH1 0x00
00001f6c: DUP1
00001f6d: REVERT
00001f6e: JUMPDEST
00001f6f: POP
00001f70: GAS
00001f71: CALL
00001f72: ISZERO
00001f73: DUP1
00001f74: ISZERO
00001f75: PUSH2 0x1f82
00001f78: JUMPI
00001f79: RETURNDATASIZE
00001f7a: PUSH1 0x00
00001f7c: DUP1
00001f7d: RETURNDATACOPY
00001f7e: RETURNDATASIZE
00001f7f: PUSH1 0x00
00001f81: REVERT
00001f82: JUMPDEST
00001f83: POP
00001f84: POP
00001f85: PUSH1 0x09
00001f87: SLOAD
00001f88: PUSH1 0x40
00001f8a: DUP1
00001f8b: MLOAD
00001f8c: SWAP2
00001f8d: DUP3
00001f8e: MSTORE
00001f8f: MLOAD
00001f90: PUSH32 0xd46357654a00be3ea1c934e60f8c4785d77b37bb6283d75f783ec9017f2e7c80
00001fb1: SWAP5
00001fb2: POP
00001fb3: SWAP1
00001fb4: DUP2
00001fb5: SWAP1
00001fb6: SUB
00001fb7: PUSH1 0x20
00001fb9: ADD
00001fba: SWAP3
00001fbb: POP
00001fbc: SWAP1
00001fbd: POP
00001fbe: LOG1
00001fbf: JUMPDEST
00001fc0: PUSH1 0x09
00001fc2: DUP1
00001fc3: SLOAD
00001fc4: PUSH1 0x01
00001fc6: ADD
00001fc7: SWAP1
00001fc8: DUP2
00001fc9: SWAP1
00001fca: SSTORE
00001fcb: PUSH1 0x00
00001fcd: SWAP1
00001fce: DUP2
00001fcf: MSTORE
00001fd0: PUSH1 0x11
00001fd2: PUSH1 0x20
00001fd4: MSTORE
00001fd5: PUSH1 0x40
00001fd7: SWAP1
00001fd8: KECCAK256
00001fd9: TIMESTAMP
00001fda: SWAP1
00001fdb: DUP2
00001fdc: SWAP1
00001fdd: SSTORE
00001fde: PUSH1 0x06
00001fe0: SLOAD
00001fe1: PUSH2 0x1ff0
00001fe4: SWAP2
00001fe5: SWAP1
00001fe6: PUSH4 0xffffffff
00001feb: PUSH2 0x200b
00001fee: AND
00001fef: JUMP
00001ff0: JUMPDEST
00001ff1: PUSH1 0x09
00001ff3: SLOAD
00001ff4: PUSH1 0x00
00001ff6: SWAP1
00001ff7: DUP2
00001ff8: MSTORE
00001ff9: PUSH1 0x11
00001ffb: PUSH1 0x20
00001ffd: MSTORE
00001ffe: PUSH1 0x40
00002000: SWAP1
00002001: KECCAK256
00002002: PUSH1 0x01
00002004: ADD
00002005: SSTORE
00002006: POP
00002007: POP
00002008: POP
00002009: POP
0000200a: JUMP
0000200b: JUMPDEST
0000200c: DUP2
0000200d: DUP2
0000200e: ADD
0000200f: DUP3
00002010: DUP2
00002011: LT
00002012: ISZERO
00002013: PUSH2 0x10e4
00002016: JUMPI
00002017: PUSH1 0x40
00002019: DUP1
0000201a: MLOAD
0000201b: PUSH1 0xe5
0000201d: PUSH1 0x02
0000201f: EXP
00002020: PUSH3 0x461bcd
00002024: MUL
00002025: DUP2
00002026: MSTORE
00002027: PUSH1 0x20
00002029: PUSH1 0x04
0000202b: DUP3
0000202c: ADD
0000202d: MSTORE
0000202e: PUSH1 0x13
00002030: PUSH1 0x24
00002032: DUP3
00002033: ADD
00002034: MSTORE
00002035: PUSH32 0x536166654d61746820616464206661696c656400000000000000000000000000
00002056: PUSH1 0x44
00002058: DUP3
00002059: ADD
0000205a: MSTORE
0000205b: SWAP1
0000205c: MLOAD
0000205d: SWAP1
0000205e: DUP2
0000205f: SWAP1
00002060: SUB
00002061: PUSH1 0x64
00002063: ADD
00002064: SWAP1
00002065: REVERT
00002066: JUMPDEST
00002067: PUSH1 0x00
00002069: DUP3
0000206a: DUP3
0000206b: GT
0000206c: ISZERO
0000206d: PUSH2 0x20c0
00002070: JUMPI
00002071: PUSH1 0x40
00002073: DUP1
00002074: MLOAD
00002075: PUSH1 0xe5
00002077: PUSH1 0x02
00002079: EXP
0000207a: PUSH3 0x461bcd
0000207e: MUL
0000207f: DUP2
00002080: MSTORE
00002081: PUSH1 0x20
00002083: PUSH1 0x04
00002085: DUP3
00002086: ADD
00002087: MSTORE
00002088: PUSH1 0x13
0000208a: PUSH1 0x24
0000208c: DUP3
0000208d: ADD
0000208e: MSTORE
0000208f: PUSH32 0x536166654d61746820737562206661696c656400000000000000000000000000
000020b0: PUSH1 0x44
000020b2: DUP3
000020b3: ADD
000020b4: MSTORE
000020b5: SWAP1
000020b6: MLOAD
000020b7: SWAP1
000020b8: DUP2
000020b9: SWAP1
000020ba: SUB
000020bb: PUSH1 0x64
000020bd: ADD
000020be: SWAP1
000020bf: REVERT
000020c0: JUMPDEST
000020c1: POP
000020c2: SWAP1
000020c3: SUB
000020c4: SWAP1
000020c5: JUMP
000020c6: JUMPDEST
000020c7: PUSH1 0x0a
000020c9: SLOAD
000020ca: PUSH1 0x00
000020cc: SWAP1
000020cd: PUSH13 0x01431e0fae6d7217caa0000000
000020db: SWAP1
000020dc: DUP3
000020dd: SWAP1
000020de: PUSH5 0x02540be400
000020e4: PUSH2 0x214b
000020e7: PUSH2 0x2145
000020ea: PUSH20 0x0380d4bd8a8678c1bb542c80deb4800000000000
000020ff: DUP9
00002100: MUL
00002101: PUSH9 0x056bc75e2d63100000
0000210b: PUSH1 0x02
0000210d: DUP7
0000210e: EXP
0000210f: MUL
00002110: ADD
00002111: PUSH17 0x05e0a1fd2712875988becaad0000000000
00002123: DUP6
00002124: MUL
00002125: ADD
00002126: PUSH25 0x0197d4df19d605767337e9f14d3eec8920e400000000000000
00002140: ADD
00002141: PUSH2 0x2387
00002144: JUMP
00002145: JUMPDEST
00002146: DUP6
00002147: PUSH2 0x2066
0000214a: JUMP
0000214b: JUMPDEST
0000214c: DUP2
0000214d: ISZERO
0000214e: ISZERO
0000214f: PUSH2 0x2154
00002152: JUMPI
00002153: INVALID
00002154: JUMPDEST
00002155: DIV
00002156: SUB
00002157: SWAP5
00002158: SWAP4
00002159: POP
0000215a: POP
0000215b: POP
0000215c: POP
0000215d: JUMP
0000215e: JUMPDEST
0000215f: PUSH1 0x09
00002161: SLOAD
00002162: PUSH1 0x00
00002164: SWAP1
00002165: DUP2
00002166: MSTORE
00002167: PUSH1 0x11
00002169: PUSH1 0x20
0000216b: MSTORE
0000216c: PUSH1 0x40
0000216e: DUP2
0000216f: KECCAK256
00002170: PUSH1 0x03
00002172: SLOAD
00002173: PUSH1 0x04
00002175: DUP3
00002176: ADD
00002177: SLOAD
00002178: DUP4
00002179: SWAP2
0000217a: PUSH2 0x2197
0000217d: SWAP2
0000217e: PUSH2 0x03e8
00002181: SWAP2
00002182: PUSH2 0x08de
00002185: SWAP2
00002186: SWAP1
00002187: PUSH6 0x010000000000
0000218e: SWAP1
0000218f: DIV
00002190: PUSH1 0xff
00002192: AND
00002193: PUSH2 0x1dae
00002196: JUMP
00002197: JUMPDEST
00002198: SWAP1
00002199: POP
0000219a: PUSH1 0x04
0000219c: SLOAD
0000219d: DUP2
0000219e: LT
0000219f: ISZERO
000021a0: PUSH2 0x21ab
000021a3: JUMPI
000021a4: PUSH1 0x04
000021a6: SLOAD
000021a7: PUSH2 0x21ad
000021aa: JUMP
000021ab: JUMPDEST
000021ac: DUP1
000021ad: JUMPDEST
000021ae: SWAP1
000021af: POP
000021b0: PUSH1 0x05
000021b2: SLOAD
000021b3: DUP2
000021b4: LT
000021b5: ISZERO
000021b6: PUSH2 0x21c1
000021b9: JUMPI
000021ba: PUSH1 0x05
000021bc: SLOAD
000021bd: PUSH2 0x21c3
000021c0: JUMP
000021c1: JUMPDEST
000021c2: DUP1
000021c3: JUMPDEST
000021c4: SWAP4
000021c5: SWAP3
000021c6: POP
000021c7: POP
000021c8: POP
000021c9: JUMP
000021ca: JUMPDEST
000021cb: PUSH1 0x00
000021cd: DUP1
000021ce: PUSH1 0x00
000021d0: DUP1
000021d1: PUSH2 0x21d9
000021d4: DUP6
000021d5: PUSH2 0x1672
000021d8: JUMP
000021d9: JUMPDEST
000021da: SWAP2
000021db: POP
000021dc: PUSH2 0x21e4
000021df: DUP6
000021e0: PUSH2 0x1ad3
000021e3: JUMP
000021e4: JUMPDEST
000021e5: SWAP1
000021e6: POP
000021e7: PUSH1 0x00
000021e9: DUP3
000021ea: GT
000021eb: ISZERO
000021ec: PUSH2 0x2234
000021ef: JUMPI
000021f0: PUSH1 0x0d
000021f2: SLOAD
000021f3: PUSH1 0x00
000021f5: DUP7
000021f6: DUP2
000021f7: MSTORE
000021f8: PUSH1 0x10
000021fa: PUSH1 0x20
000021fc: MSTORE
000021fd: PUSH1 0x40
000021ff: SWAP1
00002200: KECCAK256
00002201: PUSH1 0x01
00002203: ADD
00002204: SLOAD
00002205: PUSH2 0x2221
00002208: SWAP2
00002209: PUSH8 0x0de0b6b3a7640000
00002212: SWAP2
00002213: PUSH2 0x08de
00002216: SWAP2
00002217: PUSH4 0xffffffff
0000221c: PUSH2 0x1dae
0000221f: AND
00002220: JUMP
00002221: JUMPDEST
00002222: PUSH1 0x00
00002224: DUP7
00002225: DUP2
00002226: MSTORE
00002227: PUSH1 0x10
00002229: PUSH1 0x20
0000222b: MSTORE
0000222c: PUSH1 0x40
0000222e: SWAP1
0000222f: KECCAK256
00002230: PUSH1 0x02
00002232: ADD
00002233: SSTORE
00002234: JUMPDEST
00002235: PUSH1 0x00
00002237: DUP2
00002238: GT
00002239: ISZERO
0000223a: PUSH2 0x2250
0000223d: JUMPI
0000223e: PUSH1 0x00
00002240: DUP6
00002241: DUP2
00002242: MSTORE
00002243: PUSH1 0x10
00002245: PUSH1 0x20
00002247: MSTORE
00002248: PUSH1 0x40
0000224a: DUP2
0000224b: KECCAK256
0000224c: PUSH1 0x03
0000224e: ADD
0000224f: SSTORE
00002250: JUMPDEST
00002251: SWAP1
00002252: SWAP5
00002253: SWAP1
00002254: SWAP4
00002255: POP
00002256: SWAP2
00002257: POP
00002258: POP
00002259: JUMP
0000225a: JUMPDEST
0000225b: PUSH1 0x0a
0000225d: SLOAD
0000225e: PUSH1 0x00
00002260: SWAP1
00002261: PUSH8 0x0de0b6b3a7640000
0000226a: DUP4
0000226b: DUP2
0000226c: ADD
0000226d: SWAP2
0000226e: DUP2
0000226f: ADD
00002270: SWAP1
00002271: DUP4
00002272: SWAP1
00002273: PUSH2 0x22b3
00002276: PUSH5 0x14f46b0400
0000227c: DUP3
0000227d: DUP6
0000227e: DIV
0000227f: PUSH5 0x02540be400
00002285: MUL
00002286: ADD
00002287: DUP8
00002288: MUL
00002289: PUSH1 0x02
0000228b: DUP4
0000228c: PUSH8 0x0de0b6b3a763ffff
00002295: NOT
00002296: DUP3
00002297: DUP10
00002298: EXP
00002299: DUP12
0000229a: SWAP1
0000229b: SUB
0000229c: ADD
0000229d: DIV
0000229e: PUSH5 0x02540be400
000022a4: MUL
000022a5: DUP2
000022a6: ISZERO
000022a7: ISZERO
000022a8: PUSH2 0x22ad
000022ab: JUMPI
000022ac: INVALID
000022ad: JUMPDEST
000022ae: DIV
000022af: PUSH2 0x2066
000022b2: JUMP
000022b3: JUMPDEST
000022b4: DUP2
000022b5: ISZERO
000022b6: ISZERO
000022b7: PUSH2 0x22bc
000022ba: JUMPI
000022bb: INVALID
000022bc: JUMPDEST
000022bd: DIV
000022be: SWAP6
000022bf: SWAP5
000022c0: POP
000022c1: POP
000022c2: POP
000022c3: POP
000022c4: POP
000022c5: JUMP
000022c6: JUMPDEST
000022c7: PUSH1 0x09
000022c9: SLOAD
000022ca: PUSH1 0x00
000022cc: SWAP1
000022cd: DUP2
000022ce: MSTORE
000022cf: PUSH1 0x11
000022d1: PUSH1 0x20
000022d3: MSTORE
000022d4: PUSH1 0x40
000022d6: DUP2
000022d7: KECCAK256
000022d8: PUSH1 0x04
000022da: ADD
000022db: SLOAD
000022dc: PUSH1 0x0a
000022de: PUSH10 0x054b40b1f852bda00000
000022e9: DUP3
000022ea: LT
000022eb: DUP1
000022ec: ISZERO
000022ed: SWAP1
000022ee: PUSH2 0x2300
000022f1: JUMPI
000022f2: POP
000022f3: PUSH10 0x0a968163f0a57b400000
000022fe: DUP3
000022ff: LT
00002300: JUMPDEST
00002301: ISZERO
00002302: PUSH2 0x230d
00002305: JUMPI
00002306: POP
00002307: PUSH1 0x14
00002309: PUSH2 0x10e4
0000230c: JUMP
0000230d: JUMPDEST
0000230e: PUSH10 0x0a968163f0a57b400000
00002319: DUP3
0000231a: LT
0000231b: ISZERO
0000231c: DUP1
0000231d: ISZERO
0000231e: PUSH2 0x2330
00002321: JUMPI
00002322: POP
00002323: PUSH10 0x0fe1c215e8f838e00000
0000232e: DUP3
0000232f: LT
00002330: JUMPDEST
00002331: ISZERO
00002332: PUSH2 0x233d
00002335: JUMPI
00002336: POP
00002337: PUSH1 0x1e
00002339: PUSH2 0x10e4
0000233c: JUMP
0000233d: JUMPDEST
0000233e: PUSH10 0x0fe1c215e8f838e00000
00002349: DUP3
0000234a: LT
0000234b: ISZERO
0000234c: DUP1
0000234d: ISZERO
0000234e: PUSH2 0x2360
00002351: JUMPI
00002352: POP
00002353: PUSH10 0x152d02c7e14af6800000
0000235e: DUP3
0000235f: LT
00002360: JUMPDEST
00002361: ISZERO
00002362: PUSH2 0x236d
00002365: JUMPI
00002366: POP
00002367: PUSH1 0x28
00002369: PUSH2 0x10e4
0000236c: JUMP
0000236d: JUMPDEST
0000236e: PUSH10 0x152d02c7e14af6800000
00002379: DUP3
0000237a: LT
0000237b: PUSH2 0x10e4
0000237e: JUMPI
0000237f: POP
00002380: PUSH1 0x32
00002382: SWAP3
00002383: SWAP2
00002384: POP
00002385: POP
00002386: JUMP
00002387: JUMPDEST
00002388: PUSH1 0x00
0000238a: DUP1
0000238b: PUSH1 0x02
0000238d: PUSH2 0x2397
00002390: DUP5
00002391: PUSH1 0x01
00002393: PUSH2 0x200b
00002396: JUMP
00002397: JUMPDEST
00002398: DUP2
00002399: ISZERO
0000239a: ISZERO
0000239b: PUSH2 0x23a0
0000239e: JUMPI
0000239f: INVALID
000023a0: JUMPDEST
000023a1: DIV
000023a2: SWAP1
000023a3: POP
000023a4: DUP3
000023a5: SWAP2
000023a6: POP
000023a7: JUMPDEST
000023a8: DUP2
000023a9: DUP2
000023aa: LT
000023ab: ISZERO
000023ac: PUSH2 0x0e13
000023af: JUMPI
000023b0: DUP1
000023b1: SWAP2
000023b2: POP
000023b3: PUSH1 0x02
000023b5: PUSH2 0x23c9
000023b8: DUP3
000023b9: DUP6
000023ba: DUP2
000023bb: ISZERO
000023bc: ISZERO
000023bd: PUSH2 0x23c2
000023c0: JUMPI
000023c1: INVALID
000023c2: JUMPDEST
000023c3: DIV
000023c4: DUP4
000023c5: PUSH2 0x200b
000023c8: JUMP
000023c9: JUMPDEST
000023ca: DUP2
000023cb: ISZERO
000023cc: ISZERO
000023cd: PUSH2 0x23d2
000023d0: JUMPI
000023d1: INVALID
000023d2: JUMPDEST
000023d3: DIV
000023d4: SWAP1
000023d5: POP
000023d6: PUSH2 0x23a7
000023d9: JUMP
000023da: STOP
000023db: PUSH16 0x7574206f662072616e67652e00000000
000023ec: STOP
000023ed: STOP
000023ee: STOP
000023ef: STOP
000023f0: STOP
000023f1: STOP
000023f2: STOP
000023f3: STOP
000023f4: STOP
000023f5: STOP
000023f6: STOP
000023f7: STOP
000023f8: STOP
000023f9: STOP
000023fa: STOP
000023fb: PUSH10 0x7473206e6f7420726561
00002406: PUSH5 0x7920796574
0000240c: UNKNOWN(0x2E)
0000240d: STOP
0000240e: STOP
0000240f: STOP
00002410: STOP
00002411: STOP
00002412: STOP
00002413: STOP
00002414: STOP
00002415: STOP
00002416: STOP
00002417: STOP
00002418: STOP
00002419: STOP
0000241a: STOP
0000241b: LOG1
0000241c: PUSH6 0x627a7a723058
00002423: KECCAK256
00002424: SWAP10
00002425: UNKNOWN(0xE1)
00002426: PUSH29 0xe55eb95c3ff4da14016e0f224358679436062269bc63c2596dd1b619c0
00002444: STOP
00002445: UNKNOWN(0x29)

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high math codex Sold keys still count toward lucky pot distribution, enabling pot drain after selling 85 no
view
evidence_json
{
    "evidence": "`purchaseKeys()` increases `round_[rID_].keys` and `plyrRnds_[pID][rID_]`, but `sell()` only reduces `keySupply_` and `plyr_.keys`; pot payouts use `round_[rID_].keys` and `plyrRnds_` to compute rewards.",
    "locations": [
        "contracts/Contract.sol:312",
        "contracts/Contract.sol:341",
        "contracts/Contract.sol:344",
        "contracts/Contract.sol:191",
        "contracts/Contract.sol:208",
        "contracts/Contract.sol:210",
        "contracts/Contract.sol:293",
        "contracts/Contract.sol:298",
        "contracts/Contract.sol:443",
        "contracts/Contract.sol:446",
        "contracts/Contract.sol:449"
    ],
    "recommendation": "On `sell()`, decrement `round_[rID_].keys` and `plyrRnds_[pID][rID_]` by `_amountOfkeys` (and adjust `round_[rID_].investment` if intended), or snapshot pot eligibility by current `plyr_.keys` at payout time so sold keys no longer earn lucky rewards.",
    "exploit_scenario": "1) Wait until `pot_` is large relative to the current round so that `round.investment <= pot_ * luckyEdge / 100` can hold (this lets the round run to expiry and pays the pot). 2) Buy a large amount of keys in the current round via the fallback or `reLoad()`, inflating both `round_[rID_].keys` and `plyrRnds_[pID][rID_]`. 3) Immediately call `sell(_amountOfkeys)` to liquidate all keys and recover most ETH (minus the sell fee). Because `sell()` does not decrement `round_[rID_].keys` or `plyrRnds_[pID][rID_]`, your recorded round keys remain high despite holding zero keys. 4) After `rndInit_` passes with no interaction that ends the round early, call `withdraw()`; `endRound()` computes `ppk` using the inflated `round_[rID_].keys`, and `getPlayerLuckyBonus()` pays you based on `plyrRnds_` for that round. Net result: you regain principal (less sell fee) and still claim a large share of the pot funded by other users."
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x736e36d35c85d0a61d330ba533f4d706b76970a9361cf7383a7d09c48df5f689
call_targets: 0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd8
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x736e36d35c85d0a61d330ba533f4d706b76970a9361cf7383a7d09c48df5f689",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd8"
    ],
    "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": "0x045ec563",
            "selector": "0x045ec563",
            "calldata_variants": [
                "0x045ec563",
                "0x045ec5630000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06ad5a47",
            "selector": "0x06ad5a47",
            "calldata_variants": [
                "0x06ad5a47",
                "0x06ad5a470000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07c9da76",
            "selector": "0x07c9da76",
            "calldata_variants": [
                "0x07c9da76",
                "0x07c9da760000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x08979751",
            "selector": "0x08979751",
            "calldata_variants": [
                "0x08979751",
                "0x089797510000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x08d4db14",
            "selector": "0x08d4db14",
            "calldata_variants": [
                "0x08d4db14",
                "0x08d4db140000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0ed79661",
            "selector": "0x0ed79661",
            "calldata_variants": [
                "0x0ed79661",
                "0x0ed796610000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0f15f4c0",
            "selector": "0x0f15f4c0",
            "calldata_variants": [
                "0x0f15f4c0",
                "0x0f15f4c00000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3734,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5461,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 8049,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 3,
    "guards_detected": [],
    "untrusted_call_count": 3
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x736e36d35c85d0a61d330ba533f4d706b76970a9361cf7383a7d09c48df5f689
call_targets: 0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd8
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x736e36d35c85d0a61d330ba533f4d706b76970a9361cf7383a7d09c48df5f689",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xb453b2c67d70f1e19ce770296c7d2f35cb7cdfd8"
    ],
    "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": "0x045ec563",
            "selector": "0x045ec563",
            "calldata_variants": [
                "0x045ec563",
                "0x045ec5630000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06ad5a47",
            "selector": "0x06ad5a47",
            "calldata_variants": [
                "0x06ad5a47",
                "0x06ad5a470000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07c9da76",
            "selector": "0x07c9da76",
            "calldata_variants": [
                "0x07c9da76",
                "0x07c9da760000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x08979751",
            "selector": "0x08979751",
            "calldata_variants": [
                "0x08979751",
                "0x089797510000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x08d4db14",
            "selector": "0x08d4db14",
            "calldata_variants": [
                "0x08d4db14",
                "0x08d4db140000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0ed79661",
            "selector": "0x0ed79661",
            "calldata_variants": [
                "0x0ed79661",
                "0x0ed796610000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0f15f4c0",
            "selector": "0x0f15f4c0",
            "calldata_variants": [
                "0x0f15f4c0",
                "0x0f15f4c00000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3734,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5461,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 8049,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": []
}