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

Analysis Run

019bb377-6977-7248-ab58-bc41dc632e0d

failed
Chain ID
1
Address
Block Number
Created
Mon, Jan 12, 2026 6:28 PM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
39776 artifact.fetch complete 1 / 3 3 months ago
39777 proxy.resolve complete 1 / 3 3 months ago
39778 tool.cast_disasm complete 1 / 3 3 months ago
39779 analysis.bundle complete 1 / 3 3 months ago
39780 capability.graph complete 1 / 3 3 months ago
39781 detector.run complete 1 / 3 3 months ago
39782 validation.fork complete 1 / 3 3 months ago
39940 report.consolidate complete 1 / 6 3 months ago
39941 tool.slither failed 2 / 2 3 months ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no not_proxy
Implementation:
Verified Source: yes
Proxy evidence
{
    "status": "not_proxy"
}

Slither

tool.slither
Status
failed slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-a_2wzvxo) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-a_2wzvxo) 'forge' returned non-zero exit code 1 Error: Encountered invalid solc version in lib/openzeppelin-contracts/contracts/access/Ownable.sol: No solc version exists that matches the version requirement: ^0.8.20 Traceback (most recent call last): File "/var/www/tripwire/.venv/bin/slither", line 10, in <module> sys.exit(main()) ~~~~^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main main_impl(all_detector_classes=detectors, all_printer_classes=printers) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl ) = process_all(filename, args, detector_classes, printer_classes) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all compilations = compile_all(target, **vars(args)) File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all compilations.append(CryticCompile(target, **kwargs)) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__ self._compile(**kwargs) ~~~~~~~~~~~~~^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile self._platform.compile(self, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile hardhat_like_parsing( ~~~~~~~~~~~~~~~~~~~~^ crytic_compile, str(self._target), build_directory, str(self._project_root) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing raise InvalidCompilation(txt) crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command? /tmp/slither-a_2wzvxo/out/build-info is not a directory.
Attempts
2 / 2
Findings
0
Solc
View stderr
Traceback (most recent call last):
  File "/var/www/tripwire/worker/worker.py", line 198, in main
    payload = dispatch_job(job_type, job_id, job_meta, run_data, config, laravel_client)
  File "/var/www/tripwire/worker/worker.py", line 114, in dispatch_job
    return slither_run.run(job_id, job_meta, run_data, config, log, laravel_client)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/worker/jobs/slither_run.py", line 1084, in run
    stdout_text, stderr_text, result_json = _run_slither(
                                            ~~~~~~~~~~~~^
        workspace,
        ^^^^^^^^^^
    ...<4 lines>...
        target_path=target_path,
        ^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/var/www/tripwire/worker/jobs/slither_run.py", line 958, in _run_slither
    raise RuntimeError(f"slither failed (exit {result.returncode}): {stderr_text or stdout_text}")
RuntimeError: slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-a_2wzvxo)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-a_2wzvxo)
'forge' returned non-zero exit code 1
Error: Encountered invalid solc version in lib/openzeppelin-contracts/contracts/access/Ownable.sol: No solc version exists that matches the version requirement: ^0.8.20
Traceback (most recent call last):
  File "/var/www/tripwire/.venv/bin/slither", line 10, in <module>
    sys.exit(main())
             ~~~~^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main
    main_impl(all_detector_classes=detectors, all_printer_classes=printers)
    ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl
    ) = process_all(filename, args, detector_classes, printer_classes)
        ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all
    compilations = compile_all(target, **vars(args))
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all
    compilations.append(CryticCompile(target, **kwargs))
                        ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__
    self._compile(**kwargs)
    ~~~~~~~~~~~~~^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile
    self._platform.compile(self, **kwargs)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile
    hardhat_like_parsing(
    ~~~~~~~~~~~~~~~~~~~~^
        crytic_compile, str(self._target), build_directory, str(self._project_root)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing
    raise InvalidCompilation(txt)
crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command?
/tmp/slither-a_2wzvxo/out/build-info is not a directory.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
2
No findings?
no
Summary
Owner can arbitrarily control raffle randomness, and the raffle can become permanently un-runnable when remaining supply is zero or exceeds tickets, locking user funds/refunds.
View stdout
{"no_findings":false,"summary":"Owner can arbitrarily control raffle randomness, and the raffle can become permanently un-runnable when remaining supply is zero or exceeds tickets, locking user funds/refunds.","findings":[{"severity":"high","category":"math","title":"Raffle can permanently revert when remainingURS is zero or exceeds totalTickets, locking tickets and refunds","exploit_scenario":"If VIP/pass minting exhausts supply (remainingURS == 0) or overall ticket sales are below remaining supply (totalTickets < remainingURS), runRaffle computes slotSize = totalTickets / remainingURS as 0 or divides by zero and then reverts on modulo. Because raffleNumber is never set, users cannot call calculateMyResult and never receive refunds or mint allocations. An attacker with enough passes could intentionally exhaust supply before the public ticket phase, causing subsequent ticket buyers to be permanently stuck.","recommendation":"Guard against remainingURS == 0 and totalTickets < remainingURS. Enforce limits in takingTickets or runRaffle, or add a cancellation/refund path when demand is insufficient. Consider setting a safe slotSize (e.g., 1) or reverting ticket sales when no supply remains.","evidence":"slotSize and offsetInSlot are computed from totalTickets/remainingURS without checking remainingURS or ensuring slotSize > 0; calculateMyResult requires raffleNumber to be set.","locations":["contracts/URSStore.sol:192","contracts/URSStore.sol:215","contracts/URSStore.sol:223","contracts/URSStore.sol:224","contracts/URSStore.sol:300"]},{"severity":"medium","category":"oracle","title":"Owner-controlled raffle number enables deterministic winner selection","exploit_scenario":"The owner sets raffleNumber at any time after ticket sales, with no commitment or external randomness. This allows the owner to choose a raffleNumber that favors specific ticket indices (including their own), undermining fairness and enabling manipulation of winners.","recommendation":"Use a commit-reveal scheme or an external randomness oracle (e.g., Chainlink VRF) with a binding that prevents the owner from selecting the final value after seeing ticket distribution.","evidence":"raffleNumber is set directly by onlyOwner with no entropy or commitment mechanism.","locations":["contracts/URSStore.sol:215","contracts/URSStore.sol:218"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-f27joe90
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb37d-af27-7912-8f03-be92c0092a41
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.

Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.

Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.

Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers

thinking
**Reading audit instructions**
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-f27joe90 succeeded in 5ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.

================================================================================
FILE: contracts/URSStore.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/access/Ownable.sol";

interface Factory {
    function mint(address) external;
}

interface Pass {
    function balanceOf(address) external view returns (uint256);
}

contract URSStore is Ownable {

thinking
**Analyzing contract arithmetic and logic vulnerabilities**

I’m auditing the only file for vulnerabilities, focusing on arithmetic errors like division by zero when totalTickets is less than remainingURS, which causes raffle functions to revert and lock funds. There’s also concern about the owner-controlled randomness enabling oracle manipulation, refund transfer risks causing possible denial-of-service, and a design flaw allowing users to buy tickets when supply is exhausted, leading to locked funds. I’m examining minting order and external calls for reentrancy possibilities and verifying access control and accounting invariants to identify exploitability.
exec
/bin/bash -lc 'nl -ba contracts/URSStore.sol' in /tmp/codex-f27joe90 succeeded in 12ms:
     1	// SPDX-License-Identifier: MIT
     2	pragma solidity ^0.8.0;
     3	
     4	import "@openzeppelin/contracts/access/Ownable.sol";
     5	
     6	interface Factory {
     7	    function mint(address) external;
     8	}
     9	
    10	interface Pass {
    11	    function balanceOf(address) external view returns (uint256);
    12	}
    13	
    14	contract URSStore is Ownable {
    15	    Pass public constant pass =
    16	        Pass(0xe0e19Aa07cb819664001adFFeA6a176A75897899);
    17	    Factory public constant ursFactory =
    18	        Factory(0x08f0B2A4351514E63E9E03A661aDFe58D463CfBc);
    19	
    20	    /**

thinking
**Summarizing raffle vulnerabilities**

I'm identifying two main issues: owner-controlled randomness enables unfair winner selection, and a division-by-zero bug can permanently lock user funds if ticket supply conditions aren't met. I'll detail exploit scenarios, categorize severity and type, and propose mitigations with specific code locations before crafting the JSON output accordingly.
codex
{"no_findings":false,"summary":"Owner can arbitrarily control raffle randomness, and the raffle can become permanently un-runnable when remaining supply is zero or exceeds tickets, locking user funds/refunds.","findings":[{"severity":"high","category":"math","title":"Raffle can permanently revert when remainingURS is zero or exceeds totalTickets, locking tickets and refunds","exploit_scenario":"If VIP/pass minting exhausts supply (remainingURS == 0) or overall ticket sales are below remaining supply (totalTickets < remainingURS), runRaffle computes slotSize = totalTickets / remainingURS as 0 or divides by zero and then reverts on modulo. Because raffleNumber is never set, users cannot call calculateMyResult and never receive refunds or mint allocations. An attacker with enough passes could intentionally exhaust supply before the public ticket phase, causing subsequent ticket buyers to be permanently stuck.","recommendation":"Guard against remainingURS == 0 and totalTickets < remainingURS. Enforce limits in takingTickets or runRaffle, or add a cancellation/refund path when demand is insufficient. Consider setting a safe slotSize (e.g., 1) or reverting ticket sales when no supply remains.","evidence":"slotSize and offsetInSlot are computed from totalTickets/remainingURS without checking remainingURS or ensuring slotSize > 0; calculateMyResult requires raffleNumber to be set.","locations":["contracts/URSStore.sol:192","contracts/URSStore.sol:215","contracts/URSStore.sol:223","contracts/URSStore.sol:224","contracts/URSStore.sol:300"]},{"severity":"medium","category":"oracle","title":"Owner-controlled raffle number enables deterministic winner selection","exploit_scenario":"The owner sets raffleNumber at any time after ticket sales, with no commitment or external randomness. This allows the owner to choose a raffleNumber that favors specific ticket indices (including their own), undermining fairness and enabling manipulation of winners.","recommendation":"Use a commit-reveal scheme or an external randomness oracle (e.g., Chainlink VRF) with a binding that prevents the owner from selecting the final value after seeing ticket distribution.","evidence":"raffleNumber is set directly by onlyOwner with no entropy or commitment mechanism.","locations":["contracts/URSStore.sol:215","contracts/URSStore.sol:218"]}]}
tokens used
17,504
Metadata
{
    "codex": {
        "ran_at": "2026-01-12T18:37:03.800891+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 3,
        "import_count": 2,
        "first_party_contracts_count": 1
    },
    "summary": "Owner can arbitrarily control raffle randomness, and the raffle can become permanently un-runnable when remaining supply is zero or exceeds tickets, locking user funds/refunds.",
    "raw_final": {
        "summary": "Owner can arbitrarily control raffle randomness, and the raffle can become permanently un-runnable when remaining supply is zero or exceeds tickets, locking user funds/refunds.",
        "findings": [
            {
                "title": "Raffle can permanently revert when remainingURS is zero or exceeds totalTickets, locking tickets and refunds",
                "category": "math",
                "evidence": "slotSize and offsetInSlot are computed from totalTickets/remainingURS without checking remainingURS or ensuring slotSize > 0; calculateMyResult requires raffleNumber to be set.",
                "severity": "high",
                "locations": [
                    "contracts/URSStore.sol:192",
                    "contracts/URSStore.sol:215",
                    "contracts/URSStore.sol:223",
                    "contracts/URSStore.sol:224",
                    "contracts/URSStore.sol:300"
                ],
                "recommendation": "Guard against remainingURS == 0 and totalTickets < remainingURS. Enforce limits in takingTickets or runRaffle, or add a cancellation/refund path when demand is insufficient. Consider setting a safe slotSize (e.g., 1) or reverting ticket sales when no supply remains.",
                "exploit_scenario": "If VIP/pass minting exhausts supply (remainingURS == 0) or overall ticket sales are below remaining supply (totalTickets < remainingURS), runRaffle computes slotSize = totalTickets / remainingURS as 0 or divides by zero and then reverts on modulo. Because raffleNumber is never set, users cannot call calculateMyResult and never receive refunds or mint allocations. An attacker with enough passes could intentionally exhaust supply before the public ticket phase, causing subsequent ticket buyers to be permanently stuck."
            },
            {
                "title": "Owner-controlled raffle number enables deterministic winner selection",
                "category": "oracle",
                "evidence": "raffleNumber is set directly by onlyOwner with no entropy or commitment mechanism.",
                "severity": "medium",
                "locations": [
                    "contracts/URSStore.sol:215",
                    "contracts/URSStore.sol:218"
                ],
                "recommendation": "Use a commit-reveal scheme or an external randomness oracle (e.g., Chainlink VRF) with a binding that prevents the owner from selecting the final value after seeing ticket distribution.",
                "exploit_scenario": "The owner sets raffleNumber at any time after ticket sales, with no commitment or external randomness. This allows the owner to choose a raffleNumber that favors specific ticket indices (including their own), undermining fairness and enabling manipulation of winners."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
7
EXT*/BALANCE
4
Total opcodes
3730
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 0x01d8
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x969f0172
00000019: GT
0000001a: PUSH2 0x0102
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xe56d3db8
00000024: GT
00000025: PUSH2 0x0095
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xf23e1fd2
0000002f: GT
00000030: PUSH2 0x0064
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xf23e1fd2
0000003a: EQ
0000003b: PUSH2 0x052d
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf26d3117
00000045: EQ
00000046: PUSH2 0x0542
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf2fde38b
00000050: EQ
00000051: PUSH2 0x0557
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xfd23492a
0000005b: EQ
0000005c: PUSH2 0x0577
0000005f: JUMPI
00000060: PUSH1 0x00
00000062: DUP1
00000063: REVERT
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0xe56d3db8
0000006b: EQ
0000006c: PUSH2 0x04c4
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xee69ef92
00000076: EQ
00000077: PUSH2 0x04d9
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xf09703ca
00000081: EQ
00000082: PUSH2 0x0501
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0xf1dbc1c6
0000008c: EQ
0000008d: PUSH2 0x0517
00000090: JUMPI
00000091: PUSH1 0x00
00000093: DUP1
00000094: REVERT
00000095: JUMPDEST
00000096: DUP1
00000097: PUSH4 0xdd11247e
0000009c: GT
0000009d: PUSH2 0x00d1
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0xdd11247e
000000a7: EQ
000000a8: PUSH2 0x046d
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xde7fcb1d
000000b2: EQ
000000b3: PUSH2 0x0483
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0xe01dca9c
000000bd: EQ
000000be: PUSH2 0x0498
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0xe06699ad
000000c8: EQ
000000c9: PUSH2 0x04ae
000000cc: JUMPI
000000cd: PUSH1 0x00
000000cf: DUP1
000000d0: REVERT
000000d1: JUMPDEST
000000d2: DUP1
000000d3: PUSH4 0x969f0172
000000d8: EQ
000000d9: PUSH2 0x03fc
000000dc: JUMPI
000000dd: DUP1
000000de: PUSH4 0xa7a1ed72
000000e3: EQ
000000e4: PUSH2 0x0412
000000e7: JUMPI
000000e8: DUP1
000000e9: PUSH4 0xc041de1f
000000ee: EQ
000000ef: PUSH2 0x043a
000000f2: JUMPI
000000f3: DUP1
000000f4: PUSH4 0xd17aade4
000000f9: EQ
000000fa: PUSH2 0x044d
000000fd: JUMPI
000000fe: PUSH1 0x00
00000100: DUP1
00000101: REVERT
00000102: JUMPDEST
00000103: DUP1
00000104: PUSH4 0x4fdecd25
00000109: GT
0000010a: PUSH2 0x017a
0000010d: JUMPI
0000010e: DUP1
0000010f: PUSH4 0x628a0cf8
00000114: GT
00000115: PUSH2 0x0149
00000118: JUMPI
00000119: DUP1
0000011a: PUSH4 0x628a0cf8
0000011f: EQ
00000120: PUSH2 0x0372
00000123: JUMPI
00000124: DUP1
00000125: PUSH4 0x715018a6
0000012a: EQ
0000012b: PUSH2 0x0388
0000012e: JUMPI
0000012f: DUP1
00000130: PUSH4 0x857b7916
00000135: EQ
00000136: PUSH2 0x039d
00000139: JUMPI
0000013a: DUP1
0000013b: PUSH4 0x8da5cb5b
00000140: EQ
00000141: PUSH2 0x03ca
00000144: JUMPI
00000145: PUSH1 0x00
00000147: DUP1
00000148: REVERT
00000149: JUMPDEST
0000014a: DUP1
0000014b: PUSH4 0x4fdecd25
00000150: EQ
00000151: PUSH2 0x02d5
00000154: JUMPI
00000155: DUP1
00000156: PUSH4 0x51cff8d9
0000015b: EQ
0000015c: PUSH2 0x02eb
0000015f: JUMPI
00000160: DUP1
00000161: PUSH4 0x5609cc4c
00000166: EQ
00000167: PUSH2 0x030b
0000016a: JUMPI
0000016b: DUP1
0000016c: PUSH4 0x623c4047
00000171: EQ
00000172: PUSH2 0x0321
00000175: JUMPI
00000176: PUSH1 0x00
00000178: DUP1
00000179: REVERT
0000017a: JUMPDEST
0000017b: DUP1
0000017c: PUSH4 0x1d527dc3
00000181: GT
00000182: PUSH2 0x01b6
00000185: JUMPI
00000186: DUP1
00000187: PUSH4 0x1d527dc3
0000018c: EQ
0000018d: PUSH2 0x0237
00000190: JUMPI
00000191: DUP1
00000192: PUSH4 0x1f322afe
00000197: EQ
00000198: PUSH2 0x0257
0000019b: JUMPI
0000019c: DUP1
0000019d: PUSH4 0x31657926
000001a2: EQ
000001a3: PUSH2 0x026c
000001a6: JUMPI
000001a7: DUP1
000001a8: PUSH4 0x3f91da31
000001ad: EQ
000001ae: PUSH2 0x02b5
000001b1: JUMPI
000001b2: PUSH1 0x00
000001b4: DUP1
000001b5: REVERT
000001b6: JUMPDEST
000001b7: DUP1
000001b8: PUSH4 0x0e696ece
000001bd: EQ
000001be: PUSH2 0x01dd
000001c1: JUMPI
000001c2: DUP1
000001c3: PUSH4 0x1209b1f6
000001c8: EQ
000001c9: PUSH2 0x01f2
000001cc: JUMPI
000001cd: DUP1
000001ce: PUSH4 0x13b228ec
000001d3: EQ
000001d4: PUSH2 0x0221
000001d7: JUMPI
000001d8: JUMPDEST
000001d9: PUSH1 0x00
000001db: DUP1
000001dc: REVERT
000001dd: JUMPDEST
000001de: PUSH2 0x01f0
000001e1: PUSH2 0x01eb
000001e4: CALLDATASIZE
000001e5: PUSH1 0x04
000001e7: PUSH2 0x17e9
000001ea: JUMP
000001eb: JUMPDEST
000001ec: PUSH2 0x058e
000001ef: JUMP
000001f0: JUMPDEST
000001f1: STOP
000001f2: JUMPDEST
000001f3: CALLVALUE
000001f4: DUP1
000001f5: ISZERO
000001f6: PUSH2 0x01fe
000001f9: JUMPI
000001fa: PUSH1 0x00
000001fc: DUP1
000001fd: REVERT
000001fe: JUMPDEST
000001ff: POP
00000200: PUSH2 0x020e
00000203: PUSH8 0x011c37937e080000
0000020c: DUP2
0000020d: JUMP
0000020e: JUMPDEST
0000020f: PUSH1 0x40
00000211: MLOAD
00000212: SWAP1
00000213: DUP2
00000214: MSTORE
00000215: PUSH1 0x20
00000217: ADD
00000218: JUMPDEST
00000219: PUSH1 0x40
0000021b: MLOAD
0000021c: DUP1
0000021d: SWAP2
0000021e: SUB
0000021f: SWAP1
00000220: RETURN
00000221: JUMPDEST
00000222: CALLVALUE
00000223: DUP1
00000224: ISZERO
00000225: PUSH2 0x022d
00000228: JUMPI
00000229: PUSH1 0x00
0000022b: DUP1
0000022c: REVERT
0000022d: JUMPDEST
0000022e: POP
0000022f: PUSH2 0x020e
00000232: PUSH1 0x04
00000234: SLOAD
00000235: DUP2
00000236: JUMP
00000237: JUMPDEST
00000238: CALLVALUE
00000239: DUP1
0000023a: ISZERO
0000023b: PUSH2 0x0243
0000023e: JUMPI
0000023f: PUSH1 0x00
00000241: DUP1
00000242: REVERT
00000243: JUMPDEST
00000244: POP
00000245: PUSH2 0x01f0
00000248: PUSH2 0x0252
0000024b: CALLDATASIZE
0000024c: PUSH1 0x04
0000024e: PUSH2 0x17e9
00000251: JUMP
00000252: JUMPDEST
00000253: PUSH2 0x07ec
00000256: JUMP
00000257: JUMPDEST
00000258: CALLVALUE
00000259: DUP1
0000025a: ISZERO
0000025b: PUSH2 0x0263
0000025e: JUMPI
0000025f: PUSH1 0x00
00000261: DUP1
00000262: REVERT
00000263: JUMPDEST
00000264: POP
00000265: PUSH2 0x020e
00000268: PUSH1 0x32
0000026a: DUP2
0000026b: JUMP
0000026c: JUMPDEST
0000026d: CALLVALUE
0000026e: DUP1
0000026f: ISZERO
00000270: PUSH2 0x0278
00000273: JUMPI
00000274: PUSH1 0x00
00000276: DUP1
00000277: REVERT
00000278: JUMPDEST
00000279: POP
0000027a: PUSH2 0x02a0
0000027d: PUSH2 0x0287
00000280: CALLDATASIZE
00000281: PUSH1 0x04
00000283: PUSH2 0x16ff
00000286: JUMP
00000287: JUMPDEST
00000288: PUSH1 0x06
0000028a: PUSH1 0x20
0000028c: MSTORE
0000028d: PUSH1 0x00
0000028f: SWAP1
00000290: DUP2
00000291: MSTORE
00000292: PUSH1 0x40
00000294: SWAP1
00000295: KECCAK256
00000296: DUP1
00000297: SLOAD
00000298: PUSH1 0x01
0000029a: SWAP1
0000029b: SWAP2
0000029c: ADD
0000029d: SLOAD
0000029e: DUP3
0000029f: JUMP
000002a0: JUMPDEST
000002a1: PUSH1 0x40
000002a3: DUP1
000002a4: MLOAD
000002a5: SWAP3
000002a6: DUP4
000002a7: MSTORE
000002a8: PUSH1 0x20
000002aa: DUP4
000002ab: ADD
000002ac: SWAP2
000002ad: SWAP1
000002ae: SWAP2
000002af: MSTORE
000002b0: ADD
000002b1: PUSH2 0x0218
000002b4: JUMP
000002b5: JUMPDEST
000002b6: CALLVALUE
000002b7: DUP1
000002b8: ISZERO
000002b9: PUSH2 0x02c1
000002bc: JUMPI
000002bd: PUSH1 0x00
000002bf: DUP1
000002c0: REVERT
000002c1: JUMPDEST
000002c2: POP
000002c3: PUSH2 0x01f0
000002c6: PUSH2 0x02d0
000002c9: CALLDATASIZE
000002ca: PUSH1 0x04
000002cc: PUSH2 0x17e9
000002cf: JUMP
000002d0: JUMPDEST
000002d1: PUSH2 0x0903
000002d4: JUMP
000002d5: JUMPDEST
000002d6: CALLVALUE
000002d7: DUP1
000002d8: ISZERO
000002d9: PUSH2 0x02e1
000002dc: JUMPI
000002dd: PUSH1 0x00
000002df: DUP1
000002e0: REVERT
000002e1: JUMPDEST
000002e2: POP
000002e3: PUSH2 0x020e
000002e6: PUSH2 0x2710
000002e9: DUP2
000002ea: JUMP
000002eb: JUMPDEST
000002ec: CALLVALUE
000002ed: DUP1
000002ee: ISZERO
000002ef: PUSH2 0x02f7
000002f2: JUMPI
000002f3: PUSH1 0x00
000002f5: DUP1
000002f6: REVERT
000002f7: JUMPDEST
000002f8: POP
000002f9: PUSH2 0x01f0
000002fc: PUSH2 0x0306
000002ff: CALLDATASIZE
00000300: PUSH1 0x04
00000302: PUSH2 0x16ff
00000305: JUMP
00000306: JUMPDEST
00000307: PUSH2 0x0968
0000030a: JUMP
0000030b: JUMPDEST
0000030c: CALLVALUE
0000030d: DUP1
0000030e: ISZERO
0000030f: PUSH2 0x0317
00000312: JUMPI
00000313: PUSH1 0x00
00000315: DUP1
00000316: REVERT
00000317: JUMPDEST
00000318: POP
00000319: PUSH2 0x020e
0000031c: PUSH1 0x02
0000031e: SLOAD
0000031f: DUP2
00000320: JUMP
00000321: JUMPDEST
00000322: CALLVALUE
00000323: DUP1
00000324: ISZERO
00000325: PUSH2 0x032d
00000328: JUMPI
00000329: PUSH1 0x00
0000032b: DUP1
0000032c: REVERT
0000032d: JUMPDEST
0000032e: POP
0000032f: PUSH2 0x035b
00000332: PUSH2 0x033c
00000335: CALLDATASIZE
00000336: PUSH1 0x04
00000338: PUSH2 0x16ff
0000033b: JUMP
0000033c: JUMPDEST
0000033d: PUSH1 0x0b
0000033f: PUSH1 0x20
00000341: MSTORE
00000342: PUSH1 0x00
00000344: SWAP1
00000345: DUP2
00000346: MSTORE
00000347: PUSH1 0x40
00000349: SWAP1
0000034a: KECCAK256
0000034b: DUP1
0000034c: SLOAD
0000034d: PUSH1 0x01
0000034f: SWAP1
00000350: SWAP2
00000351: ADD
00000352: SLOAD
00000353: PUSH1 0xff
00000355: SWAP1
00000356: SWAP2
00000357: AND
00000358: SWAP1
00000359: DUP3
0000035a: JUMP
0000035b: JUMPDEST
0000035c: PUSH1 0x40
0000035e: DUP1
0000035f: MLOAD
00000360: SWAP3
00000361: ISZERO
00000362: ISZERO
00000363: DUP4
00000364: MSTORE
00000365: PUSH1 0x20
00000367: DUP4
00000368: ADD
00000369: SWAP2
0000036a: SWAP1
0000036b: SWAP2
0000036c: MSTORE
0000036d: ADD
0000036e: PUSH2 0x0218
00000371: JUMP
00000372: JUMPDEST
00000373: CALLVALUE
00000374: DUP1
00000375: ISZERO
00000376: PUSH2 0x037e
00000379: JUMPI
0000037a: PUSH1 0x00
0000037c: DUP1
0000037d: REVERT
0000037e: JUMPDEST
0000037f: POP
00000380: PUSH2 0x020e
00000383: PUSH1 0x09
00000385: SLOAD
00000386: DUP2
00000387: JUMP
00000388: JUMPDEST
00000389: CALLVALUE
0000038a: DUP1
0000038b: ISZERO
0000038c: PUSH2 0x0394
0000038f: JUMPI
00000390: PUSH1 0x00
00000392: DUP1
00000393: REVERT
00000394: JUMPDEST
00000395: POP
00000396: PUSH2 0x01f0
00000399: PUSH2 0x0b1b
0000039c: JUMP
0000039d: JUMPDEST
0000039e: CALLVALUE
0000039f: DUP1
000003a0: ISZERO
000003a1: PUSH2 0x03a9
000003a4: JUMPI
000003a5: PUSH1 0x00
000003a7: DUP1
000003a8: REVERT
000003a9: JUMPDEST
000003aa: POP
000003ab: PUSH2 0x020e
000003ae: PUSH2 0x03b8
000003b1: CALLDATASIZE
000003b2: PUSH1 0x04
000003b4: PUSH2 0x16ff
000003b7: JUMP
000003b8: JUMPDEST
000003b9: PUSH1 0x03
000003bb: PUSH1 0x20
000003bd: MSTORE
000003be: PUSH1 0x00
000003c0: SWAP1
000003c1: DUP2
000003c2: MSTORE
000003c3: PUSH1 0x40
000003c5: SWAP1
000003c6: KECCAK256
000003c7: SLOAD
000003c8: DUP2
000003c9: JUMP
000003ca: JUMPDEST
000003cb: CALLVALUE
000003cc: DUP1
000003cd: ISZERO
000003ce: PUSH2 0x03d6
000003d1: JUMPI
000003d2: PUSH1 0x00
000003d4: DUP1
000003d5: REVERT
000003d6: JUMPDEST
000003d7: POP
000003d8: PUSH1 0x00
000003da: SLOAD
000003db: PUSH1 0x01
000003dd: PUSH1 0x01
000003df: PUSH1 0xa0
000003e1: SHL
000003e2: SUB
000003e3: AND
000003e4: JUMPDEST
000003e5: PUSH1 0x40
000003e7: MLOAD
000003e8: PUSH1 0x01
000003ea: PUSH1 0x01
000003ec: PUSH1 0xa0
000003ee: SHL
000003ef: SUB
000003f0: SWAP1
000003f1: SWAP2
000003f2: AND
000003f3: DUP2
000003f4: MSTORE
000003f5: PUSH1 0x20
000003f7: ADD
000003f8: PUSH2 0x0218
000003fb: JUMP
000003fc: JUMPDEST
000003fd: CALLVALUE
000003fe: DUP1
000003ff: ISZERO
00000400: PUSH2 0x0408
00000403: JUMPI
00000404: PUSH1 0x00
00000406: DUP1
00000407: REVERT
00000408: JUMPDEST
00000409: POP
0000040a: PUSH2 0x020e
0000040d: PUSH2 0x7e90
00000410: DUP2
00000411: JUMP
00000412: JUMPDEST
00000413: CALLVALUE
00000414: DUP1
00000415: ISZERO
00000416: PUSH2 0x041e
00000419: JUMPI
0000041a: PUSH1 0x00
0000041c: DUP1
0000041d: REVERT
0000041e: JUMPDEST
0000041f: POP
00000420: PUSH2 0x03e4
00000423: PUSH20 0xe0e19aa07cb819664001adffea6a176a75897899
00000438: DUP2
00000439: JUMP
0000043a: JUMPDEST
0000043b: PUSH2 0x01f0
0000043e: PUSH2 0x0448
00000441: CALLDATASIZE
00000442: PUSH1 0x04
00000444: PUSH2 0x17e9
00000447: JUMP
00000448: JUMPDEST
00000449: PUSH2 0x0b51
0000044c: JUMP
0000044d: JUMPDEST
0000044e: CALLVALUE
0000044f: DUP1
00000450: ISZERO
00000451: PUSH2 0x0459
00000454: JUMPI
00000455: PUSH1 0x00
00000457: DUP1
00000458: REVERT
00000459: JUMPDEST
0000045a: POP
0000045b: PUSH2 0x01f0
0000045e: PUSH2 0x0468
00000461: CALLDATASIZE
00000462: PUSH1 0x04
00000464: PUSH2 0x1722
00000467: JUMP
00000468: JUMPDEST
00000469: PUSH2 0x0f2e
0000046c: JUMP
0000046d: JUMPDEST
0000046e: CALLVALUE
0000046f: DUP1
00000470: ISZERO
00000471: PUSH2 0x0479
00000474: JUMPI
00000475: PUSH1 0x00
00000477: DUP1
00000478: REVERT
00000479: JUMPDEST
0000047a: POP
0000047b: PUSH2 0x020e
0000047e: PUSH1 0x05
00000480: SLOAD
00000481: DUP2
00000482: JUMP
00000483: JUMPDEST
00000484: CALLVALUE
00000485: DUP1
00000486: ISZERO
00000487: PUSH2 0x048f
0000048a: JUMPI
0000048b: PUSH1 0x00
0000048d: DUP1
0000048e: REVERT
0000048f: JUMPDEST
00000490: POP
00000491: PUSH2 0x020e
00000494: PUSH1 0x1e
00000496: DUP2
00000497: JUMP
00000498: JUMPDEST
00000499: CALLVALUE
0000049a: DUP1
0000049b: ISZERO
0000049c: PUSH2 0x04a4
0000049f: JUMPI
000004a0: PUSH1 0x00
000004a2: DUP1
000004a3: REVERT
000004a4: JUMPDEST
000004a5: POP
000004a6: PUSH2 0x020e
000004a9: PUSH1 0x08
000004ab: SLOAD
000004ac: DUP2
000004ad: JUMP
000004ae: JUMPDEST
000004af: CALLVALUE
000004b0: DUP1
000004b1: ISZERO
000004b2: PUSH2 0x04ba
000004b5: JUMPI
000004b6: PUSH1 0x00
000004b8: DUP1
000004b9: REVERT
000004ba: JUMPDEST
000004bb: POP
000004bc: PUSH2 0x020e
000004bf: PUSH1 0x01
000004c1: SLOAD
000004c2: DUP2
000004c3: JUMP
000004c4: JUMPDEST
000004c5: CALLVALUE
000004c6: DUP1
000004c7: ISZERO
000004c8: PUSH2 0x04d0
000004cb: JUMPI
000004cc: PUSH1 0x00
000004ce: DUP1
000004cf: REVERT
000004d0: JUMPDEST
000004d1: POP
000004d2: PUSH2 0x01f0
000004d5: PUSH2 0x1198
000004d8: JUMP
000004d9: JUMPDEST
000004da: CALLVALUE
000004db: DUP1
000004dc: ISZERO
000004dd: PUSH2 0x04e5
000004e0: JUMPI
000004e1: PUSH1 0x00
000004e3: DUP1
000004e4: REVERT
000004e5: JUMPDEST
000004e6: POP
000004e7: PUSH2 0x03e4
000004ea: PUSH20 0x08f0b2a4351514e63e9e03a661adfe58d463cfbc
000004ff: DUP2
00000500: JUMP
00000501: JUMPDEST
00000502: CALLVALUE
00000503: DUP1
00000504: ISZERO
00000505: PUSH2 0x050d
00000508: JUMPI
00000509: PUSH1 0x00
0000050b: DUP1
0000050c: REVERT
0000050d: JUMPDEST
0000050e: POP
0000050f: PUSH2 0x020e
00000512: PUSH1 0x07
00000514: SLOAD
00000515: DUP2
00000516: JUMP
00000517: JUMPDEST
00000518: CALLVALUE
00000519: DUP1
0000051a: ISZERO
0000051b: PUSH2 0x0523
0000051e: JUMPI
0000051f: PUSH1 0x00
00000521: DUP1
00000522: REVERT
00000523: JUMPDEST
00000524: POP
00000525: PUSH2 0x020e
00000528: PUSH1 0x0a
0000052a: SLOAD
0000052b: DUP2
0000052c: JUMP
0000052d: JUMPDEST
0000052e: CALLVALUE
0000052f: DUP1
00000530: ISZERO
00000531: PUSH2 0x0539
00000534: JUMPI
00000535: PUSH1 0x00
00000537: DUP1
00000538: REVERT
00000539: JUMPDEST
0000053a: POP
0000053b: PUSH2 0x01f0
0000053e: PUSH2 0x1339
00000541: JUMP
00000542: JUMPDEST
00000543: CALLVALUE
00000544: DUP1
00000545: ISZERO
00000546: PUSH2 0x054e
00000549: JUMPI
0000054a: PUSH1 0x00
0000054c: DUP1
0000054d: REVERT
0000054e: JUMPDEST
0000054f: POP
00000550: PUSH2 0x020e
00000553: PUSH1 0x05
00000555: DUP2
00000556: JUMP
00000557: JUMPDEST
00000558: CALLVALUE
00000559: DUP1
0000055a: ISZERO
0000055b: PUSH2 0x0563
0000055e: JUMPI
0000055f: PUSH1 0x00
00000561: DUP1
00000562: REVERT
00000563: JUMPDEST
00000564: POP
00000565: PUSH2 0x01f0
00000568: PUSH2 0x0572
0000056b: CALLDATASIZE
0000056c: PUSH1 0x04
0000056e: PUSH2 0x16ff
00000571: JUMP
00000572: JUMPDEST
00000573: PUSH2 0x14ce
00000576: JUMP
00000577: JUMPDEST
00000578: CALLVALUE
00000579: DUP1
0000057a: ISZERO
0000057b: PUSH2 0x0583
0000057e: JUMPI
0000057f: PUSH1 0x00
00000581: DUP1
00000582: REVERT
00000583: JUMPDEST
00000584: POP
00000585: PUSH2 0x020e
00000588: PUSH3 0x015180
0000058c: DUP2
0000058d: JUMP
0000058e: JUMPDEST
0000058f: PUSH2 0x7e90
00000592: PUSH1 0x04
00000594: SLOAD
00000595: PUSH2 0x059e
00000598: SWAP2
00000599: SWAP1
0000059a: PUSH2 0x188f
0000059d: JUMP
0000059e: JUMPDEST
0000059f: TIMESTAMP
000005a0: LT
000005a1: ISZERO
000005a2: PUSH2 0x05e8
000005a5: JUMPI
000005a6: PUSH1 0x40
000005a8: MLOAD
000005a9: PUSH3 0x461bcd
000005ad: PUSH1 0xe5
000005af: SHL
000005b0: DUP2
000005b1: MSTORE
000005b2: PUSH1 0x20
000005b4: PUSH1 0x04
000005b6: DUP3
000005b7: ADD
000005b8: MSTORE
000005b9: PUSH1 0x13
000005bb: PUSH1 0x24
000005bd: DUP3
000005be: ADD
000005bf: MSTORE
000005c0: PUSH19 0x14dd1bdc99481a5cc81b9bdd081bdc195b9959
000005d4: PUSH1 0x6a
000005d6: SHL
000005d7: PUSH1 0x44
000005d9: DUP3
000005da: ADD
000005db: MSTORE
000005dc: PUSH1 0x64
000005de: ADD
000005df: JUMPDEST
000005e0: PUSH1 0x40
000005e2: MLOAD
000005e3: DUP1
000005e4: SWAP2
000005e5: SUB
000005e6: SWAP1
000005e7: REVERT
000005e8: JUMPDEST
000005e9: PUSH3 0x015180
000005ed: PUSH2 0x7e90
000005f0: PUSH1 0x04
000005f2: SLOAD
000005f3: PUSH2 0x05fc
000005f6: SWAP2
000005f7: SWAP1
000005f8: PUSH2 0x188f
000005fb: JUMP
000005fc: JUMPDEST
000005fd: PUSH2 0x0606
00000600: SWAP2
00000601: SWAP1
00000602: PUSH2 0x188f
00000605: JUMP
00000606: JUMPDEST
00000607: TIMESTAMP
00000608: LT
00000609: PUSH2 0x0646
0000060c: JUMPI
0000060d: PUSH1 0x40
0000060f: MLOAD
00000610: PUSH3 0x461bcd
00000614: PUSH1 0xe5
00000616: SHL
00000617: DUP2
00000618: MSTORE
00000619: PUSH1 0x20
0000061b: PUSH1 0x04
0000061d: DUP3
0000061e: ADD
0000061f: MSTORE
00000620: PUSH1 0x0f
00000622: PUSH1 0x24
00000624: DUP3
00000625: ADD
00000626: MSTORE
00000627: PUSH15 0x14dd1bdc99481a5cc818db1bdcd959
00000637: PUSH1 0x8a
00000639: SHL
0000063a: PUSH1 0x44
0000063c: DUP3
0000063d: ADD
0000063e: MSTORE
0000063f: PUSH1 0x64
00000641: ADD
00000642: PUSH2 0x05df
00000645: JUMP
00000646: JUMPDEST
00000647: PUSH1 0x00
00000649: DUP2
0000064a: GT
0000064b: PUSH2 0x0696
0000064e: JUMPI
0000064f: PUSH1 0x40
00000651: MLOAD
00000652: PUSH3 0x461bcd
00000656: PUSH1 0xe5
00000658: SHL
00000659: DUP2
0000065a: MSTORE
0000065b: PUSH1 0x20
0000065d: PUSH1 0x04
0000065f: DUP3
00000660: ADD
00000661: MSTORE
00000662: PUSH1 0x1f
00000664: PUSH1 0x24
00000666: DUP3
00000667: ADD
00000668: MSTORE
00000669: PUSH32 0x4e65656420746f2074616b65207469636b6574206d6f7265207468616e203000
0000068a: PUSH1 0x44
0000068c: DUP3
0000068d: ADD
0000068e: MSTORE
0000068f: PUSH1 0x64
00000691: ADD
00000692: PUSH2 0x05df
00000695: JUMP
00000696: JUMPDEST
00000697: CALLER
00000698: PUSH1 0x00
0000069a: SWAP1
0000069b: DUP2
0000069c: MSTORE
0000069d: PUSH1 0x06
0000069f: PUSH1 0x20
000006a1: MSTORE
000006a2: PUSH1 0x40
000006a4: SWAP1
000006a5: KECCAK256
000006a6: PUSH1 0x01
000006a8: DUP2
000006a9: ADD
000006aa: SLOAD
000006ab: ISZERO
000006ac: PUSH2 0x06ec
000006af: JUMPI
000006b0: PUSH1 0x40
000006b2: MLOAD
000006b3: PUSH3 0x461bcd
000006b7: PUSH1 0xe5
000006b9: SHL
000006ba: DUP2
000006bb: MSTORE
000006bc: PUSH1 0x20
000006be: PUSH1 0x04
000006c0: DUP3
000006c1: ADD
000006c2: MSTORE
000006c3: PUSH1 0x12
000006c5: PUSH1 0x24
000006c7: DUP3
000006c8: ADD
000006c9: MSTORE
000006ca: PUSH18 0x105b1c9958591e481c9959da5cdd195c9959
000006dd: PUSH1 0x72
000006df: SHL
000006e0: PUSH1 0x44
000006e2: DUP3
000006e3: ADD
000006e4: MSTORE
000006e5: PUSH1 0x64
000006e7: ADD
000006e8: PUSH2 0x05df
000006eb: JUMP
000006ec: JUMPDEST
000006ed: PUSH1 0x00
000006ef: PUSH2 0x0700
000006f2: DUP4
000006f3: PUSH8 0x011c37937e080000
000006fc: PUSH2 0x18bb
000006ff: JUMP
00000700: JUMPDEST
00000701: SWAP1
00000702: POP
00000703: CALLVALUE
00000704: DUP2
00000705: GT
00000706: ISZERO
00000707: PUSH2 0x0745
0000070a: JUMPI
0000070b: PUSH1 0x40
0000070d: MLOAD
0000070e: PUSH3 0x461bcd
00000712: PUSH1 0xe5
00000714: SHL
00000715: DUP2
00000716: MSTORE
00000717: PUSH1 0x20
00000719: PUSH1 0x04
0000071b: DUP3
0000071c: ADD
0000071d: MSTORE
0000071e: PUSH1 0x10
00000720: PUSH1 0x24
00000722: DUP3
00000723: ADD
00000724: MSTORE
00000725: PUSH16 0x4e6f7420656e6f756768206d6f6e6579
00000736: PUSH1 0x80
00000738: SHL
00000739: PUSH1 0x44
0000073b: DUP3
0000073c: ADD
0000073d: MSTORE
0000073e: PUSH1 0x64
00000740: ADD
00000741: PUSH2 0x05df
00000744: JUMP
00000745: JUMPDEST
00000746: PUSH1 0x05
00000748: DUP1
00000749: SLOAD
0000074a: DUP4
0000074b: SSTORE
0000074c: PUSH1 0x01
0000074e: DUP4
0000074f: ADD
00000750: DUP5
00000751: SWAP1
00000752: SSTORE
00000753: SLOAD
00000754: PUSH2 0x075e
00000757: SWAP1
00000758: DUP5
00000759: SWAP1
0000075a: PUSH2 0x188f
0000075d: JUMP
0000075e: JUMPDEST
0000075f: PUSH1 0x05
00000761: SSTORE
00000762: PUSH1 0x00
00000764: PUSH2 0x076d
00000767: DUP3
00000768: CALLVALUE
00000769: PUSH2 0x18da
0000076c: JUMP
0000076d: JUMPDEST
0000076e: PUSH1 0x40
00000770: DUP1
00000771: MLOAD
00000772: CALLER
00000773: DUP2
00000774: MSTORE
00000775: PUSH1 0x20
00000777: DUP2
00000778: ADD
00000779: DUP8
0000077a: SWAP1
0000077b: MSTORE
0000077c: SWAP1
0000077d: DUP2
0000077e: ADD
0000077f: DUP3
00000780: SWAP1
00000781: MSTORE
00000782: SWAP1
00000783: SWAP2
00000784: POP
00000785: PUSH32 0x6192e5b79064affb67b5a129ebac18695dbad1247983304d927ebc3800ffe895
000007a6: SWAP1
000007a7: PUSH1 0x60
000007a9: ADD
000007aa: PUSH1 0x40
000007ac: MLOAD
000007ad: DUP1
000007ae: SWAP2
000007af: SUB
000007b0: SWAP1
000007b1: LOG1
000007b2: DUP1
000007b3: ISZERO
000007b4: PUSH2 0x07e6
000007b7: JUMPI
000007b8: PUSH1 0x40
000007ba: MLOAD
000007bb: CALLER
000007bc: SWAP1
000007bd: DUP3
000007be: ISZERO
000007bf: PUSH2 0x08fc
000007c2: MUL
000007c3: SWAP1
000007c4: DUP4
000007c5: SWAP1
000007c6: PUSH1 0x00
000007c8: DUP2
000007c9: DUP2
000007ca: DUP2
000007cb: DUP6
000007cc: DUP9
000007cd: DUP9
000007ce: CALL
000007cf: SWAP4
000007d0: POP
000007d1: POP
000007d2: POP
000007d3: POP
000007d4: ISZERO
000007d5: DUP1
000007d6: ISZERO
000007d7: PUSH2 0x07e4
000007da: JUMPI
000007db: RETURNDATASIZE
000007dc: PUSH1 0x00
000007de: DUP1
000007df: RETURNDATACOPY
000007e0: RETURNDATASIZE
000007e1: PUSH1 0x00
000007e3: REVERT
000007e4: JUMPDEST
000007e5: POP
000007e6: JUMPDEST
000007e7: POP
000007e8: POP
000007e9: POP
000007ea: POP
000007eb: JUMP
000007ec: JUMPDEST
000007ed: PUSH1 0x00
000007ef: SLOAD
000007f0: PUSH1 0x01
000007f2: PUSH1 0x01
000007f4: PUSH1 0xa0
000007f6: SHL
000007f7: SUB
000007f8: AND
000007f9: CALLER
000007fa: EQ
000007fb: PUSH2 0x0816
000007fe: JUMPI
000007ff: PUSH1 0x40
00000801: MLOAD
00000802: PUSH3 0x461bcd
00000806: PUSH1 0xe5
00000808: SHL
00000809: DUP2
0000080a: MSTORE
0000080b: PUSH1 0x04
0000080d: ADD
0000080e: PUSH2 0x05df
00000811: SWAP1
00000812: PUSH2 0x1819
00000815: JUMP
00000816: JUMPDEST
00000817: PUSH1 0x07
00000819: SLOAD
0000081a: ISZERO
0000081b: PUSH2 0x0866
0000081e: JUMPI
0000081f: PUSH1 0x40
00000821: MLOAD
00000822: PUSH3 0x461bcd
00000826: PUSH1 0xe5
00000828: SHL
00000829: DUP2
0000082a: MSTORE
0000082b: PUSH1 0x20
0000082d: PUSH1 0x04
0000082f: DUP3
00000830: ADD
00000831: MSTORE
00000832: PUSH1 0x1c
00000834: PUSH1 0x24
00000836: DUP3
00000837: ADD
00000838: MSTORE
00000839: PUSH32 0x726166666c65206e756d62657220697320616c72656164792073657400000000
0000085a: PUSH1 0x44
0000085c: DUP3
0000085d: ADD
0000085e: MSTORE
0000085f: PUSH1 0x64
00000861: ADD
00000862: PUSH2 0x05df
00000865: JUMP
00000866: JUMPDEST
00000867: PUSH1 0x07
00000869: DUP2
0000086a: SWAP1
0000086b: SSTORE
0000086c: PUSH1 0x02
0000086e: SLOAD
0000086f: PUSH1 0x01
00000871: SLOAD
00000872: PUSH1 0x00
00000874: SWAP2
00000875: SWAP1
00000876: PUSH2 0x0881
00000879: SWAP1
0000087a: PUSH2 0x2710
0000087d: PUSH2 0x18da
00000880: JUMP
00000881: JUMPDEST
00000882: PUSH2 0x088b
00000885: SWAP2
00000886: SWAP1
00000887: PUSH2 0x18da
0000088a: JUMP
0000088b: JUMPDEST
0000088c: SWAP1
0000088d: POP
0000088e: DUP1
0000088f: PUSH1 0x05
00000891: SLOAD
00000892: PUSH2 0x089b
00000895: SWAP2
00000896: SWAP1
00000897: PUSH2 0x18a7
0000089a: JUMP
0000089b: JUMPDEST
0000089c: PUSH1 0x09
0000089e: DUP2
0000089f: SWAP1
000008a0: SSTORE
000008a1: PUSH2 0x08aa
000008a4: SWAP1
000008a5: DUP4
000008a6: PUSH2 0x190c
000008a9: JUMP
000008aa: JUMPDEST
000008ab: PUSH1 0x08
000008ad: SSTORE
000008ae: PUSH1 0x09
000008b0: SLOAD
000008b1: PUSH1 0x01
000008b3: SWAP1
000008b4: PUSH2 0x08be
000008b7: SWAP1
000008b8: DUP4
000008b9: SWAP1
000008ba: PUSH2 0x18bb
000008bd: JUMP
000008be: JUMPDEST
000008bf: PUSH2 0x08c8
000008c2: SWAP2
000008c3: SWAP1
000008c4: PUSH2 0x18da
000008c7: JUMP
000008c8: JUMPDEST
000008c9: PUSH1 0x0a
000008cb: SSTORE
000008cc: PUSH1 0x40
000008ce: MLOAD
000008cf: DUP3
000008d0: DUP2
000008d1: MSTORE
000008d2: PUSH32 0xf4293f5394ce7317abe45cfb7dae5a7e2f8c7efeaae1022b2667da672a88708a
000008f3: SWAP1
000008f4: PUSH1 0x20
000008f6: ADD
000008f7: JUMPDEST
000008f8: PUSH1 0x40
000008fa: MLOAD
000008fb: DUP1
000008fc: SWAP2
000008fd: SUB
000008fe: SWAP1
000008ff: LOG1
00000900: POP
00000901: POP
00000902: JUMP
00000903: JUMPDEST
00000904: PUSH1 0x00
00000906: SLOAD
00000907: PUSH1 0x01
00000909: PUSH1 0x01
0000090b: PUSH1 0xa0
0000090d: SHL
0000090e: SUB
0000090f: AND
00000910: CALLER
00000911: EQ
00000912: PUSH2 0x092d
00000915: JUMPI
00000916: PUSH1 0x40
00000918: MLOAD
00000919: PUSH3 0x461bcd
0000091d: PUSH1 0xe5
0000091f: SHL
00000920: DUP2
00000921: MSTORE
00000922: PUSH1 0x04
00000924: ADD
00000925: PUSH2 0x05df
00000928: SWAP1
00000929: PUSH2 0x1819
0000092c: JUMP
0000092d: JUMPDEST
0000092e: PUSH1 0x04
00000930: DUP2
00000931: SWAP1
00000932: SSTORE
00000933: PUSH1 0x40
00000935: MLOAD
00000936: DUP2
00000937: DUP2
00000938: MSTORE
00000939: PUSH32 0x370ed5694aff8260b2113acb4c27c8f7e4e4576e89d9dc173a696c70228eda57
0000095a: SWAP1
0000095b: PUSH1 0x20
0000095d: ADD
0000095e: PUSH1 0x40
00000960: MLOAD
00000961: DUP1
00000962: SWAP2
00000963: SUB
00000964: SWAP1
00000965: LOG1
00000966: POP
00000967: JUMP
00000968: JUMPDEST
00000969: PUSH1 0x00
0000096b: SLOAD
0000096c: PUSH1 0x01
0000096e: PUSH1 0x01
00000970: PUSH1 0xa0
00000972: SHL
00000973: SUB
00000974: AND
00000975: CALLER
00000976: EQ
00000977: PUSH2 0x0992
0000097a: JUMPI
0000097b: PUSH1 0x40
0000097d: MLOAD
0000097e: PUSH3 0x461bcd
00000982: PUSH1 0xe5
00000984: SHL
00000985: DUP2
00000986: MSTORE
00000987: PUSH1 0x04
00000989: ADD
0000098a: PUSH2 0x05df
0000098d: SWAP1
0000098e: PUSH2 0x1819
00000991: JUMP
00000992: JUMPDEST
00000993: PUSH1 0x01
00000995: PUSH1 0x01
00000997: PUSH1 0xa0
00000999: SHL
0000099a: SUB
0000099b: DUP2
0000099c: AND
0000099d: PUSH2 0x09b8
000009a0: JUMPI
000009a1: PUSH1 0x40
000009a3: MLOAD
000009a4: PUSH3 0x461bcd
000009a8: PUSH1 0xe5
000009aa: SHL
000009ab: DUP2
000009ac: MSTORE
000009ad: PUSH1 0x04
000009af: ADD
000009b0: PUSH2 0x05df
000009b3: SWAP1
000009b4: PUSH2 0x184e
000009b7: JUMP
000009b8: JUMPDEST
000009b9: PUSH1 0x00
000009bb: SLOAD
000009bc: PUSH1 0x01
000009be: PUSH1 0xa0
000009c0: SHL
000009c1: SWAP1
000009c2: DIV
000009c3: PUSH1 0xff
000009c5: AND
000009c6: ISZERO
000009c7: PUSH2 0x0a04
000009ca: JUMPI
000009cb: PUSH1 0x40
000009cd: MLOAD
000009ce: PUSH3 0x461bcd
000009d2: PUSH1 0xe5
000009d4: SHL
000009d5: DUP2
000009d6: MSTORE
000009d7: PUSH1 0x20
000009d9: PUSH1 0x04
000009db: DUP3
000009dc: ADD
000009dd: MSTORE
000009de: PUSH1 0x0f
000009e0: PUSH1 0x24
000009e2: DUP3
000009e3: ADD
000009e4: MSTORE
000009e5: PUSH15 0x105b1c9958591e4818db185a5b5959
000009f5: PUSH1 0x8a
000009f7: SHL
000009f8: PUSH1 0x44
000009fa: DUP3
000009fb: ADD
000009fc: MSTORE
000009fd: PUSH1 0x64
000009ff: ADD
00000a00: PUSH2 0x05df
00000a03: JUMP
00000a04: JUMPDEST
00000a05: PUSH1 0x02
00000a07: SLOAD
00000a08: PUSH1 0x05
00000a0a: SLOAD
00000a0b: PUSH2 0x0a14
00000a0e: SWAP2
00000a0f: SWAP1
00000a10: PUSH2 0x188f
00000a13: JUMP
00000a14: JUMPDEST
00000a15: PUSH2 0x0a21
00000a18: PUSH1 0x32
00000a1a: PUSH2 0x2710
00000a1d: PUSH2 0x18da
00000a20: JUMP
00000a21: JUMPDEST
00000a22: GT
00000a23: ISZERO
00000a24: PUSH2 0x0a6f
00000a27: JUMPI
00000a28: PUSH1 0x40
00000a2a: MLOAD
00000a2b: PUSH3 0x461bcd
00000a2f: PUSH1 0xe5
00000a31: SHL
00000a32: DUP2
00000a33: MSTORE
00000a34: PUSH1 0x20
00000a36: PUSH1 0x04
00000a38: DUP3
00000a39: ADD
00000a3a: MSTORE
00000a3b: PUSH1 0x1f
00000a3d: PUSH1 0x24
00000a3f: DUP3
00000a40: ADD
00000a41: MSTORE
00000a42: PUSH32 0x4e6f7420656e6f756768206574686572732061726520636f6c6c656374656400
00000a63: PUSH1 0x44
00000a65: DUP3
00000a66: ADD
00000a67: MSTORE
00000a68: PUSH1 0x64
00000a6a: ADD
00000a6b: PUSH2 0x05df
00000a6e: JUMP
00000a6f: JUMPDEST
00000a70: PUSH1 0x00
00000a72: PUSH2 0x0a7e
00000a75: PUSH1 0x32
00000a77: PUSH2 0x2710
00000a7a: PUSH2 0x18da
00000a7d: JUMP
00000a7e: JUMPDEST
00000a7f: PUSH2 0x0a90
00000a82: SWAP1
00000a83: PUSH8 0x011c37937e080000
00000a8c: PUSH2 0x18bb
00000a8f: JUMP
00000a90: JUMPDEST
00000a91: PUSH1 0x40
00000a93: MLOAD
00000a94: PUSH1 0x01
00000a96: PUSH1 0x01
00000a98: PUSH1 0xa0
00000a9a: SHL
00000a9b: SUB
00000a9c: DUP5
00000a9d: AND
00000a9e: DUP2
00000a9f: MSTORE
00000aa0: SWAP1
00000aa1: SWAP2
00000aa2: POP
00000aa3: PUSH32 0xf67611512e0a2d90c96fd3f08dca4971bc45fba9dc679eabe839a32abbe58a8e
00000ac4: SWAP1
00000ac5: PUSH1 0x20
00000ac7: ADD
00000ac8: PUSH1 0x40
00000aca: MLOAD
00000acb: DUP1
00000acc: SWAP2
00000acd: SUB
00000ace: SWAP1
00000acf: LOG1
00000ad0: PUSH1 0x00
00000ad2: DUP1
00000ad3: SLOAD
00000ad4: PUSH1 0xff
00000ad6: PUSH1 0xa0
00000ad8: SHL
00000ad9: NOT
00000ada: AND
00000adb: PUSH1 0x01
00000add: PUSH1 0xa0
00000adf: SHL
00000ae0: OR
00000ae1: DUP2
00000ae2: SSTORE
00000ae3: PUSH1 0x40
00000ae5: MLOAD
00000ae6: PUSH1 0x01
00000ae8: PUSH1 0x01
00000aea: PUSH1 0xa0
00000aec: SHL
00000aed: SUB
00000aee: DUP5
00000aef: AND
00000af0: SWAP2
00000af1: DUP4
00000af2: ISZERO
00000af3: PUSH2 0x08fc
00000af6: MUL
00000af7: SWAP2
00000af8: DUP5
00000af9: SWAP2
00000afa: DUP2
00000afb: DUP2
00000afc: DUP2
00000afd: DUP6
00000afe: DUP9
00000aff: DUP9
00000b00: CALL
00000b01: SWAP4
00000b02: POP
00000b03: POP
00000b04: POP
00000b05: POP
00000b06: ISZERO
00000b07: DUP1
00000b08: ISZERO
00000b09: PUSH2 0x0b16
00000b0c: JUMPI
00000b0d: RETURNDATASIZE
00000b0e: PUSH1 0x00
00000b10: DUP1
00000b11: RETURNDATACOPY
00000b12: RETURNDATASIZE
00000b13: PUSH1 0x00
00000b15: REVERT
00000b16: JUMPDEST
00000b17: POP
00000b18: POP
00000b19: POP
00000b1a: JUMP
00000b1b: JUMPDEST
00000b1c: PUSH1 0x00
00000b1e: SLOAD
00000b1f: PUSH1 0x01
00000b21: PUSH1 0x01
00000b23: PUSH1 0xa0
00000b25: SHL
00000b26: SUB
00000b27: AND
00000b28: CALLER
00000b29: EQ
00000b2a: PUSH2 0x0b45
00000b2d: JUMPI
00000b2e: PUSH1 0x40
00000b30: MLOAD
00000b31: PUSH3 0x461bcd
00000b35: PUSH1 0xe5
00000b37: SHL
00000b38: DUP2
00000b39: MSTORE
00000b3a: PUSH1 0x04
00000b3c: ADD
00000b3d: PUSH2 0x05df
00000b40: SWAP1
00000b41: PUSH2 0x1819
00000b44: JUMP
00000b45: JUMPDEST
00000b46: PUSH2 0x0b4f
00000b49: PUSH1 0x00
00000b4b: PUSH2 0x1569
00000b4e: JUMP
00000b4f: JUMPDEST
00000b50: JUMP
00000b51: JUMPDEST
00000b52: PUSH1 0x04
00000b54: SLOAD
00000b55: TIMESTAMP
00000b56: LT
00000b57: ISZERO
00000b58: PUSH2 0x0ba3
00000b5b: JUMPI
00000b5c: PUSH1 0x40
00000b5e: MLOAD
00000b5f: PUSH3 0x461bcd
00000b63: PUSH1 0xe5
00000b65: SHL
00000b66: DUP2
00000b67: MSTORE
00000b68: PUSH1 0x20
00000b6a: PUSH1 0x04
00000b6c: DUP3
00000b6d: ADD
00000b6e: MSTORE
00000b6f: PUSH1 0x1b
00000b71: PUSH1 0x24
00000b73: DUP3
00000b74: ADD
00000b75: MSTORE
00000b76: PUSH32 0x53746f7265206973206e6f74206f70656e656420666f72205649500000000000
00000b97: PUSH1 0x44
00000b99: DUP3
00000b9a: ADD
00000b9b: MSTORE
00000b9c: PUSH1 0x64
00000b9e: ADD
00000b9f: PUSH2 0x05df
00000ba2: JUMP
00000ba3: JUMPDEST
00000ba4: PUSH2 0x7e90
00000ba7: PUSH1 0x04
00000ba9: SLOAD
00000baa: PUSH2 0x0bb3
00000bad: SWAP2
00000bae: SWAP1
00000baf: PUSH2 0x188f
00000bb2: JUMP
00000bb3: JUMPDEST
00000bb4: TIMESTAMP
00000bb5: LT
00000bb6: PUSH2 0x0c01
00000bb9: JUMPI
00000bba: PUSH1 0x40
00000bbc: MLOAD
00000bbd: PUSH3 0x461bcd
00000bc1: PUSH1 0xe5
00000bc3: SHL
00000bc4: DUP2
00000bc5: MSTORE
00000bc6: PUSH1 0x20
00000bc8: PUSH1 0x04
00000bca: DUP3
00000bcb: ADD
00000bcc: MSTORE
00000bcd: PUSH1 0x17
00000bcf: PUSH1 0x24
00000bd1: DUP3
00000bd2: ADD
00000bd3: MSTORE
00000bd4: PUSH32 0x53746f726520697320636c6f73656420666f7220564950000000000000000000
00000bf5: PUSH1 0x44
00000bf7: DUP3
00000bf8: ADD
00000bf9: MSTORE
00000bfa: PUSH1 0x64
00000bfc: ADD
00000bfd: PUSH2 0x05df
00000c00: JUMP
00000c01: JUMPDEST
00000c02: PUSH1 0x1e
00000c04: DUP2
00000c05: GT
00000c06: ISZERO
00000c07: PUSH2 0x0c52
00000c0a: JUMPI
00000c0b: PUSH1 0x40
00000c0d: MLOAD
00000c0e: PUSH3 0x461bcd
00000c12: PUSH1 0xe5
00000c14: SHL
00000c15: DUP2
00000c16: MSTORE
00000c17: PUSH1 0x20
00000c19: PUSH1 0x04
00000c1b: DUP3
00000c1c: ADD
00000c1d: MSTORE
00000c1e: PUSH1 0x1b
00000c20: PUSH1 0x24
00000c22: DUP3
00000c23: ADD
00000c24: MSTORE
00000c25: PUSH32 0x6d696e7420616d6f756e742065786365656473206d6178696d756d0000000000
00000c46: PUSH1 0x44
00000c48: DUP3
00000c49: ADD
00000c4a: MSTORE
00000c4b: PUSH1 0x64
00000c4d: ADD
00000c4e: PUSH2 0x05df
00000c51: JUMP
00000c52: JUMPDEST
00000c53: PUSH1 0x00
00000c55: DUP2
00000c56: GT
00000c57: PUSH2 0x0ca2
00000c5a: JUMPI
00000c5b: PUSH1 0x40
00000c5d: MLOAD
00000c5e: PUSH3 0x461bcd
00000c62: PUSH1 0xe5
00000c64: SHL
00000c65: DUP2
00000c66: MSTORE
00000c67: PUSH1 0x20
00000c69: PUSH1 0x04
00000c6b: DUP3
00000c6c: ADD
00000c6d: MSTORE
00000c6e: PUSH1 0x18
00000c70: PUSH1 0x24
00000c72: DUP3
00000c73: ADD
00000c74: MSTORE
00000c75: PUSH32 0x4e65656420746f206d696e74206d6f7265207468616e20300000000000000000
00000c96: PUSH1 0x44
00000c98: DUP3
00000c99: ADD
00000c9a: MSTORE
00000c9b: PUSH1 0x64
00000c9d: ADD
00000c9e: PUSH2 0x05df
00000ca1: JUMP
00000ca2: JUMPDEST
00000ca3: CALLER
00000ca4: PUSH1 0x00
00000ca6: DUP2
00000ca7: DUP2
00000ca8: MSTORE
00000ca9: PUSH1 0x03
00000cab: PUSH1 0x20
00000cad: MSTORE
00000cae: PUSH1 0x40
00000cb0: DUP1
00000cb1: DUP3
00000cb2: KECCAK256
00000cb3: SLOAD
00000cb4: SWAP1
00000cb5: MLOAD
00000cb6: PUSH4 0x70a08231
00000cbb: PUSH1 0xe0
00000cbd: SHL
00000cbe: DUP2
00000cbf: MSTORE
00000cc0: PUSH1 0x04
00000cc2: DUP2
00000cc3: ADD
00000cc4: SWAP4
00000cc5: SWAP1
00000cc6: SWAP4
00000cc7: MSTORE
00000cc8: SWAP2
00000cc9: PUSH20 0xe0e19aa07cb819664001adffea6a176a75897899
00000cde: SWAP1
00000cdf: PUSH4 0x70a08231
00000ce4: SWAP1
00000ce5: PUSH1 0x24
00000ce7: ADD
00000ce8: PUSH1 0x20
00000cea: PUSH1 0x40
00000cec: MLOAD
00000ced: DUP1
00000cee: DUP4
00000cef: SUB
00000cf0: DUP2
00000cf1: DUP7
00000cf2: DUP1
00000cf3: EXTCODESIZE
00000cf4: ISZERO
00000cf5: DUP1
00000cf6: ISZERO
00000cf7: PUSH2 0x0cff
00000cfa: JUMPI
00000cfb: PUSH1 0x00
00000cfd: DUP1
00000cfe: REVERT
00000cff: JUMPDEST
00000d00: POP
00000d01: GAS
00000d02: STATICCALL
00000d03: ISZERO
00000d04: DUP1
00000d05: ISZERO
00000d06: PUSH2 0x0d13
00000d09: JUMPI
00000d0a: RETURNDATASIZE
00000d0b: PUSH1 0x00
00000d0d: DUP1
00000d0e: RETURNDATACOPY
00000d0f: RETURNDATASIZE
00000d10: PUSH1 0x00
00000d12: REVERT
00000d13: JUMPDEST
00000d14: POP
00000d15: POP
00000d16: POP
00000d17: POP
00000d18: PUSH1 0x40
00000d1a: MLOAD
00000d1b: RETURNDATASIZE
00000d1c: PUSH1 0x1f
00000d1e: NOT
00000d1f: PUSH1 0x1f
00000d21: DUP3
00000d22: ADD
00000d23: AND
00000d24: DUP3
00000d25: ADD
00000d26: DUP1
00000d27: PUSH1 0x40
00000d29: MSTORE
00000d2a: POP
00000d2b: DUP2
00000d2c: ADD
00000d2d: SWAP1
00000d2e: PUSH2 0x0d37
00000d31: SWAP2
00000d32: SWAP1
00000d33: PUSH2 0x1801
00000d36: JUMP
00000d37: JUMPDEST
00000d38: SWAP1
00000d39: POP
00000d3a: DUP3
00000d3b: DUP3
00000d3c: PUSH2 0x0d46
00000d3f: PUSH1 0x05
00000d41: DUP5
00000d42: PUSH2 0x18bb
00000d45: JUMP
00000d46: JUMPDEST
00000d47: PUSH2 0x0d50
00000d4a: SWAP2
00000d4b: SWAP1
00000d4c: PUSH2 0x18da
00000d4f: JUMP
00000d50: JUMPDEST
00000d51: LT
00000d52: ISZERO
00000d53: PUSH2 0x0d90
00000d56: JUMPI
00000d57: PUSH1 0x40
00000d59: MLOAD
00000d5a: PUSH3 0x461bcd
00000d5e: PUSH1 0xe5
00000d60: SHL
00000d61: DUP2
00000d62: MSTORE
00000d63: PUSH1 0x20
00000d65: PUSH1 0x04
00000d67: DUP3
00000d68: ADD
00000d69: MSTORE
00000d6a: PUSH1 0x0f
00000d6c: PUSH1 0x24
00000d6e: DUP3
00000d6f: ADD
00000d70: MSTORE
00000d71: PUSH15 0x4e6f7420656e6f7567682050617373
00000d81: PUSH1 0x88
00000d83: SHL
00000d84: PUSH1 0x44
00000d86: DUP3
00000d87: ADD
00000d88: MSTORE
00000d89: PUSH1 0x64
00000d8b: ADD
00000d8c: PUSH2 0x05df
00000d8f: JUMP
00000d90: JUMPDEST
00000d91: PUSH1 0x00
00000d93: PUSH2 0x0da4
00000d96: DUP5
00000d97: PUSH8 0x011c37937e080000
00000da0: PUSH2 0x18bb
00000da3: JUMP
00000da4: JUMPDEST
00000da5: SWAP1
00000da6: POP
00000da7: CALLVALUE
00000da8: DUP2
00000da9: GT
00000daa: ISZERO
00000dab: PUSH2 0x0de9
00000dae: JUMPI
00000daf: PUSH1 0x40
00000db1: MLOAD
00000db2: PUSH3 0x461bcd
00000db6: PUSH1 0xe5
00000db8: SHL
00000db9: DUP2
00000dba: MSTORE
00000dbb: PUSH1 0x20
00000dbd: PUSH1 0x04
00000dbf: DUP3
00000dc0: ADD
00000dc1: MSTORE
00000dc2: PUSH1 0x10
00000dc4: PUSH1 0x24
00000dc6: DUP3
00000dc7: ADD
00000dc8: MSTORE
00000dc9: PUSH16 0x4e6f7420656e6f756768206d6f6e6579
00000dda: PUSH1 0x80
00000ddc: SHL
00000ddd: PUSH1 0x44
00000ddf: DUP3
00000de0: ADD
00000de1: MSTORE
00000de2: PUSH1 0x64
00000de4: ADD
00000de5: PUSH2 0x05df
00000de8: JUMP
00000de9: JUMPDEST
00000dea: PUSH1 0x00
00000dec: JUMPDEST
00000ded: DUP5
00000dee: DUP2
00000def: LT
00000df0: ISZERO
00000df1: PUSH2 0x0e6c
00000df4: JUMPI
00000df5: PUSH1 0x40
00000df7: MLOAD
00000df8: PUSH4 0x35313c21
00000dfd: PUSH1 0xe1
00000dff: SHL
00000e00: DUP2
00000e01: MSTORE
00000e02: CALLER
00000e03: PUSH1 0x04
00000e05: DUP3
00000e06: ADD
00000e07: MSTORE
00000e08: PUSH20 0x08f0b2a4351514e63e9e03a661adfe58d463cfbc
00000e1d: SWAP1
00000e1e: PUSH4 0x6a627842
00000e23: SWAP1
00000e24: PUSH1 0x24
00000e26: ADD
00000e27: PUSH1 0x00
00000e29: PUSH1 0x40
00000e2b: MLOAD
00000e2c: DUP1
00000e2d: DUP4
00000e2e: SUB
00000e2f: DUP2
00000e30: PUSH1 0x00
00000e32: DUP8
00000e33: DUP1
00000e34: EXTCODESIZE
00000e35: ISZERO
00000e36: DUP1
00000e37: ISZERO
00000e38: PUSH2 0x0e40
00000e3b: JUMPI
00000e3c: PUSH1 0x00
00000e3e: DUP1
00000e3f: REVERT
00000e40: JUMPDEST
00000e41: POP
00000e42: GAS
00000e43: CALL
00000e44: ISZERO
00000e45: DUP1
00000e46: ISZERO
00000e47: PUSH2 0x0e54
00000e4a: JUMPI
00000e4b: RETURNDATASIZE
00000e4c: PUSH1 0x00
00000e4e: DUP1
00000e4f: RETURNDATACOPY
00000e50: RETURNDATASIZE
00000e51: PUSH1 0x00
00000e53: REVERT
00000e54: JUMPDEST
00000e55: POP
00000e56: POP
00000e57: POP
00000e58: POP
00000e59: PUSH1 0x01
00000e5b: DUP2
00000e5c: PUSH2 0x0e65
00000e5f: SWAP2
00000e60: SWAP1
00000e61: PUSH2 0x188f
00000e64: JUMP
00000e65: JUMPDEST
00000e66: SWAP1
00000e67: POP
00000e68: PUSH2 0x0dec
00000e6b: JUMP
00000e6c: JUMPDEST
00000e6d: POP
00000e6e: PUSH2 0x0e77
00000e71: DUP5
00000e72: DUP5
00000e73: PUSH2 0x188f
00000e76: JUMP
00000e77: JUMPDEST
00000e78: CALLER
00000e79: PUSH1 0x00
00000e7b: SWAP1
00000e7c: DUP2
00000e7d: MSTORE
00000e7e: PUSH1 0x03
00000e80: PUSH1 0x20
00000e82: MSTORE
00000e83: PUSH1 0x40
00000e85: DUP2
00000e86: KECCAK256
00000e87: SWAP2
00000e88: SWAP1
00000e89: SWAP2
00000e8a: SSTORE
00000e8b: PUSH1 0x02
00000e8d: DUP1
00000e8e: SLOAD
00000e8f: DUP7
00000e90: SWAP3
00000e91: SWAP1
00000e92: PUSH2 0x0e9c
00000e95: SWAP1
00000e96: DUP5
00000e97: SWAP1
00000e98: PUSH2 0x188f
00000e9b: JUMP
00000e9c: JUMPDEST
00000e9d: SWAP1
00000e9e: SWAP2
00000e9f: SSTORE
00000ea0: POP
00000ea1: PUSH1 0x00
00000ea3: SWAP1
00000ea4: POP
00000ea5: PUSH2 0x0eae
00000ea8: DUP3
00000ea9: CALLVALUE
00000eaa: PUSH2 0x18da
00000ead: JUMP
00000eae: JUMPDEST
00000eaf: PUSH1 0x40
00000eb1: DUP1
00000eb2: MLOAD
00000eb3: CALLER
00000eb4: DUP2
00000eb5: MSTORE
00000eb6: PUSH1 0x20
00000eb8: DUP2
00000eb9: ADD
00000eba: DUP9
00000ebb: SWAP1
00000ebc: MSTORE
00000ebd: SWAP1
00000ebe: DUP2
00000ebf: ADD
00000ec0: DUP3
00000ec1: SWAP1
00000ec2: MSTORE
00000ec3: SWAP1
00000ec4: SWAP2
00000ec5: POP
00000ec6: PUSH32 0x3fb7239d51fdc92f75bd949133afbe9bd5bce32e3b263c054fd238ef0f9a229f
00000ee7: SWAP1
00000ee8: PUSH1 0x60
00000eea: ADD
00000eeb: JUMPDEST
00000eec: PUSH1 0x40
00000eee: MLOAD
00000eef: DUP1
00000ef0: SWAP2
00000ef1: SUB
00000ef2: SWAP1
00000ef3: LOG1
00000ef4: DUP1
00000ef5: ISZERO
00000ef6: PUSH2 0x07e4
00000ef9: JUMPI
00000efa: PUSH1 0x40
00000efc: MLOAD
00000efd: CALLER
00000efe: SWAP1
00000eff: DUP3
00000f00: ISZERO
00000f01: PUSH2 0x08fc
00000f04: MUL
00000f05: SWAP1
00000f06: DUP4
00000f07: SWAP1
00000f08: PUSH1 0x00
00000f0a: DUP2
00000f0b: DUP2
00000f0c: DUP2
00000f0d: DUP6
00000f0e: DUP9
00000f0f: DUP9
00000f10: CALL
00000f11: SWAP4
00000f12: POP
00000f13: POP
00000f14: POP
00000f15: POP
00000f16: ISZERO
00000f17: DUP1
00000f18: ISZERO
00000f19: PUSH2 0x0f26
00000f1c: JUMPI
00000f1d: RETURNDATASIZE
00000f1e: PUSH1 0x00
00000f20: DUP1
00000f21: RETURNDATACOPY
00000f22: RETURNDATASIZE
00000f23: PUSH1 0x00
00000f25: REVERT
00000f26: JUMPDEST
00000f27: POP
00000f28: POP
00000f29: POP
00000f2a: POP
00000f2b: POP
00000f2c: POP
00000f2d: JUMP
00000f2e: JUMPDEST
00000f2f: PUSH1 0x00
00000f31: SLOAD
00000f32: PUSH1 0x01
00000f34: PUSH1 0x01
00000f36: PUSH1 0xa0
00000f38: SHL
00000f39: SUB
00000f3a: AND
00000f3b: CALLER
00000f3c: EQ
00000f3d: PUSH2 0x0f58
00000f40: JUMPI
00000f41: PUSH1 0x40
00000f43: MLOAD
00000f44: PUSH3 0x461bcd
00000f48: PUSH1 0xe5
00000f4a: SHL
00000f4b: DUP2
00000f4c: MSTORE
00000f4d: PUSH1 0x04
00000f4f: ADD
00000f50: PUSH2 0x05df
00000f53: SWAP1
00000f54: PUSH2 0x1819
00000f57: JUMP
00000f58: JUMPDEST
00000f59: PUSH3 0x015180
00000f5d: PUSH2 0x7e90
00000f60: PUSH1 0x04
00000f62: SLOAD
00000f63: PUSH2 0x0f6c
00000f66: SWAP2
00000f67: SWAP1
00000f68: PUSH2 0x188f
00000f6b: JUMP
00000f6c: JUMPDEST
00000f6d: PUSH2 0x0f76
00000f70: SWAP2
00000f71: SWAP1
00000f72: PUSH2 0x188f
00000f75: JUMP
00000f76: JUMPDEST
00000f77: TIMESTAMP
00000f78: LT
00000f79: PUSH2 0x0fd0
00000f7c: JUMPI
00000f7d: PUSH1 0x40
00000f7f: MLOAD
00000f80: PUSH3 0x461bcd
00000f84: PUSH1 0xe5
00000f86: SHL
00000f87: DUP2
00000f88: MSTORE
00000f89: PUSH1 0x20
00000f8b: PUSH1 0x04
00000f8d: DUP3
00000f8e: ADD
00000f8f: MSTORE
00000f90: PUSH1 0x24
00000f92: DUP1
00000f93: DUP3
00000f94: ADD
00000f95: MSTORE
00000f96: PUSH32 0x4e6f7420617661696c61626c65206166746572207469636b6574696e67207065
00000fb7: PUSH1 0x44
00000fb9: DUP3
00000fba: ADD
00000fbb: MSTORE
00000fbc: PUSH4 0x1c9a5bd9
00000fc1: PUSH1 0xe2
00000fc3: SHL
00000fc4: PUSH1 0x64
00000fc6: DUP3
00000fc7: ADD
00000fc8: MSTORE
00000fc9: PUSH1 0x84
00000fcb: ADD
00000fcc: PUSH2 0x05df
00000fcf: JUMP
00000fd0: JUMPDEST
00000fd1: DUP1
00000fd2: MLOAD
00000fd3: DUP1
00000fd4: PUSH2 0x1033
00000fd7: JUMPI
00000fd8: PUSH1 0x40
00000fda: MLOAD
00000fdb: PUSH3 0x461bcd
00000fdf: PUSH1 0xe5
00000fe1: SHL
00000fe2: DUP2
00000fe3: MSTORE
00000fe4: PUSH1 0x20
00000fe6: PUSH1 0x04
00000fe8: DUP3
00000fe9: ADD
00000fea: MSTORE
00000feb: PUSH1 0x2b
00000fed: PUSH1 0x24
00000fef: DUP3
00000ff0: ADD
00000ff1: MSTORE
00000ff2: PUSH32 0x4e756d626572206f6620726563697069656e7473206d75737420626520677265
00001013: PUSH1 0x44
00001015: DUP3
00001016: ADD
00001017: MSTORE
00001018: PUSH11 0x061746572207468616e203
00001024: PUSH1 0xac
00001026: SHL
00001027: PUSH1 0x64
00001029: DUP3
0000102a: ADD
0000102b: MSTORE
0000102c: PUSH1 0x84
0000102e: ADD
0000102f: PUSH2 0x05df
00001032: JUMP
00001033: JUMPDEST
00001034: PUSH1 0x32
00001036: DUP2
00001037: PUSH1 0x01
00001039: SLOAD
0000103a: PUSH2 0x1043
0000103d: SWAP2
0000103e: SWAP1
0000103f: PUSH2 0x188f
00001042: JUMP
00001043: JUMPDEST
00001044: GT
00001045: ISZERO
00001046: PUSH2 0x1091
00001049: JUMPI
0000104a: PUSH1 0x40
0000104c: MLOAD
0000104d: PUSH3 0x461bcd
00001051: PUSH1 0xe5
00001053: SHL
00001054: DUP2
00001055: MSTORE
00001056: PUSH1 0x20
00001058: PUSH1 0x04
0000105a: DUP3
0000105b: ADD
0000105c: MSTORE
0000105d: PUSH1 0x18
0000105f: PUSH1 0x24
00001061: DUP3
00001062: ADD
00001063: MSTORE
00001064: PUSH32 0x45786365656473206d6178207072652d6d696e74205552530000000000000000
00001085: PUSH1 0x44
00001087: DUP3
00001088: ADD
00001089: MSTORE
0000108a: PUSH1 0x64
0000108c: ADD
0000108d: PUSH2 0x05df
00001090: JUMP
00001091: JUMPDEST
00001092: PUSH1 0x00
00001094: JUMPDEST
00001095: DUP2
00001096: DUP2
00001097: LT
00001098: ISZERO
00001099: PUSH2 0x117c
0000109c: JUMPI
0000109d: PUSH1 0x00
0000109f: DUP4
000010a0: DUP3
000010a1: DUP2
000010a2: MLOAD
000010a3: DUP2
000010a4: LT
000010a5: PUSH2 0x10be
000010a8: JUMPI
000010a9: PUSH4 0x4e487b71
000010ae: PUSH1 0xe0
000010b0: SHL
000010b1: PUSH1 0x00
000010b3: MSTORE
000010b4: PUSH1 0x32
000010b6: PUSH1 0x04
000010b8: MSTORE
000010b9: PUSH1 0x24
000010bb: PUSH1 0x00
000010bd: REVERT
000010be: JUMPDEST
000010bf: PUSH1 0x20
000010c1: MUL
000010c2: PUSH1 0x20
000010c4: ADD
000010c5: ADD
000010c6: MLOAD
000010c7: SWAP1
000010c8: POP
000010c9: PUSH1 0x00
000010cb: PUSH1 0x01
000010cd: PUSH1 0x01
000010cf: PUSH1 0xa0
000010d1: SHL
000010d2: SUB
000010d3: AND
000010d4: DUP2
000010d5: PUSH1 0x01
000010d7: PUSH1 0x01
000010d9: PUSH1 0xa0
000010db: SHL
000010dc: SUB
000010dd: AND
000010de: EQ
000010df: ISZERO
000010e0: PUSH2 0x10fb
000010e3: JUMPI
000010e4: PUSH1 0x40
000010e6: MLOAD
000010e7: PUSH3 0x461bcd
000010eb: PUSH1 0xe5
000010ed: SHL
000010ee: DUP2
000010ef: MSTORE
000010f0: PUSH1 0x04
000010f2: ADD
000010f3: PUSH2 0x05df
000010f6: SWAP1
000010f7: PUSH2 0x184e
000010fa: JUMP
000010fb: JUMPDEST
000010fc: PUSH1 0x40
000010fe: MLOAD
000010ff: PUSH4 0x35313c21
00001104: PUSH1 0xe1
00001106: SHL
00001107: DUP2
00001108: MSTORE
00001109: PUSH1 0x01
0000110b: PUSH1 0x01
0000110d: PUSH1 0xa0
0000110f: SHL
00001110: SUB
00001111: DUP3
00001112: AND
00001113: PUSH1 0x04
00001115: DUP3
00001116: ADD
00001117: MSTORE
00001118: PUSH20 0x08f0b2a4351514e63e9e03a661adfe58d463cfbc
0000112d: SWAP1
0000112e: PUSH4 0x6a627842
00001133: SWAP1
00001134: PUSH1 0x24
00001136: ADD
00001137: PUSH1 0x00
00001139: PUSH1 0x40
0000113b: MLOAD
0000113c: DUP1
0000113d: DUP4
0000113e: SUB
0000113f: DUP2
00001140: PUSH1 0x00
00001142: DUP8
00001143: DUP1
00001144: EXTCODESIZE
00001145: ISZERO
00001146: DUP1
00001147: ISZERO
00001148: PUSH2 0x1150
0000114b: JUMPI
0000114c: PUSH1 0x00
0000114e: DUP1
0000114f: REVERT
00001150: JUMPDEST
00001151: POP
00001152: GAS
00001153: CALL
00001154: ISZERO
00001155: DUP1
00001156: ISZERO
00001157: PUSH2 0x1164
0000115a: JUMPI
0000115b: RETURNDATASIZE
0000115c: PUSH1 0x00
0000115e: DUP1
0000115f: RETURNDATACOPY
00001160: RETURNDATASIZE
00001161: PUSH1 0x00
00001163: REVERT
00001164: JUMPDEST
00001165: POP
00001166: POP
00001167: POP
00001168: POP
00001169: POP
0000116a: DUP1
0000116b: DUP1
0000116c: PUSH2 0x1174
0000116f: SWAP1
00001170: PUSH2 0x18f1
00001173: JUMP
00001174: JUMPDEST
00001175: SWAP2
00001176: POP
00001177: POP
00001178: PUSH2 0x1094
0000117b: JUMP
0000117c: JUMPDEST
0000117d: POP
0000117e: DUP1
0000117f: PUSH1 0x01
00001181: PUSH1 0x00
00001183: DUP3
00001184: DUP3
00001185: SLOAD
00001186: PUSH2 0x118f
00001189: SWAP2
0000118a: SWAP1
0000118b: PUSH2 0x188f
0000118e: JUMP
0000118f: JUMPDEST
00001190: SWAP1
00001191: SWAP2
00001192: SSTORE
00001193: POP
00001194: POP
00001195: POP
00001196: POP
00001197: JUMP
00001198: JUMPDEST
00001199: CALLER
0000119a: PUSH1 0x00
0000119c: SWAP1
0000119d: DUP2
0000119e: MSTORE
0000119f: PUSH1 0x0b
000011a1: PUSH1 0x20
000011a3: MSTORE
000011a4: PUSH1 0x40
000011a6: SWAP1
000011a7: KECCAK256
000011a8: DUP1
000011a9: SLOAD
000011aa: PUSH1 0xff
000011ac: AND
000011ad: PUSH2 0x11f8
000011b0: JUMPI
000011b1: PUSH1 0x40
000011b3: MLOAD
000011b4: PUSH3 0x461bcd
000011b8: PUSH1 0xe5
000011ba: SHL
000011bb: DUP2
000011bc: MSTORE
000011bd: PUSH1 0x20
000011bf: PUSH1 0x04
000011c1: DUP3
000011c2: ADD
000011c3: MSTORE
000011c4: PUSH1 0x1c
000011c6: PUSH1 0x24
000011c8: DUP3
000011c9: ADD
000011ca: MSTORE
000011cb: PUSH32 0x726573756c74206973206e6f742063616c63756c617465642079657400000000
000011ec: PUSH1 0x44
000011ee: DUP3
000011ef: ADD
000011f0: MSTORE
000011f1: PUSH1 0x64
000011f3: ADD
000011f4: PUSH2 0x05df
000011f7: JUMP
000011f8: JUMPDEST
000011f9: PUSH1 0x00
000011fb: DUP2
000011fc: PUSH1 0x01
000011fe: ADD
000011ff: SLOAD
00001200: GT
00001201: PUSH2 0x123f
00001204: JUMPI
00001205: PUSH1 0x40
00001207: MLOAD
00001208: PUSH3 0x461bcd
0000120c: PUSH1 0xe5
0000120e: SHL
0000120f: DUP2
00001210: MSTORE
00001211: PUSH1 0x20
00001213: PUSH1 0x04
00001215: DUP3
00001216: ADD
00001217: MSTORE
00001218: PUSH1 0x10
0000121a: PUSH1 0x24
0000121c: DUP3
0000121d: ADD
0000121e: MSTORE
0000121f: PUSH16 0x4e6f2076616c6964207469636b657473
00001230: PUSH1 0x80
00001232: SHL
00001233: PUSH1 0x44
00001235: DUP3
00001236: ADD
00001237: MSTORE
00001238: PUSH1 0x64
0000123a: ADD
0000123b: PUSH2 0x05df
0000123e: JUMP
0000123f: JUMPDEST
00001240: PUSH1 0x00
00001242: PUSH1 0x1e
00001244: DUP3
00001245: PUSH1 0x01
00001247: ADD
00001248: SLOAD
00001249: GT
0000124a: ISZERO
0000124b: PUSH2 0x1272
0000124e: JUMPI
0000124f: PUSH1 0x1e
00001251: SWAP1
00001252: POP
00001253: PUSH1 0x1e
00001255: DUP3
00001256: PUSH1 0x01
00001258: ADD
00001259: PUSH1 0x00
0000125b: DUP3
0000125c: DUP3
0000125d: SLOAD
0000125e: PUSH2 0x1267
00001261: SWAP2
00001262: SWAP1
00001263: PUSH2 0x18da
00001266: JUMP
00001267: JUMPDEST
00001268: SWAP1
00001269: SWAP2
0000126a: SSTORE
0000126b: POP
0000126c: PUSH2 0x127f
0000126f: SWAP1
00001270: POP
00001271: JUMP
00001272: JUMPDEST
00001273: POP
00001274: PUSH1 0x01
00001276: DUP2
00001277: ADD
00001278: DUP1
00001279: SLOAD
0000127a: PUSH1 0x00
0000127c: SWAP1
0000127d: SWAP2
0000127e: SSTORE
0000127f: JUMPDEST
00001280: PUSH1 0x00
00001282: JUMPDEST
00001283: DUP2
00001284: DUP2
00001285: LT
00001286: ISZERO
00001287: PUSH2 0x1302
0000128a: JUMPI
0000128b: PUSH1 0x40
0000128d: MLOAD
0000128e: PUSH4 0x35313c21
00001293: PUSH1 0xe1
00001295: SHL
00001296: DUP2
00001297: MSTORE
00001298: CALLER
00001299: PUSH1 0x04
0000129b: DUP3
0000129c: ADD
0000129d: MSTORE
0000129e: PUSH20 0x08f0b2a4351514e63e9e03a661adfe58d463cfbc
000012b3: SWAP1
000012b4: PUSH4 0x6a627842
000012b9: SWAP1
000012ba: PUSH1 0x24
000012bc: ADD
000012bd: PUSH1 0x00
000012bf: PUSH1 0x40
000012c1: MLOAD
000012c2: DUP1
000012c3: DUP4
000012c4: SUB
000012c5: DUP2
000012c6: PUSH1 0x00
000012c8: DUP8
000012c9: DUP1
000012ca: EXTCODESIZE
000012cb: ISZERO
000012cc: DUP1
000012cd: ISZERO
000012ce: PUSH2 0x12d6
000012d1: JUMPI
000012d2: PUSH1 0x00
000012d4: DUP1
000012d5: REVERT
000012d6: JUMPDEST
000012d7: POP
000012d8: GAS
000012d9: CALL
000012da: ISZERO
000012db: DUP1
000012dc: ISZERO
000012dd: PUSH2 0x12ea
000012e0: JUMPI
000012e1: RETURNDATASIZE
000012e2: PUSH1 0x00
000012e4: DUP1
000012e5: RETURNDATACOPY
000012e6: RETURNDATASIZE
000012e7: PUSH1 0x00
000012e9: REVERT
000012ea: JUMPDEST
000012eb: POP
000012ec: POP
000012ed: POP
000012ee: POP
000012ef: PUSH1 0x01
000012f1: DUP2
000012f2: PUSH2 0x12fb
000012f5: SWAP2
000012f6: SWAP1
000012f7: PUSH2 0x188f
000012fa: JUMP
000012fb: JUMPDEST
000012fc: SWAP1
000012fd: POP
000012fe: PUSH2 0x1282
00001301: JUMP
00001302: JUMPDEST
00001303: POP
00001304: PUSH1 0x40
00001306: DUP1
00001307: MLOAD
00001308: CALLER
00001309: DUP2
0000130a: MSTORE
0000130b: PUSH1 0x20
0000130d: DUP2
0000130e: ADD
0000130f: DUP4
00001310: SWAP1
00001311: MSTORE
00001312: PUSH32 0x5406fee47ca53ab04296dd8fe26d8ad9e7fd708c0d92db6f68d01664f264d84e
00001333: SWAP2
00001334: ADD
00001335: PUSH2 0x08f7
00001338: JUMP
00001339: JUMPDEST
0000133a: PUSH1 0x00
0000133c: PUSH1 0x07
0000133e: SLOAD
0000133f: GT
00001340: PUSH2 0x138b
00001343: JUMPI
00001344: PUSH1 0x40
00001346: MLOAD
00001347: PUSH3 0x461bcd
0000134b: PUSH1 0xe5
0000134d: SHL
0000134e: DUP2
0000134f: MSTORE
00001350: PUSH1 0x20
00001352: PUSH1 0x04
00001354: DUP3
00001355: ADD
00001356: MSTORE
00001357: PUSH1 0x1c
00001359: PUSH1 0x24
0000135b: DUP3
0000135c: ADD
0000135d: MSTORE
0000135e: PUSH32 0x726166666c65206e756d626572206973206e6f74207365742079657400000000
0000137f: PUSH1 0x44
00001381: DUP3
00001382: ADD
00001383: MSTORE
00001384: PUSH1 0x64
00001386: ADD
00001387: PUSH2 0x05df
0000138a: JUMP
0000138b: JUMPDEST
0000138c: CALLER
0000138d: PUSH1 0x00
0000138f: SWAP1
00001390: DUP2
00001391: MSTORE
00001392: PUSH1 0x06
00001394: PUSH1 0x20
00001396: MSTORE
00001397: PUSH1 0x40
00001399: SWAP1
0000139a: KECCAK256
0000139b: PUSH1 0x01
0000139d: DUP2
0000139e: ADD
0000139f: SLOAD
000013a0: PUSH2 0x13e1
000013a3: JUMPI
000013a4: PUSH1 0x40
000013a6: MLOAD
000013a7: PUSH3 0x461bcd
000013ab: PUSH1 0xe5
000013ad: SHL
000013ae: DUP2
000013af: MSTORE
000013b0: PUSH1 0x20
000013b2: PUSH1 0x04
000013b4: DUP3
000013b5: ADD
000013b6: MSTORE
000013b7: PUSH1 0x13
000013b9: PUSH1 0x24
000013bb: DUP3
000013bc: ADD
000013bd: MSTORE
000013be: PUSH19 0x139bc8185d985a5b18589b19481d1a58dad95d
000013d2: PUSH1 0x6a
000013d4: SHL
000013d5: PUSH1 0x44
000013d7: DUP3
000013d8: ADD
000013d9: MSTORE
000013da: PUSH1 0x64
000013dc: ADD
000013dd: PUSH2 0x05df
000013e0: JUMP
000013e1: JUMPDEST
000013e2: CALLER
000013e3: PUSH1 0x00
000013e5: SWAP1
000013e6: DUP2
000013e7: MSTORE
000013e8: PUSH1 0x0b
000013ea: PUSH1 0x20
000013ec: MSTORE
000013ed: PUSH1 0x40
000013ef: SWAP1
000013f0: KECCAK256
000013f1: DUP1
000013f2: SLOAD
000013f3: PUSH1 0xff
000013f5: AND
000013f6: ISZERO
000013f7: PUSH2 0x1434
000013fa: JUMPI
000013fb: PUSH1 0x40
000013fd: MLOAD
000013fe: PUSH3 0x461bcd
00001402: PUSH1 0xe5
00001404: SHL
00001405: DUP2
00001406: MSTORE
00001407: PUSH1 0x20
00001409: PUSH1 0x04
0000140b: DUP3
0000140c: ADD
0000140d: MSTORE
0000140e: PUSH1 0x0f
00001410: PUSH1 0x24
00001412: DUP3
00001413: ADD
00001414: MSTORE
00001415: PUSH15 0x105b1c9958591e4818da1958dad959
00001425: PUSH1 0x8a
00001427: SHL
00001428: PUSH1 0x44
0000142a: DUP3
0000142b: ADD
0000142c: MSTORE
0000142d: PUSH1 0x64
0000142f: ADD
00001430: PUSH2 0x05df
00001433: JUMP
00001434: JUMPDEST
00001435: PUSH1 0x00
00001437: PUSH2 0x1451
0000143a: DUP4
0000143b: PUSH1 0x00
0000143d: ADD
0000143e: SLOAD
0000143f: DUP5
00001440: PUSH1 0x01
00001442: ADD
00001443: SLOAD
00001444: PUSH1 0x09
00001446: SLOAD
00001447: PUSH1 0x08
00001449: SLOAD
0000144a: PUSH1 0x0a
0000144c: SLOAD
0000144d: PUSH2 0x15b9
00001450: JUMP
00001451: JUMPDEST
00001452: PUSH1 0x01
00001454: DUP1
00001455: DUP5
00001456: ADD
00001457: DUP3
00001458: SWAP1
00001459: SSTORE
0000145a: DUP4
0000145b: SLOAD
0000145c: PUSH1 0xff
0000145e: NOT
0000145f: AND
00001460: DUP2
00001461: OR
00001462: DUP5
00001463: SSTORE
00001464: DUP5
00001465: ADD
00001466: SLOAD
00001467: SWAP1
00001468: SWAP2
00001469: POP
0000146a: PUSH1 0x00
0000146c: SWAP1
0000146d: PUSH2 0x1477
00001470: SWAP1
00001471: DUP4
00001472: SWAP1
00001473: PUSH2 0x18da
00001476: JUMP
00001477: JUMPDEST
00001478: SWAP1
00001479: POP
0000147a: PUSH1 0x00
0000147c: PUSH2 0x148d
0000147f: PUSH8 0x011c37937e080000
00001488: DUP4
00001489: PUSH2 0x18bb
0000148c: JUMP
0000148d: JUMPDEST
0000148e: PUSH1 0x40
00001490: DUP1
00001491: MLOAD
00001492: CALLER
00001493: DUP2
00001494: MSTORE
00001495: PUSH1 0x20
00001497: DUP2
00001498: ADD
00001499: DUP7
0000149a: SWAP1
0000149b: MSTORE
0000149c: SWAP1
0000149d: DUP2
0000149e: ADD
0000149f: DUP3
000014a0: SWAP1
000014a1: MSTORE
000014a2: SWAP1
000014a3: SWAP2
000014a4: POP
000014a5: PUSH32 0x99257e7b73feb32ca1b0836474e4150fd92fa32d0ec98657c263864188e42bb4
000014c6: SWAP1
000014c7: PUSH1 0x60
000014c9: ADD
000014ca: PUSH2 0x0eeb
000014cd: JUMP
000014ce: JUMPDEST
000014cf: PUSH1 0x00
000014d1: SLOAD
000014d2: PUSH1 0x01
000014d4: PUSH1 0x01
000014d6: PUSH1 0xa0
000014d8: SHL
000014d9: SUB
000014da: AND
000014db: CALLER
000014dc: EQ
000014dd: PUSH2 0x14f8
000014e0: JUMPI
000014e1: PUSH1 0x40
000014e3: MLOAD
000014e4: PUSH3 0x461bcd
000014e8: PUSH1 0xe5
000014ea: SHL
000014eb: DUP2
000014ec: MSTORE
000014ed: PUSH1 0x04
000014ef: ADD
000014f0: PUSH2 0x05df
000014f3: SWAP1
000014f4: PUSH2 0x1819
000014f7: JUMP
000014f8: JUMPDEST
000014f9: PUSH1 0x01
000014fb: PUSH1 0x01
000014fd: PUSH1 0xa0
000014ff: SHL
00001500: SUB
00001501: DUP2
00001502: AND
00001503: PUSH2 0x155d
00001506: JUMPI
00001507: PUSH1 0x40
00001509: MLOAD
0000150a: PUSH3 0x461bcd
0000150e: PUSH1 0xe5
00001510: SHL
00001511: DUP2
00001512: MSTORE
00001513: PUSH1 0x20
00001515: PUSH1 0x04
00001517: DUP3
00001518: ADD
00001519: MSTORE
0000151a: PUSH1 0x26
0000151c: PUSH1 0x24
0000151e: DUP3
0000151f: ADD
00001520: MSTORE
00001521: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061
00001542: PUSH1 0x44
00001544: DUP3
00001545: ADD
00001546: MSTORE
00001547: PUSH6 0x646472657373
0000154e: PUSH1 0xd0
00001550: SHL
00001551: PUSH1 0x64
00001553: DUP3
00001554: ADD
00001555: MSTORE
00001556: PUSH1 0x84
00001558: ADD
00001559: PUSH2 0x05df
0000155c: JUMP
0000155d: JUMPDEST
0000155e: PUSH2 0x1566
00001561: DUP2
00001562: PUSH2 0x1569
00001565: JUMP
00001566: JUMPDEST
00001567: POP
00001568: JUMP
00001569: JUMPDEST
0000156a: PUSH1 0x00
0000156c: DUP1
0000156d: SLOAD
0000156e: PUSH1 0x01
00001570: PUSH1 0x01
00001572: PUSH1 0xa0
00001574: SHL
00001575: SUB
00001576: DUP4
00001577: DUP2
00001578: AND
00001579: PUSH1 0x01
0000157b: PUSH1 0x01
0000157d: PUSH1 0xa0
0000157f: SHL
00001580: SUB
00001581: NOT
00001582: DUP4
00001583: AND
00001584: DUP2
00001585: OR
00001586: DUP5
00001587: SSTORE
00001588: PUSH1 0x40
0000158a: MLOAD
0000158b: SWAP2
0000158c: SWAP1
0000158d: SWAP3
0000158e: AND
0000158f: SWAP3
00001590: DUP4
00001591: SWAP2
00001592: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000015b3: SWAP2
000015b4: SWAP1
000015b5: LOG3
000015b6: POP
000015b7: POP
000015b8: JUMP
000015b9: JUMPDEST
000015ba: PUSH1 0x00
000015bc: DUP1
000015bd: PUSH1 0x01
000015bf: PUSH2 0x15c8
000015c2: DUP8
000015c3: DUP10
000015c4: PUSH2 0x188f
000015c7: JUMP
000015c8: JUMPDEST
000015c9: PUSH2 0x15d2
000015cc: SWAP2
000015cd: SWAP1
000015ce: PUSH2 0x18da
000015d1: JUMP
000015d2: JUMPDEST
000015d3: SWAP1
000015d4: POP
000015d5: DUP3
000015d6: DUP2
000015d7: GT
000015d8: ISZERO
000015d9: PUSH2 0x15df
000015dc: JUMPI
000015dd: POP
000015de: DUP2
000015df: JUMPDEST
000015e0: PUSH1 0x00
000015e2: PUSH2 0x15eb
000015e5: DUP7
000015e6: DUP10
000015e7: PUSH2 0x190c
000015ea: JUMP
000015eb: JUMPDEST
000015ec: SWAP1
000015ed: POP
000015ee: PUSH1 0x00
000015f0: PUSH2 0x15f9
000015f3: DUP8
000015f4: DUP5
000015f5: PUSH2 0x190c
000015f8: JUMP
000015f9: JUMPDEST
000015fa: SWAP1
000015fb: POP
000015fc: PUSH1 0x00
000015fe: DUP7
000015ff: DUP4
00001600: GT
00001601: PUSH2 0x1620
00001604: JUMPI
00001605: DUP3
00001606: PUSH2 0x160f
00001609: DUP9
0000160a: DUP13
0000160b: PUSH2 0x188f
0000160e: JUMP
0000160f: JUMPDEST
00001610: PUSH2 0x1619
00001613: SWAP2
00001614: SWAP1
00001615: PUSH2 0x18da
00001618: JUMP
00001619: JUMPDEST
0000161a: SWAP1
0000161b: POP
0000161c: PUSH2 0x1643
0000161f: JUMP
00001620: JUMPDEST
00001621: DUP3
00001622: DUP8
00001623: PUSH2 0x162c
00001626: DUP11
00001627: DUP14
00001628: PUSH2 0x188f
0000162b: JUMP
0000162c: JUMPDEST
0000162d: PUSH2 0x1636
00001630: SWAP2
00001631: SWAP1
00001632: PUSH2 0x188f
00001635: JUMP
00001636: JUMPDEST
00001637: PUSH2 0x1640
0000163a: SWAP2
0000163b: SWAP1
0000163c: PUSH2 0x18da
0000163f: JUMP
00001640: JUMPDEST
00001641: SWAP1
00001642: POP
00001643: JUMPDEST
00001644: DUP6
00001645: DUP2
00001646: GT
00001647: ISZERO
00001648: PUSH2 0x1654
0000164b: JUMPI
0000164c: PUSH1 0x00
0000164e: SWAP5
0000164f: POP
00001650: PUSH2 0x16e2
00001653: JUMP
00001654: JUMPDEST
00001655: PUSH1 0x00
00001657: DUP8
00001658: DUP4
00001659: LT
0000165a: PUSH2 0x1679
0000165d: JUMPI
0000165e: DUP3
0000165f: PUSH2 0x1668
00001662: DUP10
00001663: DUP8
00001664: PUSH2 0x188f
00001667: JUMP
00001668: JUMPDEST
00001669: PUSH2 0x1672
0000166c: SWAP2
0000166d: SWAP1
0000166e: PUSH2 0x18da
00001671: JUMP
00001672: JUMPDEST
00001673: SWAP1
00001674: POP
00001675: PUSH2 0x16ac
00001678: JUMP
00001679: JUMPDEST
0000167a: DUP9
0000167b: DUP6
0000167c: LT
0000167d: ISZERO
0000167e: PUSH2 0x1689
00001681: JUMPI
00001682: POP
00001683: PUSH1 0x00
00001685: PUSH2 0x16ac
00001688: JUMP
00001689: JUMPDEST
0000168a: DUP9
0000168b: DUP4
0000168c: PUSH2 0x1695
0000168f: DUP11
00001690: DUP9
00001691: PUSH2 0x188f
00001694: JUMP
00001695: JUMPDEST
00001696: PUSH2 0x169f
00001699: SWAP2
0000169a: SWAP1
0000169b: PUSH2 0x18da
0000169e: JUMP
0000169f: JUMPDEST
000016a0: PUSH2 0x16a9
000016a3: SWAP2
000016a4: SWAP1
000016a5: PUSH2 0x18da
000016a8: JUMP
000016a9: JUMPDEST
000016aa: SWAP1
000016ab: POP
000016ac: JUMPDEST
000016ad: DUP1
000016ae: DUP3
000016af: GT
000016b0: ISZERO
000016b1: PUSH2 0x16bd
000016b4: JUMPI
000016b5: PUSH1 0x00
000016b7: SWAP6
000016b8: POP
000016b9: PUSH2 0x16e0
000016bc: JUMP
000016bd: JUMPDEST
000016be: DUP9
000016bf: PUSH2 0x16c8
000016c2: DUP4
000016c3: DUP4
000016c4: PUSH2 0x18da
000016c7: JUMP
000016c8: JUMPDEST
000016c9: PUSH2 0x16d2
000016cc: SWAP2
000016cd: SWAP1
000016ce: PUSH2 0x18a7
000016d1: JUMP
000016d2: JUMPDEST
000016d3: PUSH2 0x16dd
000016d6: SWAP1
000016d7: PUSH1 0x01
000016d9: PUSH2 0x188f
000016dc: JUMP
000016dd: JUMPDEST
000016de: SWAP6
000016df: POP
000016e0: JUMPDEST
000016e1: POP
000016e2: JUMPDEST
000016e3: POP
000016e4: POP
000016e5: POP
000016e6: POP
000016e7: SWAP6
000016e8: SWAP5
000016e9: POP
000016ea: POP
000016eb: POP
000016ec: POP
000016ed: POP
000016ee: JUMP
000016ef: JUMPDEST
000016f0: DUP1
000016f1: CALLDATALOAD
000016f2: PUSH2 0x16fa
000016f5: DUP2
000016f6: PUSH2 0x1962
000016f9: JUMP
000016fa: JUMPDEST
000016fb: SWAP2
000016fc: SWAP1
000016fd: POP
000016fe: JUMP
000016ff: JUMPDEST
00001700: PUSH1 0x00
00001702: PUSH1 0x20
00001704: DUP3
00001705: DUP5
00001706: SUB
00001707: SLT
00001708: ISZERO
00001709: PUSH2 0x1710
0000170c: JUMPI
0000170d: DUP1
0000170e: DUP2
0000170f: REVERT
00001710: JUMPDEST
00001711: DUP2
00001712: CALLDATALOAD
00001713: PUSH2 0x171b
00001716: DUP2
00001717: PUSH2 0x1962
0000171a: JUMP
0000171b: JUMPDEST
0000171c: SWAP4
0000171d: SWAP3
0000171e: POP
0000171f: POP
00001720: POP
00001721: JUMP
00001722: JUMPDEST
00001723: PUSH1 0x00
00001725: PUSH1 0x20
00001727: DUP1
00001728: DUP4
00001729: DUP6
0000172a: SUB
0000172b: SLT
0000172c: ISZERO
0000172d: PUSH2 0x1734
00001730: JUMPI
00001731: DUP2
00001732: DUP3
00001733: REVERT
00001734: JUMPDEST
00001735: DUP3
00001736: CALLDATALOAD
00001737: PUSH8 0xffffffffffffffff
00001740: DUP1
00001741: DUP3
00001742: GT
00001743: ISZERO
00001744: PUSH2 0x174b
00001747: JUMPI
00001748: DUP4
00001749: DUP5
0000174a: REVERT
0000174b: JUMPDEST
0000174c: DUP2
0000174d: DUP6
0000174e: ADD
0000174f: SWAP2
00001750: POP
00001751: DUP6
00001752: PUSH1 0x1f
00001754: DUP4
00001755: ADD
00001756: SLT
00001757: PUSH2 0x175e
0000175a: JUMPI
0000175b: DUP4
0000175c: DUP5
0000175d: REVERT
0000175e: JUMPDEST
0000175f: DUP2
00001760: CALLDATALOAD
00001761: DUP2
00001762: DUP2
00001763: GT
00001764: ISZERO
00001765: PUSH2 0x1770
00001768: JUMPI
00001769: PUSH2 0x1770
0000176c: PUSH2 0x194c
0000176f: JUMP
00001770: JUMPDEST
00001771: DUP1
00001772: PUSH1 0x05
00001774: SHL
00001775: PUSH1 0x40
00001777: MLOAD
00001778: PUSH1 0x1f
0000177a: NOT
0000177b: PUSH1 0x3f
0000177d: DUP4
0000177e: ADD
0000177f: AND
00001780: DUP2
00001781: ADD
00001782: DUP2
00001783: DUP2
00001784: LT
00001785: DUP6
00001786: DUP3
00001787: GT
00001788: OR
00001789: ISZERO
0000178a: PUSH2 0x1795
0000178d: JUMPI
0000178e: PUSH2 0x1795
00001791: PUSH2 0x194c
00001794: JUMP
00001795: JUMPDEST
00001796: PUSH1 0x40
00001798: MSTORE
00001799: DUP3
0000179a: DUP2
0000179b: MSTORE
0000179c: DUP6
0000179d: DUP2
0000179e: ADD
0000179f: SWAP4
000017a0: POP
000017a1: DUP5
000017a2: DUP7
000017a3: ADD
000017a4: DUP3
000017a5: DUP7
000017a6: ADD
000017a7: DUP8
000017a8: ADD
000017a9: DUP11
000017aa: LT
000017ab: ISZERO
000017ac: PUSH2 0x17b3
000017af: JUMPI
000017b0: DUP8
000017b1: DUP9
000017b2: REVERT
000017b3: JUMPDEST
000017b4: DUP8
000017b5: SWAP6
000017b6: POP
000017b7: JUMPDEST
000017b8: DUP4
000017b9: DUP7
000017ba: LT
000017bb: ISZERO
000017bc: PUSH2 0x17dc
000017bf: JUMPI
000017c0: PUSH2 0x17c8
000017c3: DUP2
000017c4: PUSH2 0x16ef
000017c7: JUMP
000017c8: JUMPDEST
000017c9: DUP6
000017ca: MSTORE
000017cb: PUSH1 0x01
000017cd: SWAP6
000017ce: SWAP1
000017cf: SWAP6
000017d0: ADD
000017d1: SWAP5
000017d2: SWAP4
000017d3: DUP7
000017d4: ADD
000017d5: SWAP4
000017d6: DUP7
000017d7: ADD
000017d8: PUSH2 0x17b7
000017db: JUMP
000017dc: JUMPDEST
000017dd: POP
000017de: SWAP9
000017df: SWAP8
000017e0: POP
000017e1: POP
000017e2: POP
000017e3: POP
000017e4: POP
000017e5: POP
000017e6: POP
000017e7: POP
000017e8: JUMP
000017e9: JUMPDEST
000017ea: PUSH1 0x00
000017ec: PUSH1 0x20
000017ee: DUP3
000017ef: DUP5
000017f0: SUB
000017f1: SLT
000017f2: ISZERO
000017f3: PUSH2 0x17fa
000017f6: JUMPI
000017f7: DUP1
000017f8: DUP2
000017f9: REVERT
000017fa: JUMPDEST
000017fb: POP
000017fc: CALLDATALOAD
000017fd: SWAP2
000017fe: SWAP1
000017ff: POP
00001800: JUMP
00001801: JUMPDEST
00001802: PUSH1 0x00
00001804: PUSH1 0x20
00001806: DUP3
00001807: DUP5
00001808: SUB
00001809: SLT
0000180a: ISZERO
0000180b: PUSH2 0x1812
0000180e: JUMPI
0000180f: DUP1
00001810: DUP2
00001811: REVERT
00001812: JUMPDEST
00001813: POP
00001814: MLOAD
00001815: SWAP2
00001816: SWAP1
00001817: POP
00001818: JUMP
00001819: JUMPDEST
0000181a: PUSH1 0x20
0000181c: DUP1
0000181d: DUP3
0000181e: MSTORE
0000181f: DUP2
00001820: DUP2
00001821: ADD
00001822: MSTORE
00001823: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00001844: PUSH1 0x40
00001846: DUP3
00001847: ADD
00001848: MSTORE
00001849: PUSH1 0x60
0000184b: ADD
0000184c: SWAP1
0000184d: JUMP
0000184e: JUMPDEST
0000184f: PUSH1 0x20
00001851: DUP1
00001852: DUP3
00001853: MSTORE
00001854: PUSH1 0x21
00001856: SWAP1
00001857: DUP3
00001858: ADD
00001859: MSTORE
0000185a: PUSH32 0x72656365697665722063616e206e6f7420626520656d70747920616464726573
0000187b: PUSH1 0x40
0000187d: DUP3
0000187e: ADD
0000187f: MSTORE
00001880: PUSH1 0x73
00001882: PUSH1 0xf8
00001884: SHL
00001885: PUSH1 0x60
00001887: DUP3
00001888: ADD
00001889: MSTORE
0000188a: PUSH1 0x80
0000188c: ADD
0000188d: SWAP1
0000188e: JUMP
0000188f: JUMPDEST
00001890: PUSH1 0x00
00001892: DUP3
00001893: NOT
00001894: DUP3
00001895: GT
00001896: ISZERO
00001897: PUSH2 0x18a2
0000189a: JUMPI
0000189b: PUSH2 0x18a2
0000189e: PUSH2 0x1920
000018a1: JUMP
000018a2: JUMPDEST
000018a3: POP
000018a4: ADD
000018a5: SWAP1
000018a6: JUMP
000018a7: JUMPDEST
000018a8: PUSH1 0x00
000018aa: DUP3
000018ab: PUSH2 0x18b6
000018ae: JUMPI
000018af: PUSH2 0x18b6
000018b2: PUSH2 0x1936
000018b5: JUMP
000018b6: JUMPDEST
000018b7: POP
000018b8: DIV
000018b9: SWAP1
000018ba: JUMP
000018bb: JUMPDEST
000018bc: PUSH1 0x00
000018be: DUP2
000018bf: PUSH1 0x00
000018c1: NOT
000018c2: DIV
000018c3: DUP4
000018c4: GT
000018c5: DUP3
000018c6: ISZERO
000018c7: ISZERO
000018c8: AND
000018c9: ISZERO
000018ca: PUSH2 0x18d5
000018cd: JUMPI
000018ce: PUSH2 0x18d5
000018d1: PUSH2 0x1920
000018d4: JUMP
000018d5: JUMPDEST
000018d6: POP
000018d7: MUL
000018d8: SWAP1
000018d9: JUMP
000018da: JUMPDEST
000018db: PUSH1 0x00
000018dd: DUP3
000018de: DUP3
000018df: LT
000018e0: ISZERO
000018e1: PUSH2 0x18ec
000018e4: JUMPI
000018e5: PUSH2 0x18ec
000018e8: PUSH2 0x1920
000018eb: JUMP
000018ec: JUMPDEST
000018ed: POP
000018ee: SUB
000018ef: SWAP1
000018f0: JUMP
000018f1: JUMPDEST
000018f2: PUSH1 0x00
000018f4: PUSH1 0x00
000018f6: NOT
000018f7: DUP3
000018f8: EQ
000018f9: ISZERO
000018fa: PUSH2 0x1905
000018fd: JUMPI
000018fe: PUSH2 0x1905
00001901: PUSH2 0x1920
00001904: JUMP
00001905: JUMPDEST
00001906: POP
00001907: PUSH1 0x01
00001909: ADD
0000190a: SWAP1
0000190b: JUMP
0000190c: JUMPDEST
0000190d: PUSH1 0x00
0000190f: DUP3
00001910: PUSH2 0x191b
00001913: JUMPI
00001914: PUSH2 0x191b
00001917: PUSH2 0x1936
0000191a: JUMP
0000191b: JUMPDEST
0000191c: POP
0000191d: MOD
0000191e: SWAP1
0000191f: JUMP
00001920: JUMPDEST
00001921: PUSH4 0x4e487b71
00001926: PUSH1 0xe0
00001928: SHL
00001929: PUSH1 0x00
0000192b: MSTORE
0000192c: PUSH1 0x11
0000192e: PUSH1 0x04
00001930: MSTORE
00001931: PUSH1 0x24
00001933: PUSH1 0x00
00001935: REVERT
00001936: JUMPDEST
00001937: PUSH4 0x4e487b71
0000193c: PUSH1 0xe0
0000193e: SHL
0000193f: PUSH1 0x00
00001941: MSTORE
00001942: PUSH1 0x12
00001944: PUSH1 0x04
00001946: MSTORE
00001947: PUSH1 0x24
00001949: PUSH1 0x00
0000194b: REVERT
0000194c: JUMPDEST
0000194d: PUSH4 0x4e487b71
00001952: PUSH1 0xe0
00001954: SHL
00001955: PUSH1 0x00
00001957: MSTORE
00001958: PUSH1 0x41
0000195a: PUSH1 0x04
0000195c: MSTORE
0000195d: PUSH1 0x24
0000195f: PUSH1 0x00
00001961: REVERT
00001962: JUMPDEST
00001963: PUSH1 0x01
00001965: PUSH1 0x01
00001967: PUSH1 0xa0
00001969: SHL
0000196a: SUB
0000196b: DUP2
0000196c: AND
0000196d: DUP2
0000196e: EQ
0000196f: PUSH2 0x1566
00001972: JUMPI
00001973: PUSH1 0x00
00001975: DUP1
00001976: REVERT
00001977: INVALID
00001978: LOG2
00001979: PUSH5 0x6970667358
0000197f: UNKNOWN(0x22)
00001980: SLT
00001981: KECCAK256
00001982: UNKNOWN(0xF7)
00001983: UNKNOWN(0xC9)
00001984: UNKNOWN(0xAA)
00001985: PUSH26 0x13f9f613382ab4e3dca873a1a41f766c96b4c5433b9d5893f6bf
000019a0: INVALID
000019a1: KECCAK256
000019a2: PUSH5 0x736f6c6343
000019a8: STOP
000019a9: ADDMOD
000019aa: DIV
000019ab: STOP
000019ac: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x10640940223d3fbb597d20732fb5de0ce46dd7f4f5ee2d3fc712adcac12dd69c
call_targets: 0xd19fa1565564f552200ab656c3003d5868555539
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x10640940223d3fbb597d20732fb5de0ce46dd7f4f5ee2d3fc712adcac12dd69c",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xd19fa1565564f552200ab656c3003d5868555539"
    ],
    "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": "0xf23e1fd2",
            "selector": "0xf23e1fd2",
            "calldata_variants": [
                "0xf23e1fd2",
                "0xf23e1fd20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf26d3117",
            "selector": "0xf26d3117",
            "calldata_variants": [
                "0xf26d3117",
                "0xf26d31170000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfd23492a",
            "selector": "0xfd23492a",
            "calldata_variants": [
                "0xfd23492a",
                "0xfd23492a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe56d3db8",
            "selector": "0xe56d3db8",
            "calldata_variants": [
                "0xe56d3db8",
                "0xe56d3db80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee69ef92",
            "selector": "0xee69ef92",
            "calldata_variants": [
                "0xee69ef92",
                "0xee69ef920000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf09703ca",
            "selector": "0xf09703ca",
            "calldata_variants": [
                "0xf09703ca",
                "0xf09703ca0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf1dbc1c6",
            "selector": "0xf1dbc1c6",
            "calldata_variants": [
                "0xf1dbc1c6",
                "0xf1dbc1c60000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1998,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2816,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3651,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 6,
    "guards_detected": [],
    "untrusted_call_count": 6
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x10640940223d3fbb597d20732fb5de0ce46dd7f4f5ee2d3fc712adcac12dd69c
call_targets: 0xd19fa1565564f552200ab656c3003d5868555539
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x10640940223d3fbb597d20732fb5de0ce46dd7f4f5ee2d3fc712adcac12dd69c",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xd19fa1565564f552200ab656c3003d5868555539"
    ],
    "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": "0xf23e1fd2",
            "selector": "0xf23e1fd2",
            "calldata_variants": [
                "0xf23e1fd2",
                "0xf23e1fd20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf26d3117",
            "selector": "0xf26d3117",
            "calldata_variants": [
                "0xf26d3117",
                "0xf26d31170000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfd23492a",
            "selector": "0xfd23492a",
            "calldata_variants": [
                "0xfd23492a",
                "0xfd23492a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe56d3db8",
            "selector": "0xe56d3db8",
            "calldata_variants": [
                "0xe56d3db8",
                "0xe56d3db80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee69ef92",
            "selector": "0xee69ef92",
            "calldata_variants": [
                "0xee69ef92",
                "0xee69ef920000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf09703ca",
            "selector": "0xf09703ca",
            "calldata_variants": [
                "0xf09703ca",
                "0xf09703ca0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf1dbc1c6",
            "selector": "0xf1dbc1c6",
            "calldata_variants": [
                "0xf1dbc1c6",
                "0xf1dbc1c60000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1998,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2816,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3651,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 6,
    "guards_detected": []
}
high math codex Raffle can permanently revert when remainingURS is zero or exceeds totalTickets, locking tickets and refunds 85 no
view
evidence_json
{
    "evidence": "slotSize and offsetInSlot are computed from totalTickets/remainingURS without checking remainingURS or ensuring slotSize > 0; calculateMyResult requires raffleNumber to be set.",
    "locations": [
        "contracts/URSStore.sol:192",
        "contracts/URSStore.sol:215",
        "contracts/URSStore.sol:223",
        "contracts/URSStore.sol:224",
        "contracts/URSStore.sol:300"
    ],
    "recommendation": "Guard against remainingURS == 0 and totalTickets < remainingURS. Enforce limits in takingTickets or runRaffle, or add a cancellation/refund path when demand is insufficient. Consider setting a safe slotSize (e.g., 1) or reverting ticket sales when no supply remains.",
    "exploit_scenario": "If VIP/pass minting exhausts supply (remainingURS == 0) or overall ticket sales are below remaining supply (totalTickets < remainingURS), runRaffle computes slotSize = totalTickets / remainingURS as 0 or divides by zero and then reverts on modulo. Because raffleNumber is never set, users cannot call calculateMyResult and never receive refunds or mint allocations. An attacker with enough passes could intentionally exhaust supply before the public ticket phase, causing subsequent ticket buyers to be permanently stuck."
}
medium oracle codex Owner-controlled raffle number enables deterministic winner selection 75 no
view
evidence_json
{
    "evidence": "raffleNumber is set directly by onlyOwner with no entropy or commitment mechanism.",
    "locations": [
        "contracts/URSStore.sol:215",
        "contracts/URSStore.sol:218"
    ],
    "recommendation": "Use a commit-reveal scheme or an external randomness oracle (e.g., Chainlink VRF) with a binding that prevents the owner from selecting the final value after seeing ticket distribution.",
    "exploit_scenario": "The owner sets raffleNumber at any time after ticket sales, with no commitment or external randomness. This allows the owner to choose a raffleNumber that favors specific ticket indices (including their own), undermining fairness and enabling manipulation of winners."
}