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

Analysis Run

019bb50c-36be-73f5-8aa5-abd83ca7a6ba

failed
Chain ID
1
Address
Block Number
Created
Tue, Jan 13, 2026 1:50 AM
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
40476 artifact.fetch complete 1 / 3 3 months ago
40477 proxy.resolve complete 1 / 3 3 months ago
40478 tool.cast_disasm complete 1 / 3 3 months ago
40479 analysis.bundle complete 1 / 3 3 months ago
40480 capability.graph complete 1 / 3 3 months ago
40481 detector.run complete 1 / 3 3 months ago
40482 validation.fork complete 1 / 3 3 months ago
40510 report.consolidate complete 1 / 6 3 months ago
40511 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-yb5pxgxj) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-yb5pxgxj) 'forge' returned non-zero exit code 1 Error: Encountered invalid solc version in lib/openzeppelin-contracts/contracts/utils/Strings.sol: No solc version exists that matches the version requirement: ^0.8.24 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-yb5pxgxj/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-yb5pxgxj)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-yb5pxgxj)
'forge' returned non-zero exit code 1
Error: Encountered invalid solc version in lib/openzeppelin-contracts/contracts/utils/Strings.sol: No solc version exists that matches the version requirement: ^0.8.24
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-yb5pxgxj/out/build-info is not a directory.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
2
No findings?
no
Summary
Found two issues: incorrect sales withdrawal accounting enabling repeated withdrawals when sales are modified, and overly-permissive admin controls that can bypass or distort refunds.
View stdout
{"no_findings":false,"summary":"Found two issues: incorrect sales withdrawal accounting enabling repeated withdrawals when sales are modified, and overly-permissive admin controls that can bypass or distort refunds.","findings":[{"severity":"medium","category":"math","title":"Incorrect withdrawal accounting enables repeated sales withdrawals after sales changes","exploit_scenario":"Owner calls withdrawSales once (withdrawed = sales). Later increases finalPrice or wonBiddedItems so sales grows. Because withdrawed is reset to available instead of accumulated, each subsequent withdrawSales call continues to return the same available amount, allowing repeated withdrawals until the contract balance is drained (reducing funds needed for refunds).","recommendation":"Track cumulative withdrawals: set `withdrawed += available` (or `withdrawed = sales` after transfer), and freeze `finalPrice`/`wonBiddedItems` once withdrawals begin or after bidding ends.","evidence":"withdrawed is set to available (remaining) instead of being accumulated, which becomes exploitable if sales is later increased.","locations":["contracts/BlindAuction.sol:268","contracts/BlindAuction.sol:269","contracts/BlindAuction.sol:270","contracts/BlindAuction.sol:326","contracts/BlindAuction.sol:321"]},{"severity":"low","category":"access_control","title":"Admin can bypass refund guarantees via arbitrary state and price changes","exploit_scenario":"Owner can set auctionState to REFUND_ENDED at any time and call withdrawAll, draining all funds before users refund. Owner can also change finalPrice or wonBiddedItems after refunds start, causing some refunds to revert or to be underpaid compared to earlier refunds.","recommendation":"Enforce monotonic state transitions and freeze finalPrice/wonBiddedItems once bidding ends or refunds start; allow withdrawAll only after refunds are completed or after a defined deadline.","evidence":"Critical parameters and state are mutable at any time by the owner, and withdrawAll only checks auctionState which the owner can set arbitrarily.","locations":["contracts/BlindAuction.sol:277","contracts/BlindAuction.sol:278","contracts/BlindAuction.sol:335","contracts/BlindAuction.sol:336","contracts/BlindAuction.sol:321","contracts/BlindAuction.sol:326"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-hiddb2lc
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb54f-451f-70b0-9a0b-654e88654ee8
--------
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_BUNDLE file**
exec
/bin/bash -lc ls in /tmp/codex-hiddb2lc succeeded in 6ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
@openzeppelin
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-hiddb2lc succeeded in 27ms:
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/BlindAuction.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
import "@openzeppelin/contracts/utils/Strings.sol";
import "@openzeppelin/contracts/utils/math/Math.sol";
import "@openzeppelin/contracts/utils/structs/EnumerableMap.sol";
import "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol";
import "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
import "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";

//  ===========================================================================================
//  #     #               ######
//  #     # ###### ###### #     #  ####  #    #  ####


thinking
**Analyzing smart contract withdrawal logic and vulnerabilities**

I’m examining the withdrawSales function closely and found that the withdrawed variable is incorrectly reset instead of accumulated, which could allow repeated withdrawals if the owner tweaks sales values after withdrawals. This flawed logic might enable draining funds beyond legitimate sales amounts, representing a medium-severity access control issue tied to owner privileges. I also reviewed potential reentrancy risks and upgradeable contract patterns, noting missing nonReentrant guards on some withdrawals and lack of storage gaps. There are concerns about unrestricted owner actions like changing finalPrice or wonBiddedItems anytime, which might disrupt refund calculations and state invariants. Overall, I’m identifying exploitable bugs mostly linked to owner control and some logic errors that could affect contract stability.
thinking
**Examining auction state and refund logic edge cases**

I’m reviewing potential pitfalls with auction state manipulation and refund calculations, including risks from owner changing finalPrice after refunds start, causing refund failures or unfair amounts. I also noticed missing checks on auctionState values and some unused constants like MAX_BID_QUANTITY. While many issues stem from owner privileges, there are subtle logic gaps in refund limits and state transitions worth highlighting as medium severity findings.
exec
/bin/bash -lc 'nl -ba contracts/BlindAuction.sol' in /tmp/codex-hiddb2lc succeeded in 19ms:
     1	// SPDX-License-Identifier: MIT
     2	pragma solidity ^0.8.19;
     3	import "@openzeppelin/contracts/utils/Strings.sol";
     4	import "@openzeppelin/contracts/utils/math/Math.sol";
     5	import "@openzeppelin/contracts/utils/structs/EnumerableMap.sol";
     6	import "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol";
     7	import "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
     8	import "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol";
     9	import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
    10	import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
    11	
    12	//  ===========================================================================================
    13	//  #     #               ######
    14	//  #     # ###### ###### #     #  ####  #    #  ####
    15	//  #     # #      #      #     # #    # ##   # #    #
    16	//  ####### #####  #####  #     # #    # # #  # #
    17	//  #     # #      #      #     # #    # #  # # #  ###
    18	//  #     # #      #      #     # #    # #   ## #    #
    19	//  #     # ###### ###### ######   ####  #    #  ####
    20	//

thinking
**Summarizing potential vulnerabilities and crafting findings**

I'll organize the key issues found into two main findings: one about incorrect accounting allowing repeated withdrawals after sales increase, categorized as a math vulnerability with medium severity, and another about admin capabilities to arbitrarily change auction state and parameters to bypass refund protections, considered a lower-severity access control risk. I also plan to include detailed exploit scenarios, evidence line references, and recommendations for mitigation in a clear JSON format.
codex
{"no_findings":false,"summary":"Found two issues: incorrect sales withdrawal accounting enabling repeated withdrawals when sales are modified, and overly-permissive admin controls that can bypass or distort refunds.","findings":[{"severity":"medium","category":"math","title":"Incorrect withdrawal accounting enables repeated sales withdrawals after sales changes","exploit_scenario":"Owner calls withdrawSales once (withdrawed = sales). Later increases finalPrice or wonBiddedItems so sales grows. Because withdrawed is reset to available instead of accumulated, each subsequent withdrawSales call continues to return the same available amount, allowing repeated withdrawals until the contract balance is drained (reducing funds needed for refunds).","recommendation":"Track cumulative withdrawals: set `withdrawed += available` (or `withdrawed = sales` after transfer), and freeze `finalPrice`/`wonBiddedItems` once withdrawals begin or after bidding ends.","evidence":"withdrawed is set to available (remaining) instead of being accumulated, which becomes exploitable if sales is later increased.","locations":["contracts/BlindAuction.sol:268","contracts/BlindAuction.sol:269","contracts/BlindAuction.sol:270","contracts/BlindAuction.sol:326","contracts/BlindAuction.sol:321"]},{"severity":"low","category":"access_control","title":"Admin can bypass refund guarantees via arbitrary state and price changes","exploit_scenario":"Owner can set auctionState to REFUND_ENDED at any time and call withdrawAll, draining all funds before users refund. Owner can also change finalPrice or wonBiddedItems after refunds start, causing some refunds to revert or to be underpaid compared to earlier refunds.","recommendation":"Enforce monotonic state transitions and freeze finalPrice/wonBiddedItems once bidding ends or refunds start; allow withdrawAll only after refunds are completed or after a defined deadline.","evidence":"Critical parameters and state are mutable at any time by the owner, and withdrawAll only checks auctionState which the owner can set arbitrarily.","locations":["contracts/BlindAuction.sol:277","contracts/BlindAuction.sol:278","contracts/BlindAuction.sol:335","contracts/BlindAuction.sol:336","contracts/BlindAuction.sol:321","contracts/BlindAuction.sol:326"]}]}
tokens used
19,770
Metadata
{
    "codex": {
        "ran_at": "2026-01-13T03:06:41.644120+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 12,
        "import_count": 14,
        "first_party_contracts_count": 1
    },
    "summary": "Found two issues: incorrect sales withdrawal accounting enabling repeated withdrawals when sales are modified, and overly-permissive admin controls that can bypass or distort refunds.",
    "raw_final": {
        "summary": "Found two issues: incorrect sales withdrawal accounting enabling repeated withdrawals when sales are modified, and overly-permissive admin controls that can bypass or distort refunds.",
        "findings": [
            {
                "title": "Incorrect withdrawal accounting enables repeated sales withdrawals after sales changes",
                "category": "math",
                "evidence": "withdrawed is set to available (remaining) instead of being accumulated, which becomes exploitable if sales is later increased.",
                "severity": "medium",
                "locations": [
                    "contracts/BlindAuction.sol:268",
                    "contracts/BlindAuction.sol:269",
                    "contracts/BlindAuction.sol:270",
                    "contracts/BlindAuction.sol:326",
                    "contracts/BlindAuction.sol:321"
                ],
                "recommendation": "Track cumulative withdrawals: set `withdrawed += available` (or `withdrawed = sales` after transfer), and freeze `finalPrice`/`wonBiddedItems` once withdrawals begin or after bidding ends.",
                "exploit_scenario": "Owner calls withdrawSales once (withdrawed = sales). Later increases finalPrice or wonBiddedItems so sales grows. Because withdrawed is reset to available instead of accumulated, each subsequent withdrawSales call continues to return the same available amount, allowing repeated withdrawals until the contract balance is drained (reducing funds needed for refunds)."
            },
            {
                "title": "Admin can bypass refund guarantees via arbitrary state and price changes",
                "category": "access_control",
                "evidence": "Critical parameters and state are mutable at any time by the owner, and withdrawAll only checks auctionState which the owner can set arbitrarily.",
                "severity": "low",
                "locations": [
                    "contracts/BlindAuction.sol:277",
                    "contracts/BlindAuction.sol:278",
                    "contracts/BlindAuction.sol:335",
                    "contracts/BlindAuction.sol:336",
                    "contracts/BlindAuction.sol:321",
                    "contracts/BlindAuction.sol:326"
                ],
                "recommendation": "Enforce monotonic state transitions and freeze finalPrice/wonBiddedItems once bidding ends or refunds start; allow withdrawAll only after refunds are completed or after a defined deadline.",
                "exploit_scenario": "Owner can set auctionState to REFUND_ENDED at any time and call withdrawAll, draining all funds before users refund. Owner can also change finalPrice or wonBiddedItems after refunds start, causing some refunds to revert or to be underpaid compared to earlier refunds."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
1
EXT*/BALANCE
1
Total opcodes
4754
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 0x0206
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x900c1220
00000019: GT
0000001a: PUSH2 0x0117
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xb81c78ec
00000024: GT
00000025: PUSH2 0x00a5
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xcff29dfd
0000002f: GT
00000030: PUSH2 0x006c
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xcff29dfd
0000003a: EQ
0000003b: PUSH2 0x05dd
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xd4b156e9
00000045: EQ
00000046: PUSH2 0x05fd
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xe6ba4a18
00000050: EQ
00000051: PUSH2 0x061d
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xe961928e
0000005b: EQ
0000005c: PUSH2 0x063d
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xf2fde38b
00000066: EQ
00000067: PUSH2 0x0676
0000006a: JUMPI
0000006b: STOP
0000006c: JUMPDEST
0000006d: DUP1
0000006e: PUSH4 0xb81c78ec
00000073: EQ
00000074: PUSH2 0x0546
00000077: JUMPI
00000078: DUP1
00000079: PUSH4 0xb9ea2fc4
0000007e: EQ
0000007f: PUSH2 0x0568
00000082: JUMPI
00000083: DUP1
00000084: PUSH4 0xbb55f25c
00000089: EQ
0000008a: PUSH2 0x0588
0000008d: JUMPI
0000008e: DUP1
0000008f: PUSH4 0xc4d66de8
00000094: EQ
00000095: PUSH2 0x05a8
00000098: JUMPI
00000099: DUP1
0000009a: PUSH4 0xce22bc67
0000009f: EQ
000000a0: PUSH2 0x05c8
000000a3: JUMPI
000000a4: STOP
000000a5: JUMPDEST
000000a6: DUP1
000000a7: PUSH4 0xa363a725
000000ac: GT
000000ad: PUSH2 0x00e9
000000b0: JUMPI
000000b1: DUP1
000000b2: PUSH4 0xa363a725
000000b7: EQ
000000b8: PUSH2 0x04c5
000000bb: JUMPI
000000bc: DUP1
000000bd: PUSH4 0xa6b513ee
000000c2: EQ
000000c3: PUSH2 0x04e5
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0xae247275
000000cd: EQ
000000ce: PUSH2 0x04fb
000000d1: JUMPI
000000d2: DUP1
000000d3: PUSH4 0xb0eac1d8
000000d8: EQ
000000d9: PUSH2 0x0511
000000dc: JUMPI
000000dd: DUP1
000000de: PUSH4 0xb66b2073
000000e3: EQ
000000e4: PUSH2 0x0531
000000e7: JUMPI
000000e8: STOP
000000e9: JUMPDEST
000000ea: DUP1
000000eb: PUSH4 0x900c1220
000000f0: EQ
000000f1: PUSH2 0x0464
000000f4: JUMPI
000000f5: DUP1
000000f6: PUSH4 0x9688a21d
000000fb: EQ
000000fc: PUSH2 0x0484
000000ff: JUMPI
00000100: DUP1
00000101: PUSH4 0x9a797128
00000106: EQ
00000107: PUSH2 0x049a
0000010a: JUMPI
0000010b: DUP1
0000010c: PUSH4 0x9ce05df7
00000111: EQ
00000112: PUSH2 0x04b0
00000115: JUMPI
00000116: STOP
00000117: JUMPDEST
00000118: DUP1
00000119: PUSH4 0x3cf247b1
0000011e: GT
0000011f: PUSH2 0x0194
00000122: JUMPI
00000123: DUP1
00000124: PUSH4 0x715018a6
00000129: GT
0000012a: PUSH2 0x0166
0000012d: JUMPI
0000012e: DUP1
0000012f: PUSH4 0x715018a6
00000134: EQ
00000135: PUSH2 0x03c8
00000138: JUMPI
00000139: DUP1
0000013a: PUSH4 0x7fb45099
0000013f: EQ
00000140: PUSH2 0x03dd
00000143: JUMPI
00000144: DUP1
00000145: PUSH4 0x853828b6
0000014a: EQ
0000014b: PUSH2 0x0404
0000014e: JUMPI
0000014f: DUP1
00000150: PUSH4 0x8a828b08
00000155: EQ
00000156: PUSH2 0x0419
00000159: JUMPI
0000015a: DUP1
0000015b: PUSH4 0x8da5cb5b
00000160: EQ
00000161: PUSH2 0x0446
00000164: JUMPI
00000165: STOP
00000166: JUMPDEST
00000167: DUP1
00000168: PUSH4 0x3cf247b1
0000016d: EQ
0000016e: PUSH2 0x035c
00000171: JUMPI
00000172: DUP1
00000173: PUSH4 0x45f4d735
00000178: EQ
00000179: PUSH2 0x0372
0000017c: JUMPI
0000017d: DUP1
0000017e: PUSH4 0x50d2e677
00000183: EQ
00000184: PUSH2 0x0388
00000187: JUMPI
00000188: DUP1
00000189: PUSH4 0x5c6c09e9
0000018e: EQ
0000018f: PUSH2 0x03a8
00000192: JUMPI
00000193: STOP
00000194: JUMPDEST
00000195: DUP1
00000196: PUSH4 0x18133d15
0000019b: GT
0000019c: PUSH2 0x01d8
0000019f: JUMPI
000001a0: DUP1
000001a1: PUSH4 0x18133d15
000001a6: EQ
000001a7: PUSH2 0x0292
000001aa: JUMPI
000001ab: DUP1
000001ac: PUSH4 0x1bb89762
000001b1: EQ
000001b2: PUSH2 0x02d2
000001b5: JUMPI
000001b6: DUP1
000001b7: PUSH4 0x1e28ecad
000001bc: EQ
000001bd: PUSH2 0x02e7
000001c0: JUMPI
000001c1: DUP1
000001c2: PUSH4 0x343039d5
000001c7: EQ
000001c8: PUSH2 0x030a
000001cb: JUMPI
000001cc: DUP1
000001cd: PUSH4 0x37369b22
000001d2: EQ
000001d3: PUSH2 0x0347
000001d6: JUMPI
000001d7: STOP
000001d8: JUMPDEST
000001d9: DUP1
000001da: PUSH4 0x08bfc300
000001df: EQ
000001e0: PUSH2 0x020f
000001e3: JUMPI
000001e4: DUP1
000001e5: PUSH4 0x0ce28dc4
000001ea: EQ
000001eb: PUSH2 0x023b
000001ee: JUMPI
000001ef: DUP1
000001f0: PUSH4 0x11863009
000001f5: EQ
000001f6: PUSH2 0x0243
000001f9: JUMPI
000001fa: DUP1
000001fb: PUSH4 0x11cfcadb
00000200: EQ
00000201: PUSH2 0x0272
00000204: JUMPI
00000205: STOP
00000206: JUMPDEST
00000207: CALLDATASIZE
00000208: PUSH2 0x020d
0000020b: JUMPI
0000020c: STOP
0000020d: JUMPDEST
0000020e: STOP
0000020f: JUMPDEST
00000210: CALLVALUE
00000211: DUP1
00000212: ISZERO
00000213: PUSH2 0x021b
00000216: JUMPI
00000217: PUSH1 0x00
00000219: DUP1
0000021a: REVERT
0000021b: JUMPDEST
0000021c: POP
0000021d: PUSH2 0x0224
00000220: PUSH2 0x0696
00000223: JUMP
00000224: JUMPDEST
00000225: PUSH1 0x40
00000227: MLOAD
00000228: PUSH1 0xff
0000022a: SWAP1
0000022b: SWAP2
0000022c: AND
0000022d: DUP2
0000022e: MSTORE
0000022f: PUSH1 0x20
00000231: ADD
00000232: JUMPDEST
00000233: PUSH1 0x40
00000235: MLOAD
00000236: DUP1
00000237: SWAP2
00000238: SUB
00000239: SWAP1
0000023a: RETURN
0000023b: JUMPDEST
0000023c: PUSH2 0x020d
0000023f: PUSH2 0x06b5
00000242: JUMP
00000243: JUMPDEST
00000244: CALLVALUE
00000245: DUP1
00000246: ISZERO
00000247: PUSH2 0x024f
0000024a: JUMPI
0000024b: PUSH1 0x00
0000024d: DUP1
0000024e: REVERT
0000024f: JUMPDEST
00000250: POP
00000251: CALLER
00000252: PUSH1 0x00
00000254: SWAP1
00000255: DUP2
00000256: MSTORE
00000257: PUSH1 0xa0
00000259: PUSH1 0x20
0000025b: MSTORE
0000025c: PUSH1 0x40
0000025e: SWAP1
0000025f: KECCAK256
00000260: PUSH1 0x01
00000262: ADD
00000263: SLOAD
00000264: JUMPDEST
00000265: PUSH1 0x40
00000267: MLOAD
00000268: SWAP1
00000269: DUP2
0000026a: MSTORE
0000026b: PUSH1 0x20
0000026d: ADD
0000026e: PUSH2 0x0232
00000271: JUMP
00000272: JUMPDEST
00000273: CALLVALUE
00000274: DUP1
00000275: ISZERO
00000276: PUSH2 0x027e
00000279: JUMPI
0000027a: PUSH1 0x00
0000027c: DUP1
0000027d: REVERT
0000027e: JUMPDEST
0000027f: POP
00000280: PUSH2 0x020d
00000283: PUSH2 0x028d
00000286: CALLDATASIZE
00000287: PUSH1 0x04
00000289: PUSH2 0x19d6
0000028c: JUMP
0000028d: JUMPDEST
0000028e: PUSH2 0x094d
00000291: JUMP
00000292: JUMPDEST
00000293: CALLVALUE
00000294: DUP1
00000295: ISZERO
00000296: PUSH2 0x029e
00000299: JUMPI
0000029a: PUSH1 0x00
0000029c: DUP1
0000029d: REVERT
0000029e: JUMPDEST
0000029f: POP
000002a0: PUSH2 0x02c2
000002a3: PUSH2 0x02ad
000002a6: CALLDATASIZE
000002a7: PUSH1 0x04
000002a9: PUSH2 0x1a0b
000002ac: JUMP
000002ad: JUMPDEST
000002ae: PUSH1 0xa1
000002b0: PUSH1 0x20
000002b2: MSTORE
000002b3: PUSH1 0x00
000002b5: SWAP1
000002b6: DUP2
000002b7: MSTORE
000002b8: PUSH1 0x40
000002ba: SWAP1
000002bb: KECCAK256
000002bc: SLOAD
000002bd: PUSH1 0xff
000002bf: AND
000002c0: DUP2
000002c1: JUMP
000002c2: JUMPDEST
000002c3: PUSH1 0x40
000002c5: MLOAD
000002c6: SWAP1
000002c7: ISZERO
000002c8: ISZERO
000002c9: DUP2
000002ca: MSTORE
000002cb: PUSH1 0x20
000002cd: ADD
000002ce: PUSH2 0x0232
000002d1: JUMP
000002d2: JUMPDEST
000002d3: CALLVALUE
000002d4: DUP1
000002d5: ISZERO
000002d6: PUSH2 0x02de
000002d9: JUMPI
000002da: PUSH1 0x00
000002dc: DUP1
000002dd: REVERT
000002de: JUMPDEST
000002df: POP
000002e0: PUSH1 0x9f
000002e2: SLOAD
000002e3: PUSH2 0x0264
000002e6: JUMP
000002e7: JUMPDEST
000002e8: CALLVALUE
000002e9: DUP1
000002ea: ISZERO
000002eb: PUSH2 0x02f3
000002ee: JUMPI
000002ef: PUSH1 0x00
000002f1: DUP1
000002f2: REVERT
000002f3: JUMPDEST
000002f4: POP
000002f5: PUSH2 0x02fc
000002f8: PUSH2 0x095a
000002fb: JUMP
000002fc: JUMPDEST
000002fd: PUSH1 0x40
000002ff: MLOAD
00000300: PUSH2 0x0232
00000303: SWAP3
00000304: SWAP2
00000305: SWAP1
00000306: PUSH2 0x1a6a
00000309: JUMP
0000030a: JUMPDEST
0000030b: CALLVALUE
0000030c: DUP1
0000030d: ISZERO
0000030e: PUSH2 0x0316
00000311: JUMPI
00000312: PUSH1 0x00
00000314: DUP1
00000315: REVERT
00000316: JUMPDEST
00000317: POP
00000318: PUSH1 0x97
0000031a: SLOAD
0000031b: PUSH2 0x032f
0000031e: SWAP1
0000031f: PUSH2 0x0100
00000322: SWAP1
00000323: DIV
00000324: PUSH1 0x01
00000326: PUSH1 0x01
00000328: PUSH1 0xa0
0000032a: SHL
0000032b: SUB
0000032c: AND
0000032d: DUP2
0000032e: JUMP
0000032f: JUMPDEST
00000330: PUSH1 0x40
00000332: MLOAD
00000333: PUSH1 0x01
00000335: PUSH1 0x01
00000337: PUSH1 0xa0
00000339: SHL
0000033a: SUB
0000033b: SWAP1
0000033c: SWAP2
0000033d: AND
0000033e: DUP2
0000033f: MSTORE
00000340: PUSH1 0x20
00000342: ADD
00000343: PUSH2 0x0232
00000346: JUMP
00000347: JUMPDEST
00000348: CALLVALUE
00000349: DUP1
0000034a: ISZERO
0000034b: PUSH2 0x0353
0000034e: JUMPI
0000034f: PUSH1 0x00
00000351: DUP1
00000352: REVERT
00000353: JUMPDEST
00000354: POP
00000355: PUSH2 0x020d
00000358: PUSH2 0x0a97
0000035b: JUMP
0000035c: JUMPDEST
0000035d: CALLVALUE
0000035e: DUP1
0000035f: ISZERO
00000360: PUSH2 0x0368
00000363: JUMPI
00000364: PUSH1 0x00
00000366: DUP1
00000367: REVERT
00000368: JUMPDEST
00000369: POP
0000036a: PUSH2 0x0264
0000036d: PUSH1 0x99
0000036f: SLOAD
00000370: DUP2
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 0x0264
00000383: PUSH1 0x9a
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 0x020d
00000399: PUSH2 0x03a3
0000039c: CALLDATASIZE
0000039d: PUSH1 0x04
0000039f: PUSH2 0x19d6
000003a2: JUMP
000003a3: JUMPDEST
000003a4: PUSH2 0x0c21
000003a7: JUMP
000003a8: JUMPDEST
000003a9: CALLVALUE
000003aa: DUP1
000003ab: ISZERO
000003ac: PUSH2 0x03b4
000003af: JUMPI
000003b0: PUSH1 0x00
000003b2: DUP1
000003b3: REVERT
000003b4: JUMPDEST
000003b5: POP
000003b6: PUSH2 0x020d
000003b9: PUSH2 0x03c3
000003bc: CALLDATASIZE
000003bd: PUSH1 0x04
000003bf: PUSH2 0x1a0b
000003c2: JUMP
000003c3: JUMPDEST
000003c4: PUSH2 0x0c8e
000003c7: JUMP
000003c8: JUMPDEST
000003c9: CALLVALUE
000003ca: DUP1
000003cb: ISZERO
000003cc: PUSH2 0x03d4
000003cf: JUMPI
000003d0: PUSH1 0x00
000003d2: DUP1
000003d3: REVERT
000003d4: JUMPDEST
000003d5: POP
000003d6: PUSH2 0x020d
000003d9: PUSH2 0x0d06
000003dc: JUMP
000003dd: JUMPDEST
000003de: CALLVALUE
000003df: DUP1
000003e0: ISZERO
000003e1: PUSH2 0x03e9
000003e4: JUMPI
000003e5: PUSH1 0x00
000003e7: DUP1
000003e8: REVERT
000003e9: JUMPDEST
000003ea: POP
000003eb: PUSH1 0x97
000003ed: SLOAD
000003ee: PUSH2 0x03f7
000003f1: SWAP1
000003f2: PUSH1 0xff
000003f4: AND
000003f5: DUP2
000003f6: JUMP
000003f7: JUMPDEST
000003f8: PUSH1 0x40
000003fa: MLOAD
000003fb: PUSH2 0x0232
000003fe: SWAP2
000003ff: SWAP1
00000400: PUSH2 0x1ad9
00000403: JUMP
00000404: JUMPDEST
00000405: CALLVALUE
00000406: DUP1
00000407: ISZERO
00000408: PUSH2 0x0410
0000040b: JUMPI
0000040c: PUSH1 0x00
0000040e: DUP1
0000040f: REVERT
00000410: JUMPDEST
00000411: POP
00000412: PUSH2 0x020d
00000415: PUSH2 0x0d1a
00000418: JUMP
00000419: JUMPDEST
0000041a: CALLVALUE
0000041b: DUP1
0000041c: ISZERO
0000041d: PUSH2 0x0425
00000420: JUMPI
00000421: PUSH1 0x00
00000423: DUP1
00000424: REVERT
00000425: JUMPDEST
00000426: POP
00000427: PUSH2 0x0439
0000042a: PUSH2 0x0434
0000042d: CALLDATASIZE
0000042e: PUSH1 0x04
00000430: PUSH2 0x1b01
00000433: JUMP
00000434: JUMPDEST
00000435: PUSH2 0x0da4
00000438: JUMP
00000439: JUMPDEST
0000043a: PUSH1 0x40
0000043c: MLOAD
0000043d: PUSH2 0x0232
00000440: SWAP2
00000441: SWAP1
00000442: PUSH2 0x1b23
00000445: JUMP
00000446: JUMPDEST
00000447: CALLVALUE
00000448: DUP1
00000449: ISZERO
0000044a: PUSH2 0x0452
0000044d: JUMPI
0000044e: PUSH1 0x00
00000450: DUP1
00000451: REVERT
00000452: JUMPDEST
00000453: POP
00000454: PUSH1 0x65
00000456: SLOAD
00000457: PUSH1 0x01
00000459: PUSH1 0x01
0000045b: PUSH1 0xa0
0000045d: SHL
0000045e: SUB
0000045f: AND
00000460: PUSH2 0x032f
00000463: JUMP
00000464: JUMPDEST
00000465: CALLVALUE
00000466: DUP1
00000467: ISZERO
00000468: PUSH2 0x0470
0000046b: JUMPI
0000046c: PUSH1 0x00
0000046e: DUP1
0000046f: REVERT
00000470: JUMPDEST
00000471: POP
00000472: PUSH2 0x020d
00000475: PUSH2 0x047f
00000478: CALLDATASIZE
00000479: PUSH1 0x04
0000047b: PUSH2 0x1b36
0000047e: JUMP
0000047f: JUMPDEST
00000480: PUSH2 0x0e9b
00000483: JUMP
00000484: JUMPDEST
00000485: CALLVALUE
00000486: DUP1
00000487: ISZERO
00000488: PUSH2 0x0490
0000048b: JUMPI
0000048c: PUSH1 0x00
0000048e: DUP1
0000048f: REVERT
00000490: JUMPDEST
00000491: POP
00000492: PUSH2 0x0264
00000495: PUSH1 0x9b
00000497: SLOAD
00000498: DUP2
00000499: JUMP
0000049a: JUMPDEST
0000049b: CALLVALUE
0000049c: DUP1
0000049d: ISZERO
0000049e: PUSH2 0x04a6
000004a1: JUMPI
000004a2: PUSH1 0x00
000004a4: DUP1
000004a5: REVERT
000004a6: JUMPDEST
000004a7: POP
000004a8: PUSH2 0x0264
000004ab: PUSH1 0x9e
000004ad: SLOAD
000004ae: DUP2
000004af: JUMP
000004b0: JUMPDEST
000004b1: CALLVALUE
000004b2: DUP1
000004b3: ISZERO
000004b4: PUSH2 0x04bc
000004b7: JUMPI
000004b8: PUSH1 0x00
000004ba: DUP1
000004bb: REVERT
000004bc: JUMPDEST
000004bd: POP
000004be: PUSH1 0x9c
000004c0: SLOAD
000004c1: PUSH2 0x0264
000004c4: JUMP
000004c5: JUMPDEST
000004c6: CALLVALUE
000004c7: DUP1
000004c8: ISZERO
000004c9: PUSH2 0x04d1
000004cc: JUMPI
000004cd: PUSH1 0x00
000004cf: DUP1
000004d0: REVERT
000004d1: JUMPDEST
000004d2: POP
000004d3: PUSH2 0x020d
000004d6: PUSH2 0x04e0
000004d9: CALLDATASIZE
000004da: PUSH1 0x04
000004dc: PUSH2 0x19d6
000004df: JUMP
000004e0: JUMPDEST
000004e1: PUSH2 0x0edc
000004e4: JUMP
000004e5: JUMPDEST
000004e6: CALLVALUE
000004e7: DUP1
000004e8: ISZERO
000004e9: PUSH2 0x04f1
000004ec: JUMPI
000004ed: PUSH1 0x00
000004ef: DUP1
000004f0: REVERT
000004f1: JUMPDEST
000004f2: POP
000004f3: PUSH2 0x0264
000004f6: PUSH1 0x9c
000004f8: SLOAD
000004f9: DUP2
000004fa: JUMP
000004fb: JUMPDEST
000004fc: CALLVALUE
000004fd: DUP1
000004fe: ISZERO
000004ff: PUSH2 0x0507
00000502: JUMPI
00000503: PUSH1 0x00
00000505: DUP1
00000506: REVERT
00000507: JUMPDEST
00000508: POP
00000509: PUSH2 0x0264
0000050c: PUSH1 0x9d
0000050e: SLOAD
0000050f: DUP2
00000510: JUMP
00000511: JUMPDEST
00000512: CALLVALUE
00000513: DUP1
00000514: ISZERO
00000515: PUSH2 0x051d
00000518: JUMPI
00000519: PUSH1 0x00
0000051b: DUP1
0000051c: REVERT
0000051d: JUMPDEST
0000051e: POP
0000051f: PUSH2 0x020d
00000522: PUSH2 0x052c
00000525: CALLDATASIZE
00000526: PUSH1 0x04
00000528: PUSH2 0x1b36
0000052b: JUMP
0000052c: JUMPDEST
0000052d: PUSH2 0x0f49
00000530: JUMP
00000531: JUMPDEST
00000532: CALLVALUE
00000533: DUP1
00000534: ISZERO
00000535: PUSH2 0x053d
00000538: JUMPI
00000539: PUSH1 0x00
0000053b: DUP1
0000053c: REVERT
0000053d: JUMPDEST
0000053e: POP
0000053f: PUSH2 0x0439
00000542: PUSH2 0x0f59
00000545: JUMP
00000546: JUMPDEST
00000547: CALLVALUE
00000548: DUP1
00000549: ISZERO
0000054a: PUSH2 0x0552
0000054d: JUMPI
0000054e: PUSH1 0x00
00000550: DUP1
00000551: REVERT
00000552: JUMPDEST
00000553: POP
00000554: PUSH2 0x055b
00000557: PUSH2 0x0fbb
0000055a: JUMP
0000055b: JUMPDEST
0000055c: PUSH1 0x40
0000055e: MLOAD
0000055f: PUSH2 0x0232
00000562: SWAP2
00000563: SWAP1
00000564: PUSH2 0x1b59
00000567: JUMP
00000568: JUMPDEST
00000569: CALLVALUE
0000056a: DUP1
0000056b: ISZERO
0000056c: PUSH2 0x0574
0000056f: JUMPI
00000570: PUSH1 0x00
00000572: DUP1
00000573: REVERT
00000574: JUMPDEST
00000575: POP
00000576: PUSH2 0x020d
00000579: PUSH2 0x0583
0000057c: CALLDATASIZE
0000057d: PUSH1 0x04
0000057f: PUSH2 0x1c2a
00000582: JUMP
00000583: JUMPDEST
00000584: PUSH2 0x110b
00000587: JUMP
00000588: JUMPDEST
00000589: CALLVALUE
0000058a: DUP1
0000058b: ISZERO
0000058c: PUSH2 0x0594
0000058f: JUMPI
00000590: PUSH1 0x00
00000592: DUP1
00000593: REVERT
00000594: JUMPDEST
00000595: POP
00000596: PUSH2 0x020d
00000599: PUSH2 0x05a3
0000059c: CALLDATASIZE
0000059d: PUSH1 0x04
0000059f: PUSH2 0x19d6
000005a2: JUMP
000005a3: JUMPDEST
000005a4: PUSH2 0x13b4
000005a7: JUMP
000005a8: JUMPDEST
000005a9: CALLVALUE
000005aa: DUP1
000005ab: ISZERO
000005ac: PUSH2 0x05b4
000005af: JUMPI
000005b0: PUSH1 0x00
000005b2: DUP1
000005b3: REVERT
000005b4: JUMPDEST
000005b5: POP
000005b6: PUSH2 0x020d
000005b9: PUSH2 0x05c3
000005bc: CALLDATASIZE
000005bd: PUSH1 0x04
000005bf: PUSH2 0x1a0b
000005c2: JUMP
000005c3: JUMPDEST
000005c4: PUSH2 0x1403
000005c7: JUMP
000005c8: JUMPDEST
000005c9: CALLVALUE
000005ca: DUP1
000005cb: ISZERO
000005cc: PUSH2 0x05d4
000005cf: JUMPI
000005d0: PUSH1 0x00
000005d2: DUP1
000005d3: REVERT
000005d4: JUMPDEST
000005d5: POP
000005d6: PUSH2 0x0264
000005d9: PUSH2 0x153b
000005dc: JUMP
000005dd: JUMPDEST
000005de: CALLVALUE
000005df: DUP1
000005e0: ISZERO
000005e1: PUSH2 0x05e9
000005e4: JUMPI
000005e5: PUSH1 0x00
000005e7: DUP1
000005e8: REVERT
000005e9: JUMPDEST
000005ea: POP
000005eb: PUSH2 0x032f
000005ee: PUSH2 0x05f8
000005f1: CALLDATASIZE
000005f2: PUSH1 0x04
000005f4: PUSH2 0x19d6
000005f7: JUMP
000005f8: JUMPDEST
000005f9: PUSH2 0x154c
000005fc: JUMP
000005fd: JUMPDEST
000005fe: CALLVALUE
000005ff: DUP1
00000600: ISZERO
00000601: PUSH2 0x0609
00000604: JUMPI
00000605: PUSH1 0x00
00000607: DUP1
00000608: REVERT
00000609: JUMPDEST
0000060a: POP
0000060b: PUSH2 0x020d
0000060e: PUSH2 0x0618
00000611: CALLDATASIZE
00000612: PUSH1 0x04
00000614: PUSH2 0x19d6
00000617: JUMP
00000618: JUMPDEST
00000619: PUSH2 0x1576
0000061c: JUMP
0000061d: JUMPDEST
0000061e: CALLVALUE
0000061f: DUP1
00000620: ISZERO
00000621: PUSH2 0x0629
00000624: JUMPI
00000625: PUSH1 0x00
00000627: DUP1
00000628: REVERT
00000629: JUMPDEST
0000062a: POP
0000062b: PUSH2 0x02c2
0000062e: PUSH2 0x0638
00000631: CALLDATASIZE
00000632: PUSH1 0x04
00000634: PUSH2 0x1c76
00000637: JUMP
00000638: JUMPDEST
00000639: PUSH2 0x15ca
0000063c: JUMP
0000063d: JUMPDEST
0000063e: CALLVALUE
0000063f: DUP1
00000640: ISZERO
00000641: PUSH2 0x0649
00000644: JUMPI
00000645: PUSH1 0x00
00000647: DUP1
00000648: REVERT
00000649: JUMPDEST
0000064a: POP
0000064b: PUSH2 0x02c2
0000064e: PUSH2 0x0658
00000651: CALLDATASIZE
00000652: PUSH1 0x04
00000654: PUSH2 0x1a0b
00000657: JUMP
00000658: JUMPDEST
00000659: PUSH1 0x01
0000065b: PUSH1 0x01
0000065d: PUSH1 0xa0
0000065f: SHL
00000660: SUB
00000661: AND
00000662: PUSH1 0x00
00000664: SWAP1
00000665: DUP2
00000666: MSTORE
00000667: PUSH1 0xa1
00000669: PUSH1 0x20
0000066b: MSTORE
0000066c: PUSH1 0x40
0000066e: SWAP1
0000066f: KECCAK256
00000670: SLOAD
00000671: PUSH1 0xff
00000673: AND
00000674: SWAP1
00000675: JUMP
00000676: JUMPDEST
00000677: CALLVALUE
00000678: DUP1
00000679: ISZERO
0000067a: PUSH2 0x0682
0000067d: JUMPI
0000067e: PUSH1 0x00
00000680: DUP1
00000681: REVERT
00000682: JUMPDEST
00000683: POP
00000684: PUSH2 0x020d
00000687: PUSH2 0x0691
0000068a: CALLDATASIZE
0000068b: PUSH1 0x04
0000068d: PUSH2 0x1a0b
00000690: JUMP
00000691: JUMPDEST
00000692: PUSH2 0x166b
00000695: JUMP
00000696: JUMPDEST
00000697: PUSH1 0x97
00000699: SLOAD
0000069a: PUSH1 0x00
0000069c: SWAP1
0000069d: PUSH1 0xff
0000069f: AND
000006a0: PUSH1 0x04
000006a2: DUP2
000006a3: GT
000006a4: ISZERO
000006a5: PUSH2 0x06b0
000006a8: JUMPI
000006a9: PUSH2 0x06b0
000006ac: PUSH2 0x1ac3
000006af: JUMP
000006b0: JUMPDEST
000006b1: SWAP1
000006b2: POP
000006b3: SWAP1
000006b4: JUMP
000006b5: JUMPDEST
000006b6: PUSH1 0x01
000006b8: PUSH1 0x97
000006ba: SLOAD
000006bb: PUSH1 0xff
000006bd: AND
000006be: PUSH1 0x04
000006c0: DUP2
000006c1: GT
000006c2: ISZERO
000006c3: PUSH2 0x06ce
000006c6: JUMPI
000006c7: PUSH2 0x06ce
000006ca: PUSH2 0x1ac3
000006cd: JUMP
000006ce: JUMPDEST
000006cf: EQ
000006d0: PUSH2 0x0716
000006d3: JUMPI
000006d4: PUSH1 0x40
000006d6: MLOAD
000006d7: PUSH3 0x461bcd
000006db: PUSH1 0xe5
000006dd: SHL
000006de: DUP2
000006df: MSTORE
000006e0: PUSH1 0x20
000006e2: PUSH1 0x04
000006e4: DUP3
000006e5: ADD
000006e6: MSTORE
000006e7: PUSH1 0x13
000006e9: PUSH1 0x24
000006eb: DUP3
000006ec: ADD
000006ed: MSTORE
000006ee: PUSH19 0x2134b23234b7339034b9903737ba1037b832b7
00000702: PUSH1 0x69
00000704: SHL
00000705: PUSH1 0x44
00000707: DUP3
00000708: ADD
00000709: MSTORE
0000070a: PUSH1 0x64
0000070c: ADD
0000070d: JUMPDEST
0000070e: PUSH1 0x40
00000710: MLOAD
00000711: DUP1
00000712: SWAP2
00000713: SUB
00000714: SWAP1
00000715: REVERT
00000716: JUMPDEST
00000717: CALLVALUE
00000718: PUSH1 0x00
0000071a: SUB
0000071b: PUSH2 0x0758
0000071e: JUMPI
0000071f: PUSH1 0x40
00000721: MLOAD
00000722: PUSH3 0x461bcd
00000726: PUSH1 0xe5
00000728: SHL
00000729: DUP2
0000072a: MSTORE
0000072b: PUSH1 0x20
0000072d: PUSH1 0x04
0000072f: DUP3
00000730: ADD
00000731: MSTORE
00000732: PUSH1 0x0f
00000734: PUSH1 0x24
00000736: DUP3
00000737: ADD
00000738: MSTORE
00000739: PUSH15 0x0426964206d757374206265203e203
00000749: PUSH1 0x8c
0000074b: SHL
0000074c: PUSH1 0x44
0000074e: DUP3
0000074f: ADD
00000750: MSTORE
00000751: PUSH1 0x64
00000753: ADD
00000754: PUSH2 0x070d
00000757: JUMP
00000758: JUMPDEST
00000759: CALLER
0000075a: PUSH1 0x00
0000075c: SWAP1
0000075d: DUP2
0000075e: MSTORE
0000075f: PUSH1 0xa0
00000761: PUSH1 0x20
00000763: MSTORE
00000764: PUSH1 0x40
00000766: DUP2
00000767: KECCAK256
00000768: PUSH1 0x01
0000076a: ADD
0000076b: SLOAD
0000076c: PUSH2 0x0776
0000076f: SWAP1
00000770: CALLVALUE
00000771: SWAP1
00000772: PUSH2 0x1ce6
00000775: JUMP
00000776: JUMPDEST
00000777: SWAP1
00000778: POP
00000779: PUSH1 0x9a
0000077b: SLOAD
0000077c: DUP2
0000077d: LT
0000077e: ISZERO
0000077f: PUSH2 0x07bd
00000782: JUMPI
00000783: PUSH1 0x40
00000785: MLOAD
00000786: PUSH3 0x461bcd
0000078a: PUSH1 0xe5
0000078c: SHL
0000078d: DUP2
0000078e: MSTORE
0000078f: PUSH1 0x20
00000791: PUSH1 0x04
00000793: DUP3
00000794: ADD
00000795: MSTORE
00000796: PUSH1 0x10
00000798: PUSH1 0x24
0000079a: DUP3
0000079b: ADD
0000079c: MSTORE
0000079d: PUSH16 0x135a5b88109a590814995c5d5a5c9959
000007ae: PUSH1 0x82
000007b0: SHL
000007b1: PUSH1 0x44
000007b3: DUP3
000007b4: ADD
000007b5: MSTORE
000007b6: PUSH1 0x64
000007b8: ADD
000007b9: PUSH2 0x070d
000007bc: JUMP
000007bd: JUMPDEST
000007be: CALLER
000007bf: PUSH1 0x00
000007c1: DUP2
000007c2: DUP2
000007c3: MSTORE
000007c4: PUSH1 0xa0
000007c6: PUSH1 0x20
000007c8: SWAP1
000007c9: DUP2
000007ca: MSTORE
000007cb: PUSH1 0x40
000007cd: SWAP2
000007ce: DUP3
000007cf: SWAP1
000007d0: KECCAK256
000007d1: SLOAD
000007d2: SWAP2
000007d3: MLOAD
000007d4: DUP5
000007d5: DUP2
000007d6: MSTORE
000007d7: PUSH1 0xff
000007d9: SWAP1
000007da: SWAP3
000007db: AND
000007dc: ISZERO
000007dd: SWAP3
000007de: SWAP2
000007df: PUSH32 0xa16480eaadf1bcfc74d6fe79423817d891a510e620d366c02a7d0b866dbf594f
00000800: SWAP2
00000801: ADD
00000802: PUSH1 0x40
00000804: MLOAD
00000805: DUP1
00000806: SWAP2
00000807: SUB
00000808: SWAP1
00000809: LOG3
0000080a: CALLER
0000080b: PUSH1 0x00
0000080d: SWAP1
0000080e: DUP2
0000080f: MSTORE
00000810: PUSH1 0xa0
00000812: PUSH1 0x20
00000814: MSTORE
00000815: PUSH1 0x40
00000817: SWAP1
00000818: KECCAK256
00000819: SLOAD
0000081a: PUSH1 0xff
0000081c: AND
0000081d: ISZERO
0000081e: PUSH2 0x085b
00000821: JUMPI
00000822: CALLER
00000823: PUSH1 0x00
00000825: SWAP1
00000826: DUP2
00000827: MSTORE
00000828: PUSH1 0xa0
0000082a: PUSH1 0x20
0000082c: MSTORE
0000082d: PUSH1 0x40
0000082f: SWAP1
00000830: KECCAK256
00000831: PUSH1 0x01
00000833: DUP2
00000834: ADD
00000835: SWAP2
00000836: SWAP1
00000837: SWAP2
00000838: SSTORE
00000839: PUSH1 0x02
0000083b: ADD
0000083c: DUP1
0000083d: SLOAD
0000083e: PUSH8 0xffffffff00000000
00000847: NOT
00000848: AND
00000849: PUSH5 0x0100000000
0000084f: TIMESTAMP
00000850: PUSH4 0xffffffff
00000855: AND
00000856: MUL
00000857: OR
00000858: SWAP1
00000859: SSTORE
0000085a: JUMP
0000085b: JUMPDEST
0000085c: PUSH1 0x40
0000085e: DUP1
0000085f: MLOAD
00000860: PUSH1 0xa0
00000862: DUP1
00000863: DUP3
00000864: ADD
00000865: DUP4
00000866: MSTORE
00000867: PUSH1 0x01
00000869: DUP1
0000086a: DUP4
0000086b: MSTORE
0000086c: CALLER
0000086d: PUSH1 0x20
0000086f: DUP1
00000870: DUP6
00000871: ADD
00000872: DUP3
00000873: DUP2
00000874: MSTORE
00000875: DUP6
00000876: DUP8
00000877: ADD
00000878: DUP9
00000879: DUP2
0000087a: MSTORE
0000087b: PUSH4 0xffffffff
00000880: TIMESTAMP
00000881: DUP2
00000882: AND
00000883: PUSH1 0x60
00000885: DUP10
00000886: ADD
00000887: DUP2
00000888: DUP2
00000889: MSTORE
0000088a: PUSH1 0x80
0000088c: DUP11
0000088d: ADD
0000088e: SWAP2
0000088f: DUP3
00000890: MSTORE
00000891: PUSH1 0x00
00000893: DUP8
00000894: DUP2
00000895: MSTORE
00000896: SWAP9
00000897: SWAP1
00000898: SWAP6
00000899: MSTORE
0000089a: SWAP9
0000089b: DUP8
0000089c: KECCAK256
0000089d: SWAP8
0000089e: MLOAD
0000089f: DUP9
000008a0: SLOAD
000008a1: SWAP4
000008a2: MLOAD
000008a3: PUSH1 0x01
000008a5: PUSH1 0x01
000008a7: PUSH1 0xa0
000008a9: SHL
000008aa: SUB
000008ab: AND
000008ac: PUSH2 0x0100
000008af: MUL
000008b0: PUSH2 0x0100
000008b3: PUSH1 0x01
000008b5: PUSH1 0xa8
000008b7: SHL
000008b8: SUB
000008b9: NOT
000008ba: SWAP2
000008bb: ISZERO
000008bc: ISZERO
000008bd: SWAP2
000008be: SWAP1
000008bf: SWAP2
000008c0: AND
000008c1: PUSH1 0x01
000008c3: PUSH1 0x01
000008c5: PUSH1 0xa8
000008c7: SHL
000008c8: SUB
000008c9: NOT
000008ca: SWAP1
000008cb: SWAP5
000008cc: AND
000008cd: SWAP4
000008ce: SWAP1
000008cf: SWAP4
000008d0: OR
000008d1: SWAP3
000008d2: SWAP1
000008d3: SWAP3
000008d4: OR
000008d5: DUP8
000008d6: SSTORE
000008d7: MLOAD
000008d8: DUP7
000008d9: DUP6
000008da: ADD
000008db: SSTORE
000008dc: SWAP1
000008dd: MLOAD
000008de: PUSH1 0x02
000008e0: SWAP1
000008e1: SWAP6
000008e2: ADD
000008e3: DUP1
000008e4: SLOAD
000008e5: SWAP7
000008e6: MLOAD
000008e7: DUP3
000008e8: AND
000008e9: PUSH5 0x0100000000
000008ef: MUL
000008f0: PUSH8 0xffffffffffffffff
000008f9: NOT
000008fa: SWAP1
000008fb: SWAP8
000008fc: AND
000008fd: SWAP6
000008fe: SWAP1
000008ff: SWAP2
00000900: AND
00000901: SWAP5
00000902: SWAP1
00000903: SWAP5
00000904: OR
00000905: SWAP5
00000906: SWAP1
00000907: SWAP5
00000908: OR
00000909: SWAP1
0000090a: SWAP3
0000090b: SSTORE
0000090c: PUSH1 0x9f
0000090e: DUP1
0000090f: SLOAD
00000910: SWAP3
00000911: DUP4
00000912: ADD
00000913: DUP2
00000914: SSTORE
00000915: SWAP1
00000916: MSTORE
00000917: PUSH32 0x0bc14066c33013fe88f66e314e4cf150b0b2d4d6451a1a51dbbd1c27cd11de28
00000938: ADD
00000939: DUP1
0000093a: SLOAD
0000093b: PUSH1 0x01
0000093d: PUSH1 0x01
0000093f: PUSH1 0xa0
00000941: SHL
00000942: SUB
00000943: NOT
00000944: AND
00000945: SWAP1
00000946: SWAP2
00000947: OR
00000948: SWAP1
00000949: SSTORE
0000094a: JUMPDEST
0000094b: POP
0000094c: JUMP
0000094d: JUMPDEST
0000094e: PUSH2 0x0955
00000951: PUSH2 0x16e1
00000954: JUMP
00000955: JUMPDEST
00000956: PUSH1 0x98
00000958: SSTORE
00000959: JUMP
0000095a: JUMPDEST
0000095b: PUSH1 0x60
0000095d: DUP1
0000095e: PUSH1 0x00
00000960: PUSH1 0x9f
00000962: DUP1
00000963: SLOAD
00000964: SWAP1
00000965: POP
00000966: PUSH8 0xffffffffffffffff
0000096f: DUP2
00000970: GT
00000971: ISZERO
00000972: PUSH2 0x097d
00000975: JUMPI
00000976: PUSH2 0x097d
00000979: PUSH2 0x1cf9
0000097c: JUMP
0000097d: JUMPDEST
0000097e: PUSH1 0x40
00000980: MLOAD
00000981: SWAP1
00000982: DUP1
00000983: DUP3
00000984: MSTORE
00000985: DUP1
00000986: PUSH1 0x20
00000988: MUL
00000989: PUSH1 0x20
0000098b: ADD
0000098c: DUP3
0000098d: ADD
0000098e: PUSH1 0x40
00000990: MSTORE
00000991: DUP1
00000992: ISZERO
00000993: PUSH2 0x09a6
00000996: JUMPI
00000997: DUP2
00000998: PUSH1 0x20
0000099a: ADD
0000099b: PUSH1 0x20
0000099d: DUP3
0000099e: MUL
0000099f: DUP1
000009a0: CALLDATASIZE
000009a1: DUP4
000009a2: CALLDATACOPY
000009a3: ADD
000009a4: SWAP1
000009a5: POP
000009a6: JUMPDEST
000009a7: POP
000009a8: SWAP1
000009a9: POP
000009aa: PUSH1 0x00
000009ac: JUMPDEST
000009ad: PUSH1 0x9f
000009af: SLOAD
000009b0: DUP2
000009b1: LT
000009b2: ISZERO
000009b3: PUSH2 0x0a2e
000009b6: JUMPI
000009b7: PUSH1 0xa1
000009b9: PUSH1 0x00
000009bb: PUSH1 0x9f
000009bd: DUP4
000009be: DUP2
000009bf: SLOAD
000009c0: DUP2
000009c1: LT
000009c2: PUSH2 0x09cd
000009c5: JUMPI
000009c6: PUSH2 0x09cd
000009c9: PUSH2 0x1d0f
000009cc: JUMP
000009cd: JUMPDEST
000009ce: PUSH1 0x00
000009d0: SWAP2
000009d1: DUP3
000009d2: MSTORE
000009d3: PUSH1 0x20
000009d5: DUP1
000009d6: DUP4
000009d7: KECCAK256
000009d8: SWAP1
000009d9: SWAP2
000009da: ADD
000009db: SLOAD
000009dc: PUSH1 0x01
000009de: PUSH1 0x01
000009e0: PUSH1 0xa0
000009e2: SHL
000009e3: SUB
000009e4: AND
000009e5: DUP4
000009e6: MSTORE
000009e7: DUP3
000009e8: ADD
000009e9: SWAP3
000009ea: SWAP1
000009eb: SWAP3
000009ec: MSTORE
000009ed: PUSH1 0x40
000009ef: ADD
000009f0: SWAP1
000009f1: KECCAK256
000009f2: SLOAD
000009f3: DUP3
000009f4: MLOAD
000009f5: PUSH1 0xff
000009f7: SWAP1
000009f8: SWAP2
000009f9: AND
000009fa: SWAP1
000009fb: DUP4
000009fc: SWAP1
000009fd: DUP4
000009fe: SWAP1
000009ff: DUP2
00000a00: LT
00000a01: PUSH2 0x0a0c
00000a04: JUMPI
00000a05: PUSH2 0x0a0c
00000a08: PUSH2 0x1d0f
00000a0b: JUMP
00000a0c: JUMPDEST
00000a0d: SWAP2
00000a0e: ISZERO
00000a0f: ISZERO
00000a10: PUSH1 0x20
00000a12: SWAP3
00000a13: DUP4
00000a14: MUL
00000a15: SWAP2
00000a16: SWAP1
00000a17: SWAP2
00000a18: ADD
00000a19: SWAP1
00000a1a: SWAP2
00000a1b: ADD
00000a1c: MSTORE
00000a1d: DUP1
00000a1e: PUSH2 0x0a26
00000a21: DUP2
00000a22: PUSH2 0x1d25
00000a25: JUMP
00000a26: JUMPDEST
00000a27: SWAP2
00000a28: POP
00000a29: POP
00000a2a: PUSH2 0x09ac
00000a2d: JUMP
00000a2e: JUMPDEST
00000a2f: POP
00000a30: PUSH1 0x9f
00000a32: DUP2
00000a33: DUP2
00000a34: DUP1
00000a35: SLOAD
00000a36: DUP1
00000a37: PUSH1 0x20
00000a39: MUL
00000a3a: PUSH1 0x20
00000a3c: ADD
00000a3d: PUSH1 0x40
00000a3f: MLOAD
00000a40: SWAP1
00000a41: DUP2
00000a42: ADD
00000a43: PUSH1 0x40
00000a45: MSTORE
00000a46: DUP1
00000a47: SWAP3
00000a48: SWAP2
00000a49: SWAP1
00000a4a: DUP2
00000a4b: DUP2
00000a4c: MSTORE
00000a4d: PUSH1 0x20
00000a4f: ADD
00000a50: DUP3
00000a51: DUP1
00000a52: SLOAD
00000a53: DUP1
00000a54: ISZERO
00000a55: PUSH2 0x0a87
00000a58: JUMPI
00000a59: PUSH1 0x20
00000a5b: MUL
00000a5c: DUP3
00000a5d: ADD
00000a5e: SWAP2
00000a5f: SWAP1
00000a60: PUSH1 0x00
00000a62: MSTORE
00000a63: PUSH1 0x20
00000a65: PUSH1 0x00
00000a67: KECCAK256
00000a68: SWAP1
00000a69: JUMPDEST
00000a6a: DUP2
00000a6b: SLOAD
00000a6c: PUSH1 0x01
00000a6e: PUSH1 0x01
00000a70: PUSH1 0xa0
00000a72: SHL
00000a73: SUB
00000a74: AND
00000a75: DUP2
00000a76: MSTORE
00000a77: PUSH1 0x01
00000a79: SWAP1
00000a7a: SWAP2
00000a7b: ADD
00000a7c: SWAP1
00000a7d: PUSH1 0x20
00000a7f: ADD
00000a80: DUP1
00000a81: DUP4
00000a82: GT
00000a83: PUSH2 0x0a69
00000a86: JUMPI
00000a87: JUMPDEST
00000a88: POP
00000a89: POP
00000a8a: POP
00000a8b: POP
00000a8c: POP
00000a8d: SWAP2
00000a8e: POP
00000a8f: SWAP3
00000a90: POP
00000a91: SWAP3
00000a92: POP
00000a93: POP
00000a94: SWAP1
00000a95: SWAP2
00000a96: JUMP
00000a97: JUMPDEST
00000a98: PUSH2 0x0a9f
00000a9b: PUSH2 0x16e1
00000a9e: JUMP
00000a9f: JUMPDEST
00000aa0: PUSH1 0x02
00000aa2: PUSH1 0x97
00000aa4: SLOAD
00000aa5: PUSH1 0xff
00000aa7: AND
00000aa8: PUSH1 0x04
00000aaa: DUP2
00000aab: GT
00000aac: ISZERO
00000aad: PUSH2 0x0ab8
00000ab0: JUMPI
00000ab1: PUSH2 0x0ab8
00000ab4: PUSH2 0x1ac3
00000ab7: JUMP
00000ab8: JUMPDEST
00000ab9: LT
00000aba: ISZERO
00000abb: PUSH2 0x0aff
00000abe: JUMPI
00000abf: PUSH1 0x40
00000ac1: MLOAD
00000ac2: PUSH3 0x461bcd
00000ac6: PUSH1 0xe5
00000ac8: SHL
00000ac9: DUP2
00000aca: MSTORE
00000acb: PUSH1 0x20
00000acd: PUSH1 0x04
00000acf: DUP3
00000ad0: ADD
00000ad1: MSTORE
00000ad2: PUSH1 0x16
00000ad4: PUSH1 0x24
00000ad6: DUP3
00000ad7: ADD
00000ad8: MSTORE
00000ad9: PUSH22 0x41756374696f6e206e6f7420636f6e636c7564696e67
00000af0: PUSH1 0x50
00000af2: SHL
00000af3: PUSH1 0x44
00000af5: DUP3
00000af6: ADD
00000af7: MSTORE
00000af8: PUSH1 0x64
00000afa: ADD
00000afb: PUSH2 0x070d
00000afe: JUMP
00000aff: JUMPDEST
00000b00: PUSH1 0x00
00000b02: PUSH1 0x9d
00000b04: SLOAD
00000b05: GT
00000b06: PUSH2 0x0b4a
00000b09: JUMPI
00000b0a: PUSH1 0x40
00000b0c: MLOAD
00000b0d: PUSH3 0x461bcd
00000b11: PUSH1 0xe5
00000b13: SHL
00000b14: DUP2
00000b15: MSTORE
00000b16: PUSH1 0x20
00000b18: PUSH1 0x04
00000b1a: DUP3
00000b1b: ADD
00000b1c: MSTORE
00000b1d: PUSH1 0x16
00000b1f: PUSH1 0x24
00000b21: DUP3
00000b22: ADD
00000b23: MSTORE
00000b24: PUSH22 0x1ddbdb909a59191959125d195b5cc81b9bdd081cd95d
00000b3b: PUSH1 0x52
00000b3d: SHL
00000b3e: PUSH1 0x44
00000b40: DUP3
00000b41: ADD
00000b42: MSTORE
00000b43: PUSH1 0x64
00000b45: ADD
00000b46: PUSH2 0x070d
00000b49: JUMP
00000b4a: JUMPDEST
00000b4b: PUSH1 0x00
00000b4d: PUSH1 0x9c
00000b4f: SLOAD
00000b50: GT
00000b51: PUSH2 0x0b91
00000b54: JUMPI
00000b55: PUSH1 0x40
00000b57: MLOAD
00000b58: PUSH3 0x461bcd
00000b5c: PUSH1 0xe5
00000b5e: SHL
00000b5f: DUP2
00000b60: MSTORE
00000b61: PUSH1 0x20
00000b63: PUSH1 0x04
00000b65: DUP3
00000b66: ADD
00000b67: MSTORE
00000b68: PUSH1 0x12
00000b6a: PUSH1 0x24
00000b6c: DUP3
00000b6d: ADD
00000b6e: MSTORE
00000b6f: PUSH18 0x199a5b985b141c9a58d9481b9bdd081cd95d
00000b82: PUSH1 0x72
00000b84: SHL
00000b85: PUSH1 0x44
00000b87: DUP3
00000b88: ADD
00000b89: MSTORE
00000b8a: PUSH1 0x64
00000b8c: ADD
00000b8d: PUSH2 0x070d
00000b90: JUMP
00000b91: JUMPDEST
00000b92: PUSH1 0x00
00000b94: PUSH1 0x9c
00000b96: SLOAD
00000b97: PUSH1 0x9d
00000b99: SLOAD
00000b9a: PUSH2 0x0ba3
00000b9d: SWAP2
00000b9e: SWAP1
00000b9f: PUSH2 0x1d3e
00000ba2: JUMP
00000ba3: JUMPDEST
00000ba4: SWAP1
00000ba5: POP
00000ba6: PUSH1 0x00
00000ba8: PUSH1 0x9e
00000baa: SLOAD
00000bab: DUP3
00000bac: PUSH2 0x0bb5
00000baf: SWAP2
00000bb0: SWAP1
00000bb1: PUSH2 0x1d55
00000bb4: JUMP
00000bb5: JUMPDEST
00000bb6: PUSH1 0x9e
00000bb8: DUP2
00000bb9: SWAP1
00000bba: SSTORE
00000bbb: SWAP1
00000bbc: POP
00000bbd: DUP1
00000bbe: PUSH2 0x0c02
00000bc1: JUMPI
00000bc2: PUSH1 0x40
00000bc4: MLOAD
00000bc5: PUSH3 0x461bcd
00000bc9: PUSH1 0xe5
00000bcb: SHL
00000bcc: DUP2
00000bcd: MSTORE
00000bce: PUSH1 0x20
00000bd0: PUSH1 0x04
00000bd2: DUP3
00000bd3: ADD
00000bd4: MSTORE
00000bd5: PUSH1 0x16
00000bd7: PUSH1 0x24
00000bd9: DUP3
00000bda: ADD
00000bdb: MSTORE
00000bdc: PUSH22 0x4e6f2062616c616e636520746f207769746864726177
00000bf3: PUSH1 0x50
00000bf5: SHL
00000bf6: PUSH1 0x44
00000bf8: DUP3
00000bf9: ADD
00000bfa: MSTORE
00000bfb: PUSH1 0x64
00000bfd: ADD
00000bfe: PUSH2 0x070d
00000c01: JUMP
00000c02: JUMPDEST
00000c03: PUSH1 0x97
00000c05: SLOAD
00000c06: PUSH2 0x0c1d
00000c09: SWAP1
00000c0a: PUSH2 0x0100
00000c0d: SWAP1
00000c0e: DIV
00000c0f: PUSH1 0x01
00000c11: PUSH1 0x01
00000c13: PUSH1 0xa0
00000c15: SHL
00000c16: SUB
00000c17: AND
00000c18: DUP3
00000c19: PUSH2 0x173b
00000c1c: JUMP
00000c1d: JUMPDEST
00000c1e: POP
00000c1f: POP
00000c20: JUMP
00000c21: JUMPDEST
00000c22: PUSH1 0x00
00000c24: PUSH1 0x97
00000c26: SLOAD
00000c27: PUSH1 0xff
00000c29: AND
00000c2a: PUSH1 0x04
00000c2c: DUP2
00000c2d: GT
00000c2e: ISZERO
00000c2f: PUSH2 0x0c3a
00000c32: JUMPI
00000c33: PUSH2 0x0c3a
00000c36: PUSH2 0x1ac3
00000c39: JUMP
00000c3a: JUMPDEST
00000c3b: EQ
00000c3c: PUSH2 0x0c81
00000c3f: JUMPI
00000c40: PUSH1 0x40
00000c42: MLOAD
00000c43: PUSH3 0x461bcd
00000c47: PUSH1 0xe5
00000c49: SHL
00000c4a: DUP2
00000c4b: MSTORE
00000c4c: PUSH1 0x20
00000c4e: PUSH1 0x04
00000c50: DUP3
00000c51: ADD
00000c52: MSTORE
00000c53: PUSH1 0x17
00000c55: PUSH1 0x24
00000c57: DUP3
00000c58: ADD
00000c59: MSTORE
00000c5a: PUSH23 0x105d58dd1a5bdb88185b1c9958591e481cdd185c9d1959
00000c72: PUSH1 0x4a
00000c74: SHL
00000c75: PUSH1 0x44
00000c77: DUP3
00000c78: ADD
00000c79: MSTORE
00000c7a: PUSH1 0x64
00000c7c: ADD
00000c7d: PUSH2 0x070d
00000c80: JUMP
00000c81: JUMPDEST
00000c82: PUSH2 0x0c89
00000c85: PUSH2 0x16e1
00000c88: JUMP
00000c89: JUMPDEST
00000c8a: PUSH1 0x9a
00000c8c: SSTORE
00000c8d: JUMP
00000c8e: JUMPDEST
00000c8f: PUSH2 0x0c96
00000c92: PUSH2 0x16e1
00000c95: JUMP
00000c96: JUMPDEST
00000c97: PUSH1 0x01
00000c99: PUSH1 0x01
00000c9b: PUSH1 0xa0
00000c9d: SHL
00000c9e: SUB
00000c9f: DUP2
00000ca0: AND
00000ca1: PUSH2 0x0cde
00000ca4: JUMPI
00000ca5: PUSH1 0x40
00000ca7: MLOAD
00000ca8: PUSH3 0x461bcd
00000cac: PUSH1 0xe5
00000cae: SHL
00000caf: DUP2
00000cb0: MSTORE
00000cb1: PUSH1 0x20
00000cb3: PUSH1 0x04
00000cb5: DUP3
00000cb6: ADD
00000cb7: MSTORE
00000cb8: PUSH1 0x0f
00000cba: PUSH1 0x24
00000cbc: DUP3
00000cbd: ADD
00000cbe: MSTORE
00000cbf: PUSH15 0x496e76616c69642061646472657373
00000ccf: PUSH1 0x88
00000cd1: SHL
00000cd2: PUSH1 0x44
00000cd4: DUP3
00000cd5: ADD
00000cd6: MSTORE
00000cd7: PUSH1 0x64
00000cd9: ADD
00000cda: PUSH2 0x070d
00000cdd: JUMP
00000cde: JUMPDEST
00000cdf: PUSH1 0x97
00000ce1: DUP1
00000ce2: SLOAD
00000ce3: PUSH1 0x01
00000ce5: PUSH1 0x01
00000ce7: PUSH1 0xa0
00000ce9: SHL
00000cea: SUB
00000ceb: SWAP1
00000cec: SWAP3
00000ced: AND
00000cee: PUSH2 0x0100
00000cf1: MUL
00000cf2: PUSH2 0x0100
00000cf5: PUSH1 0x01
00000cf7: PUSH1 0xa8
00000cf9: SHL
00000cfa: SUB
00000cfb: NOT
00000cfc: SWAP1
00000cfd: SWAP3
00000cfe: AND
00000cff: SWAP2
00000d00: SWAP1
00000d01: SWAP2
00000d02: OR
00000d03: SWAP1
00000d04: SSTORE
00000d05: JUMP
00000d06: JUMPDEST
00000d07: PUSH2 0x0d0e
00000d0a: PUSH2 0x16e1
00000d0d: JUMP
00000d0e: JUMPDEST
00000d0f: PUSH2 0x0d18
00000d12: PUSH1 0x00
00000d14: PUSH2 0x17ce
00000d17: JUMP
00000d18: JUMPDEST
00000d19: JUMP
00000d1a: JUMPDEST
00000d1b: PUSH2 0x0d22
00000d1e: PUSH2 0x16e1
00000d21: JUMP
00000d22: JUMPDEST
00000d23: PUSH1 0x04
00000d25: PUSH1 0x97
00000d27: SLOAD
00000d28: PUSH1 0xff
00000d2a: AND
00000d2b: PUSH1 0x04
00000d2d: DUP2
00000d2e: GT
00000d2f: ISZERO
00000d30: PUSH2 0x0d3b
00000d33: JUMPI
00000d34: PUSH2 0x0d3b
00000d37: PUSH2 0x1ac3
00000d3a: JUMP
00000d3b: JUMPDEST
00000d3c: LT
00000d3d: ISZERO
00000d3e: PUSH2 0x0d89
00000d41: JUMPI
00000d42: PUSH1 0x40
00000d44: MLOAD
00000d45: PUSH3 0x461bcd
00000d49: PUSH1 0xe5
00000d4b: SHL
00000d4c: DUP2
00000d4d: MSTORE
00000d4e: PUSH1 0x20
00000d50: PUSH1 0x04
00000d52: DUP3
00000d53: ADD
00000d54: MSTORE
00000d55: PUSH1 0x18
00000d57: PUSH1 0x24
00000d59: DUP3
00000d5a: ADD
00000d5b: MSTORE
00000d5c: PUSH32 0x41756374696f6e20726566756e64206e6f7420656e6465640000000000000000
00000d7d: PUSH1 0x44
00000d7f: DUP3
00000d80: ADD
00000d81: MSTORE
00000d82: PUSH1 0x64
00000d84: ADD
00000d85: PUSH2 0x070d
00000d88: JUMP
00000d89: JUMPDEST
00000d8a: PUSH1 0x97
00000d8c: SLOAD
00000d8d: PUSH2 0x0d18
00000d90: SWAP1
00000d91: PUSH2 0x0100
00000d94: SWAP1
00000d95: DIV
00000d96: PUSH1 0x01
00000d98: PUSH1 0x01
00000d9a: PUSH1 0xa0
00000d9c: SHL
00000d9d: SUB
00000d9e: AND
00000d9f: SELFBALANCE
00000da0: PUSH2 0x173b
00000da3: JUMP
00000da4: JUMPDEST
00000da5: PUSH1 0x60
00000da7: PUSH2 0x0db5
00000daa: DUP3
00000dab: PUSH1 0x9f
00000dad: DUP1
00000dae: SLOAD
00000daf: SWAP1
00000db0: POP
00000db1: PUSH2 0x1820
00000db4: JUMP
00000db5: JUMPDEST
00000db6: SWAP2
00000db7: POP
00000db8: PUSH1 0x00
00000dba: PUSH2 0x0dc3
00000dbd: DUP5
00000dbe: DUP5
00000dbf: PUSH2 0x1d55
00000dc2: JUMP
00000dc3: JUMPDEST
00000dc4: PUSH8 0xffffffffffffffff
00000dcd: DUP2
00000dce: GT
00000dcf: ISZERO
00000dd0: PUSH2 0x0ddb
00000dd3: JUMPI
00000dd4: PUSH2 0x0ddb
00000dd7: PUSH2 0x1cf9
00000dda: JUMP
00000ddb: JUMPDEST
00000ddc: PUSH1 0x40
00000dde: MLOAD
00000ddf: SWAP1
00000de0: DUP1
00000de1: DUP3
00000de2: MSTORE
00000de3: DUP1
00000de4: PUSH1 0x20
00000de6: MUL
00000de7: PUSH1 0x20
00000de9: ADD
00000dea: DUP3
00000deb: ADD
00000dec: PUSH1 0x40
00000dee: MSTORE
00000def: DUP1
00000df0: ISZERO
00000df1: PUSH2 0x0e04
00000df4: JUMPI
00000df5: DUP2
00000df6: PUSH1 0x20
00000df8: ADD
00000df9: PUSH1 0x20
00000dfb: DUP3
00000dfc: MUL
00000dfd: DUP1
00000dfe: CALLDATASIZE
00000dff: DUP4
00000e00: CALLDATACOPY
00000e01: ADD
00000e02: SWAP1
00000e03: POP
00000e04: JUMPDEST
00000e05: POP
00000e06: SWAP1
00000e07: POP
00000e08: PUSH1 0x00
00000e0a: JUMPDEST
00000e0b: PUSH2 0x0e14
00000e0e: DUP6
00000e0f: DUP6
00000e10: PUSH2 0x1d55
00000e13: JUMP
00000e14: JUMPDEST
00000e15: DUP2
00000e16: LT
00000e17: ISZERO
00000e18: PUSH2 0x0e91
00000e1b: JUMPI
00000e1c: PUSH1 0x9f
00000e1e: PUSH2 0x0e27
00000e21: DUP7
00000e22: DUP4
00000e23: PUSH2 0x1ce6
00000e26: JUMP
00000e27: JUMPDEST
00000e28: DUP2
00000e29: SLOAD
00000e2a: DUP2
00000e2b: LT
00000e2c: PUSH2 0x0e37
00000e2f: JUMPI
00000e30: PUSH2 0x0e37
00000e33: PUSH2 0x1d0f
00000e36: JUMP
00000e37: JUMPDEST
00000e38: SWAP1
00000e39: PUSH1 0x00
00000e3b: MSTORE
00000e3c: PUSH1 0x20
00000e3e: PUSH1 0x00
00000e40: KECCAK256
00000e41: ADD
00000e42: PUSH1 0x00
00000e44: SWAP1
00000e45: SLOAD
00000e46: SWAP1
00000e47: PUSH2 0x0100
00000e4a: EXP
00000e4b: SWAP1
00000e4c: DIV
00000e4d: PUSH1 0x01
00000e4f: PUSH1 0x01
00000e51: PUSH1 0xa0
00000e53: SHL
00000e54: SUB
00000e55: AND
00000e56: DUP3
00000e57: DUP3
00000e58: DUP2
00000e59: MLOAD
00000e5a: DUP2
00000e5b: LT
00000e5c: PUSH2 0x0e67
00000e5f: JUMPI
00000e60: PUSH2 0x0e67
00000e63: PUSH2 0x1d0f
00000e66: JUMP
00000e67: JUMPDEST
00000e68: PUSH1 0x01
00000e6a: PUSH1 0x01
00000e6c: PUSH1 0xa0
00000e6e: SHL
00000e6f: SUB
00000e70: SWAP1
00000e71: SWAP3
00000e72: AND
00000e73: PUSH1 0x20
00000e75: SWAP3
00000e76: DUP4
00000e77: MUL
00000e78: SWAP2
00000e79: SWAP1
00000e7a: SWAP2
00000e7b: ADD
00000e7c: SWAP1
00000e7d: SWAP2
00000e7e: ADD
00000e7f: MSTORE
00000e80: DUP1
00000e81: PUSH2 0x0e89
00000e84: DUP2
00000e85: PUSH2 0x1d25
00000e88: JUMP
00000e89: JUMPDEST
00000e8a: SWAP2
00000e8b: POP
00000e8c: POP
00000e8d: PUSH2 0x0e0a
00000e90: JUMP
00000e91: JUMPDEST
00000e92: POP
00000e93: SWAP1
00000e94: POP
00000e95: JUMPDEST
00000e96: SWAP3
00000e97: SWAP2
00000e98: POP
00000e99: POP
00000e9a: JUMP
00000e9b: JUMPDEST
00000e9c: PUSH2 0x0ea3
00000e9f: PUSH2 0x16e1
00000ea2: JUMP
00000ea3: JUMPDEST
00000ea4: DUP1
00000ea5: PUSH1 0xff
00000ea7: AND
00000ea8: PUSH1 0x04
00000eaa: DUP2
00000eab: GT
00000eac: ISZERO
00000ead: PUSH2 0x0eb8
00000eb0: JUMPI
00000eb1: PUSH2 0x0eb8
00000eb4: PUSH2 0x1ac3
00000eb7: JUMP
00000eb8: JUMPDEST
00000eb9: PUSH1 0x97
00000ebb: DUP1
00000ebc: SLOAD
00000ebd: PUSH1 0xff
00000ebf: NOT
00000ec0: AND
00000ec1: PUSH1 0x01
00000ec3: DUP4
00000ec4: PUSH1 0x04
00000ec6: DUP2
00000ec7: GT
00000ec8: ISZERO
00000ec9: PUSH2 0x0ed4
00000ecc: JUMPI
00000ecd: PUSH2 0x0ed4
00000ed0: PUSH2 0x1ac3
00000ed3: JUMP
00000ed4: JUMPDEST
00000ed5: MUL
00000ed6: OR
00000ed7: SWAP1
00000ed8: SSTORE
00000ed9: POP
00000eda: POP
00000edb: JUMP
00000edc: JUMPDEST
00000edd: PUSH1 0x00
00000edf: PUSH1 0x97
00000ee1: SLOAD
00000ee2: PUSH1 0xff
00000ee4: AND
00000ee5: PUSH1 0x04
00000ee7: DUP2
00000ee8: GT
00000ee9: ISZERO
00000eea: PUSH2 0x0ef5
00000eed: JUMPI
00000eee: PUSH2 0x0ef5
00000ef1: PUSH2 0x1ac3
00000ef4: JUMP
00000ef5: JUMPDEST
00000ef6: EQ
00000ef7: PUSH2 0x0f3c
00000efa: JUMPI
00000efb: PUSH1 0x40
00000efd: MLOAD
00000efe: PUSH3 0x461bcd
00000f02: PUSH1 0xe5
00000f04: SHL
00000f05: DUP2
00000f06: MSTORE
00000f07: PUSH1 0x20
00000f09: PUSH1 0x04
00000f0b: DUP3
00000f0c: ADD
00000f0d: MSTORE
00000f0e: PUSH1 0x17
00000f10: PUSH1 0x24
00000f12: DUP3
00000f13: ADD
00000f14: MSTORE
00000f15: PUSH23 0x105d58dd1a5bdb88185b1c9958591e481cdd185c9d1959
00000f2d: PUSH1 0x4a
00000f2f: SHL
00000f30: PUSH1 0x44
00000f32: DUP3
00000f33: ADD
00000f34: MSTORE
00000f35: PUSH1 0x64
00000f37: ADD
00000f38: PUSH2 0x070d
00000f3b: JUMP
00000f3c: JUMPDEST
00000f3d: PUSH2 0x0f44
00000f40: PUSH2 0x16e1
00000f43: JUMP
00000f44: JUMPDEST
00000f45: PUSH1 0x9b
00000f47: SSTORE
00000f48: JUMP
00000f49: JUMPDEST
00000f4a: PUSH2 0x0f51
00000f4d: PUSH2 0x16e1
00000f50: JUMP
00000f51: JUMPDEST
00000f52: PUSH1 0xff
00000f54: AND
00000f55: PUSH1 0x99
00000f57: SSTORE
00000f58: JUMP
00000f59: JUMPDEST
00000f5a: PUSH1 0x60
00000f5c: PUSH1 0x9f
00000f5e: DUP1
00000f5f: SLOAD
00000f60: DUP1
00000f61: PUSH1 0x20
00000f63: MUL
00000f64: PUSH1 0x20
00000f66: ADD
00000f67: PUSH1 0x40
00000f69: MLOAD
00000f6a: SWAP1
00000f6b: DUP2
00000f6c: ADD
00000f6d: PUSH1 0x40
00000f6f: MSTORE
00000f70: DUP1
00000f71: SWAP3
00000f72: SWAP2
00000f73: SWAP1
00000f74: DUP2
00000f75: DUP2
00000f76: MSTORE
00000f77: PUSH1 0x20
00000f79: ADD
00000f7a: DUP3
00000f7b: DUP1
00000f7c: SLOAD
00000f7d: DUP1
00000f7e: ISZERO
00000f7f: PUSH2 0x0fb1
00000f82: JUMPI
00000f83: PUSH1 0x20
00000f85: MUL
00000f86: DUP3
00000f87: ADD
00000f88: SWAP2
00000f89: SWAP1
00000f8a: PUSH1 0x00
00000f8c: MSTORE
00000f8d: PUSH1 0x20
00000f8f: PUSH1 0x00
00000f91: KECCAK256
00000f92: SWAP1
00000f93: JUMPDEST
00000f94: DUP2
00000f95: SLOAD
00000f96: PUSH1 0x01
00000f98: PUSH1 0x01
00000f9a: PUSH1 0xa0
00000f9c: SHL
00000f9d: SUB
00000f9e: AND
00000f9f: DUP2
00000fa0: MSTORE
00000fa1: PUSH1 0x01
00000fa3: SWAP1
00000fa4: SWAP2
00000fa5: ADD
00000fa6: SWAP1
00000fa7: PUSH1 0x20
00000fa9: ADD
00000faa: DUP1
00000fab: DUP4
00000fac: GT
00000fad: PUSH2 0x0f93
00000fb0: JUMPI
00000fb1: JUMPDEST
00000fb2: POP
00000fb3: POP
00000fb4: POP
00000fb5: POP
00000fb6: POP
00000fb7: SWAP1
00000fb8: POP
00000fb9: SWAP1
00000fba: JUMP
00000fbb: JUMPDEST
00000fbc: PUSH1 0x9f
00000fbe: SLOAD
00000fbf: PUSH1 0x60
00000fc1: SWAP1
00000fc2: PUSH1 0x00
00000fc4: SWAP1
00000fc5: PUSH8 0xffffffffffffffff
00000fce: DUP2
00000fcf: GT
00000fd0: ISZERO
00000fd1: PUSH2 0x0fdc
00000fd4: JUMPI
00000fd5: PUSH2 0x0fdc
00000fd8: PUSH2 0x1cf9
00000fdb: JUMP
00000fdc: JUMPDEST
00000fdd: PUSH1 0x40
00000fdf: MLOAD
00000fe0: SWAP1
00000fe1: DUP1
00000fe2: DUP3
00000fe3: MSTORE
00000fe4: DUP1
00000fe5: PUSH1 0x20
00000fe7: MUL
00000fe8: PUSH1 0x20
00000fea: ADD
00000feb: DUP3
00000fec: ADD
00000fed: PUSH1 0x40
00000fef: MSTORE
00000ff0: DUP1
00000ff1: ISZERO
00000ff2: PUSH2 0x1035
00000ff5: JUMPI
00000ff6: DUP2
00000ff7: PUSH1 0x20
00000ff9: ADD
00000ffa: JUMPDEST
00000ffb: PUSH1 0x40
00000ffd: DUP1
00000ffe: MLOAD
00000fff: PUSH1 0xa0
00001001: DUP2
00001002: ADD
00001003: DUP3
00001004: MSTORE
00001005: PUSH1 0x00
00001007: DUP1
00001008: DUP3
00001009: MSTORE
0000100a: PUSH1 0x20
0000100c: DUP1
0000100d: DUP4
0000100e: ADD
0000100f: DUP3
00001010: SWAP1
00001011: MSTORE
00001012: SWAP3
00001013: DUP3
00001014: ADD
00001015: DUP2
00001016: SWAP1
00001017: MSTORE
00001018: PUSH1 0x60
0000101a: DUP3
0000101b: ADD
0000101c: DUP2
0000101d: SWAP1
0000101e: MSTORE
0000101f: PUSH1 0x80
00001021: DUP3
00001022: ADD
00001023: MSTORE
00001024: DUP3
00001025: MSTORE
00001026: PUSH1 0x00
00001028: NOT
00001029: SWAP1
0000102a: SWAP3
0000102b: ADD
0000102c: SWAP2
0000102d: ADD
0000102e: DUP2
0000102f: PUSH2 0x0ffa
00001032: JUMPI
00001033: SWAP1
00001034: POP
00001035: JUMPDEST
00001036: POP
00001037: SWAP1
00001038: POP
00001039: PUSH1 0x00
0000103b: JUMPDEST
0000103c: PUSH1 0x9f
0000103e: SLOAD
0000103f: DUP2
00001040: LT
00001041: ISZERO
00001042: PUSH2 0x1105
00001045: JUMPI
00001046: PUSH1 0xa0
00001048: PUSH1 0x00
0000104a: PUSH1 0x9f
0000104c: DUP4
0000104d: DUP2
0000104e: SLOAD
0000104f: DUP2
00001050: LT
00001051: PUSH2 0x105c
00001054: JUMPI
00001055: PUSH2 0x105c
00001058: PUSH2 0x1d0f
0000105b: JUMP
0000105c: JUMPDEST
0000105d: PUSH1 0x00
0000105f: SWAP2
00001060: DUP3
00001061: MSTORE
00001062: PUSH1 0x20
00001064: DUP1
00001065: DUP4
00001066: KECCAK256
00001067: SWAP1
00001068: SWAP2
00001069: ADD
0000106a: SLOAD
0000106b: PUSH1 0x01
0000106d: PUSH1 0x01
0000106f: PUSH1 0xa0
00001071: SHL
00001072: SUB
00001073: SWAP1
00001074: DUP2
00001075: AND
00001076: DUP5
00001077: MSTORE
00001078: DUP4
00001079: DUP3
0000107a: ADD
0000107b: SWAP5
0000107c: SWAP1
0000107d: SWAP5
0000107e: MSTORE
0000107f: PUSH1 0x40
00001081: SWAP3
00001082: DUP4
00001083: ADD
00001084: SWAP1
00001085: SWAP2
00001086: KECCAK256
00001087: DUP3
00001088: MLOAD
00001089: PUSH1 0xa0
0000108b: DUP2
0000108c: ADD
0000108d: DUP5
0000108e: MSTORE
0000108f: DUP2
00001090: SLOAD
00001091: PUSH1 0xff
00001093: DUP2
00001094: AND
00001095: ISZERO
00001096: ISZERO
00001097: DUP3
00001098: MSTORE
00001099: PUSH2 0x0100
0000109c: SWAP1
0000109d: DIV
0000109e: SWAP1
0000109f: SWAP5
000010a0: AND
000010a1: SWAP2
000010a2: DUP5
000010a3: ADD
000010a4: SWAP2
000010a5: SWAP1
000010a6: SWAP2
000010a7: MSTORE
000010a8: PUSH1 0x01
000010aa: DUP2
000010ab: ADD
000010ac: SLOAD
000010ad: SWAP2
000010ae: DUP4
000010af: ADD
000010b0: SWAP2
000010b1: SWAP1
000010b2: SWAP2
000010b3: MSTORE
000010b4: PUSH1 0x02
000010b6: ADD
000010b7: SLOAD
000010b8: PUSH4 0xffffffff
000010bd: DUP1
000010be: DUP3
000010bf: AND
000010c0: PUSH1 0x60
000010c2: DUP5
000010c3: ADD
000010c4: MSTORE
000010c5: PUSH5 0x0100000000
000010cb: SWAP1
000010cc: SWAP2
000010cd: DIV
000010ce: AND
000010cf: PUSH1 0x80
000010d1: DUP3
000010d2: ADD
000010d3: MSTORE
000010d4: DUP3
000010d5: MLOAD
000010d6: DUP4
000010d7: SWAP1
000010d8: DUP4
000010d9: SWAP1
000010da: DUP2
000010db: LT
000010dc: PUSH2 0x10e7
000010df: JUMPI
000010e0: PUSH2 0x10e7
000010e3: PUSH2 0x1d0f
000010e6: JUMP
000010e7: JUMPDEST
000010e8: PUSH1 0x20
000010ea: MUL
000010eb: PUSH1 0x20
000010ed: ADD
000010ee: ADD
000010ef: DUP2
000010f0: SWAP1
000010f1: MSTORE
000010f2: POP
000010f3: DUP1
000010f4: DUP1
000010f5: PUSH2 0x10fd
000010f8: SWAP1
000010f9: PUSH2 0x1d25
000010fc: JUMP
000010fd: JUMPDEST
000010fe: SWAP2
000010ff: POP
00001100: POP
00001101: PUSH2 0x103b
00001104: JUMP
00001105: JUMPDEST
00001106: POP
00001107: SWAP2
00001108: SWAP1
00001109: POP
0000110a: JUMP
0000110b: JUMPDEST
0000110c: PUSH2 0x1113
0000110f: PUSH2 0x1838
00001112: JUMP
00001113: JUMPDEST
00001114: CALLER
00001115: PUSH1 0x00
00001117: SWAP1
00001118: DUP2
00001119: MSTORE
0000111a: PUSH1 0xa0
0000111c: PUSH1 0x20
0000111e: MSTORE
0000111f: PUSH1 0x40
00001121: SWAP1
00001122: KECCAK256
00001123: PUSH1 0x01
00001125: ADD
00001126: SLOAD
00001127: PUSH1 0x03
00001129: PUSH1 0x97
0000112b: SLOAD
0000112c: PUSH1 0xff
0000112e: AND
0000112f: PUSH1 0x04
00001131: DUP2
00001132: GT
00001133: ISZERO
00001134: PUSH2 0x113f
00001137: JUMPI
00001138: PUSH2 0x113f
0000113b: PUSH2 0x1ac3
0000113e: JUMP
0000113f: JUMPDEST
00001140: EQ
00001141: PUSH2 0x1185
00001144: JUMPI
00001145: PUSH1 0x40
00001147: MLOAD
00001148: PUSH3 0x461bcd
0000114c: PUSH1 0xe5
0000114e: SHL
0000114f: DUP2
00001150: MSTORE
00001151: PUSH1 0x20
00001153: PUSH1 0x04
00001155: DUP3
00001156: ADD
00001157: MSTORE
00001158: PUSH1 0x16
0000115a: PUSH1 0x24
0000115c: DUP3
0000115d: ADD
0000115e: MSTORE
0000115f: PUSH22 0x1499599d5b99081b9bdd081cdd185c9d1959081e595d
00001176: PUSH1 0x52
00001178: SHL
00001179: PUSH1 0x44
0000117b: DUP3
0000117c: ADD
0000117d: MSTORE
0000117e: PUSH1 0x64
00001180: ADD
00001181: PUSH2 0x070d
00001184: JUMP
00001185: JUMPDEST
00001186: PUSH1 0x00
00001188: PUSH1 0x9c
0000118a: SLOAD
0000118b: GT
0000118c: PUSH2 0x11cd
0000118f: JUMPI
00001190: PUSH1 0x40
00001192: MLOAD
00001193: PUSH3 0x461bcd
00001197: PUSH1 0xe5
00001199: SHL
0000119a: DUP2
0000119b: MSTORE
0000119c: PUSH1 0x20
0000119e: PUSH1 0x04
000011a0: DUP3
000011a1: ADD
000011a2: MSTORE
000011a3: PUSH1 0x13
000011a5: PUSH1 0x24
000011a7: DUP3
000011a8: ADD
000011a9: MSTORE
000011aa: PUSH19 0x119a5b985b081c1c9a58d9481b9bdd081cd95d
000011be: PUSH1 0x6a
000011c0: SHL
000011c1: PUSH1 0x44
000011c3: DUP3
000011c4: ADD
000011c5: MSTORE
000011c6: PUSH1 0x64
000011c8: ADD
000011c9: PUSH2 0x070d
000011cc: JUMP
000011cd: JUMPDEST
000011ce: PUSH2 0x11d9
000011d1: CALLER
000011d2: DUP6
000011d3: DUP6
000011d4: DUP6
000011d5: PUSH2 0x15ca
000011d8: JUMP
000011d9: JUMPDEST
000011da: PUSH2 0x1215
000011dd: JUMPI
000011de: PUSH1 0x40
000011e0: MLOAD
000011e1: PUSH3 0x461bcd
000011e5: PUSH1 0xe5
000011e7: SHL
000011e8: DUP2
000011e9: MSTORE
000011ea: PUSH1 0x20
000011ec: PUSH1 0x04
000011ee: DUP3
000011ef: ADD
000011f0: MSTORE
000011f1: PUSH1 0x0d
000011f3: PUSH1 0x24
000011f5: DUP3
000011f6: ADD
000011f7: MSTORE
000011f8: PUSH13 0x24b73b30b634b210383937b7b3
00001206: PUSH1 0x99
00001208: SHL
00001209: PUSH1 0x44
0000120b: DUP3
0000120c: ADD
0000120d: MSTORE
0000120e: PUSH1 0x64
00001210: ADD
00001211: PUSH2 0x070d
00001214: JUMP
00001215: JUMPDEST
00001216: PUSH1 0x00
00001218: DUP2
00001219: GT
0000121a: PUSH2 0x1255
0000121d: JUMPI
0000121e: PUSH1 0x40
00001220: MLOAD
00001221: PUSH3 0x461bcd
00001225: PUSH1 0xe5
00001227: SHL
00001228: DUP2
00001229: MSTORE
0000122a: PUSH1 0x20
0000122c: PUSH1 0x04
0000122e: DUP3
0000122f: ADD
00001230: MSTORE
00001231: PUSH1 0x0d
00001233: PUSH1 0x24
00001235: DUP3
00001236: ADD
00001237: MSTORE
00001238: PUSH13 0x139bc8189a59081c9958dbdc99
00001246: PUSH1 0x9a
00001248: SHL
00001249: PUSH1 0x44
0000124b: DUP3
0000124c: ADD
0000124d: MSTORE
0000124e: PUSH1 0x64
00001250: ADD
00001251: PUSH2 0x070d
00001254: JUMP
00001255: JUMPDEST
00001256: CALLER
00001257: PUSH1 0x00
00001259: SWAP1
0000125a: DUP2
0000125b: MSTORE
0000125c: PUSH1 0xa1
0000125e: PUSH1 0x20
00001260: MSTORE
00001261: PUSH1 0x40
00001263: SWAP1
00001264: KECCAK256
00001265: SLOAD
00001266: PUSH1 0xff
00001268: AND
00001269: ISZERO
0000126a: PUSH2 0x12a8
0000126d: JUMPI
0000126e: PUSH1 0x40
00001270: MLOAD
00001271: PUSH3 0x461bcd
00001275: PUSH1 0xe5
00001277: SHL
00001278: DUP2
00001279: MSTORE
0000127a: PUSH1 0x20
0000127c: PUSH1 0x04
0000127e: DUP3
0000127f: ADD
00001280: MSTORE
00001281: PUSH1 0x10
00001283: PUSH1 0x24
00001285: DUP3
00001286: ADD
00001287: MSTORE
00001288: PUSH16 0x105b1c9958591e481c99599d5b991959
00001299: PUSH1 0x82
0000129b: SHL
0000129c: PUSH1 0x44
0000129e: DUP3
0000129f: ADD
000012a0: MSTORE
000012a1: PUSH1 0x64
000012a3: ADD
000012a4: PUSH2 0x070d
000012a7: JUMP
000012a8: JUMPDEST
000012a9: PUSH1 0x00
000012ab: DUP3
000012ac: PUSH1 0x9c
000012ae: SLOAD
000012af: PUSH2 0x12b8
000012b2: SWAP2
000012b3: SWAP1
000012b4: PUSH2 0x1d3e
000012b7: JUMP
000012b8: JUMPDEST
000012b9: PUSH2 0x12c2
000012bc: SWAP1
000012bd: DUP4
000012be: PUSH2 0x1d55
000012c1: JUMP
000012c2: JUMPDEST
000012c3: SWAP1
000012c4: POP
000012c5: DUP2
000012c6: DUP2
000012c7: GT
000012c8: ISZERO
000012c9: PUSH2 0x1300
000012cc: JUMPI
000012cd: PUSH1 0x40
000012cf: MLOAD
000012d0: PUSH3 0x461bcd
000012d4: PUSH1 0xe5
000012d6: SHL
000012d7: DUP2
000012d8: MSTORE
000012d9: PUSH1 0x20
000012db: PUSH1 0x04
000012dd: DUP3
000012de: ADD
000012df: MSTORE
000012e0: PUSH1 0x09
000012e2: PUSH1 0x24
000012e4: DUP3
000012e5: ADD
000012e6: MSTORE
000012e7: PUSH9 0x756e646572666c6f77
000012f1: PUSH1 0xb8
000012f3: SHL
000012f4: PUSH1 0x44
000012f6: DUP3
000012f7: ADD
000012f8: MSTORE
000012f9: PUSH1 0x64
000012fb: ADD
000012fc: PUSH2 0x070d
000012ff: JUMP
00001300: JUMPDEST
00001301: PUSH1 0x00
00001303: DUP2
00001304: GT
00001305: PUSH2 0x1343
00001308: JUMPI
00001309: PUSH1 0x40
0000130b: MLOAD
0000130c: PUSH3 0x461bcd
00001310: PUSH1 0xe5
00001312: SHL
00001313: DUP2
00001314: MSTORE
00001315: PUSH1 0x20
00001317: PUSH1 0x04
00001319: DUP3
0000131a: ADD
0000131b: MSTORE
0000131c: PUSH1 0x10
0000131e: PUSH1 0x24
00001320: DUP3
00001321: ADD
00001322: MSTORE
00001323: PUSH16 0x139bc81c99599d5b99081b9959591959
00001334: PUSH1 0x82
00001336: SHL
00001337: PUSH1 0x44
00001339: DUP3
0000133a: ADD
0000133b: MSTORE
0000133c: PUSH1 0x64
0000133e: ADD
0000133f: PUSH2 0x070d
00001342: JUMP
00001343: JUMPDEST
00001344: CALLER
00001345: PUSH1 0x00
00001347: DUP2
00001348: DUP2
00001349: MSTORE
0000134a: PUSH1 0xa1
0000134c: PUSH1 0x20
0000134e: MSTORE
0000134f: PUSH1 0x40
00001351: SWAP1
00001352: DUP2
00001353: SWAP1
00001354: KECCAK256
00001355: DUP1
00001356: SLOAD
00001357: PUSH1 0xff
00001359: NOT
0000135a: AND
0000135b: PUSH1 0x01
0000135d: OR
0000135e: SWAP1
0000135f: SSTORE
00001360: MLOAD
00001361: DUP5
00001362: SWAP2
00001363: SWAP1
00001364: PUSH32 0x662bc2a64340bca927d72cb5c5ec2285714bb7a1b8927bb9c601287f4a479362
00001385: SWAP1
00001386: PUSH2 0x1392
00001389: SWAP1
0000138a: DUP6
0000138b: DUP2
0000138c: MSTORE
0000138d: PUSH1 0x20
0000138f: ADD
00001390: SWAP1
00001391: JUMP
00001392: JUMPDEST
00001393: PUSH1 0x40
00001395: MLOAD
00001396: DUP1
00001397: SWAP2
00001398: SUB
00001399: SWAP1
0000139a: LOG3
0000139b: PUSH2 0x13a4
0000139e: CALLER
0000139f: DUP3
000013a0: PUSH2 0x173b
000013a3: JUMP
000013a4: JUMPDEST
000013a5: POP
000013a6: POP
000013a7: PUSH2 0x13af
000013aa: PUSH1 0x01
000013ac: DUP1
000013ad: SSTORE
000013ae: JUMP
000013af: JUMPDEST
000013b0: POP
000013b1: POP
000013b2: POP
000013b3: JUMP
000013b4: JUMPDEST
000013b5: PUSH2 0x13bc
000013b8: PUSH2 0x16e1
000013bb: JUMP
000013bc: JUMPDEST
000013bd: PUSH1 0x9a
000013bf: SLOAD
000013c0: DUP2
000013c1: LT
000013c2: ISZERO
000013c3: PUSH2 0x13fe
000013c6: JUMPI
000013c7: PUSH1 0x40
000013c9: MLOAD
000013ca: PUSH3 0x461bcd
000013ce: PUSH1 0xe5
000013d0: SHL
000013d1: DUP2
000013d2: MSTORE
000013d3: PUSH1 0x20
000013d5: PUSH1 0x04
000013d7: DUP3
000013d8: ADD
000013d9: MSTORE
000013da: PUSH1 0x0d
000013dc: PUSH1 0x24
000013de: DUP3
000013df: ADD
000013e0: MSTORE
000013e1: PUSH13 0x507269636520746f6f206c6f77
000013ef: PUSH1 0x98
000013f1: SHL
000013f2: PUSH1 0x44
000013f4: DUP3
000013f5: ADD
000013f6: MSTORE
000013f7: PUSH1 0x64
000013f9: ADD
000013fa: PUSH2 0x070d
000013fd: JUMP
000013fe: JUMPDEST
000013ff: PUSH1 0x9c
00001401: SSTORE
00001402: JUMP
00001403: JUMPDEST
00001404: PUSH1 0x00
00001406: SLOAD
00001407: PUSH2 0x0100
0000140a: SWAP1
0000140b: DIV
0000140c: PUSH1 0xff
0000140e: AND
0000140f: ISZERO
00001410: DUP1
00001411: DUP1
00001412: ISZERO
00001413: PUSH2 0x1423
00001416: JUMPI
00001417: POP
00001418: PUSH1 0x00
0000141a: SLOAD
0000141b: PUSH1 0x01
0000141d: PUSH1 0xff
0000141f: SWAP1
00001420: SWAP2
00001421: AND
00001422: LT
00001423: JUMPDEST
00001424: DUP1
00001425: PUSH2 0x143d
00001428: JUMPI
00001429: POP
0000142a: ADDRESS
0000142b: EXTCODESIZE
0000142c: ISZERO
0000142d: DUP1
0000142e: ISZERO
0000142f: PUSH2 0x143d
00001432: JUMPI
00001433: POP
00001434: PUSH1 0x00
00001436: SLOAD
00001437: PUSH1 0xff
00001439: AND
0000143a: PUSH1 0x01
0000143c: EQ
0000143d: JUMPDEST
0000143e: PUSH2 0x14a0
00001441: JUMPI
00001442: PUSH1 0x40
00001444: MLOAD
00001445: PUSH3 0x461bcd
00001449: PUSH1 0xe5
0000144b: SHL
0000144c: DUP2
0000144d: MSTORE
0000144e: PUSH1 0x20
00001450: PUSH1 0x04
00001452: DUP3
00001453: ADD
00001454: MSTORE
00001455: PUSH1 0x2e
00001457: PUSH1 0x24
00001459: DUP3
0000145a: ADD
0000145b: MSTORE
0000145c: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
0000147d: PUSH1 0x44
0000147f: DUP3
00001480: ADD
00001481: MSTORE
00001482: PUSH14 0x191e481a5b9a5d1a585b1a5e9959
00001491: PUSH1 0x92
00001493: SHL
00001494: PUSH1 0x64
00001496: DUP3
00001497: ADD
00001498: MSTORE
00001499: PUSH1 0x84
0000149b: ADD
0000149c: PUSH2 0x070d
0000149f: JUMP
000014a0: JUMPDEST
000014a1: PUSH1 0x00
000014a3: DUP1
000014a4: SLOAD
000014a5: PUSH1 0xff
000014a7: NOT
000014a8: AND
000014a9: PUSH1 0x01
000014ab: OR
000014ac: SWAP1
000014ad: SSTORE
000014ae: DUP1
000014af: ISZERO
000014b0: PUSH2 0x14c3
000014b3: JUMPI
000014b4: PUSH1 0x00
000014b6: DUP1
000014b7: SLOAD
000014b8: PUSH2 0xff00
000014bb: NOT
000014bc: AND
000014bd: PUSH2 0x0100
000014c0: OR
000014c1: SWAP1
000014c2: SSTORE
000014c3: JUMPDEST
000014c4: PUSH2 0x14cb
000014c7: PUSH2 0x1897
000014ca: JUMP
000014cb: JUMPDEST
000014cc: PUSH2 0x14d3
000014cf: PUSH2 0x18c6
000014d2: JUMP
000014d3: JUMPDEST
000014d4: PUSH2 0x14dc
000014d7: DUP3
000014d8: PUSH2 0x0c8e
000014db: JUMP
000014dc: JUMPDEST
000014dd: PUSH2 0x07d0
000014e0: PUSH1 0x99
000014e2: DUP2
000014e3: SWAP1
000014e4: SSTORE
000014e5: PUSH7 0xb1a2bc2ec50000
000014ed: PUSH1 0x9a
000014ef: SSTORE
000014f0: PUSH1 0x9b
000014f2: SSTORE
000014f3: DUP1
000014f4: ISZERO
000014f5: PUSH2 0x0c1d
000014f8: JUMPI
000014f9: PUSH1 0x00
000014fb: DUP1
000014fc: SLOAD
000014fd: PUSH2 0xff00
00001500: NOT
00001501: AND
00001502: SWAP1
00001503: SSTORE
00001504: PUSH1 0x40
00001506: MLOAD
00001507: PUSH1 0x01
00001509: DUP2
0000150a: MSTORE
0000150b: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498
0000152c: SWAP1
0000152d: PUSH1 0x20
0000152f: ADD
00001530: PUSH1 0x40
00001532: MLOAD
00001533: DUP1
00001534: SWAP2
00001535: SUB
00001536: SWAP1
00001537: LOG1
00001538: POP
00001539: POP
0000153a: JUMP
0000153b: JUMPDEST
0000153c: PUSH1 0x00
0000153e: PUSH2 0x1545
00001541: PUSH2 0x16e1
00001544: JUMP
00001545: JUMPDEST
00001546: POP
00001547: PUSH1 0x98
00001549: SLOAD
0000154a: SWAP1
0000154b: JUMP
0000154c: JUMPDEST
0000154d: PUSH1 0x9f
0000154f: DUP2
00001550: DUP2
00001551: SLOAD
00001552: DUP2
00001553: LT
00001554: PUSH2 0x155c
00001557: JUMPI
00001558: PUSH1 0x00
0000155a: DUP1
0000155b: REVERT
0000155c: JUMPDEST
0000155d: PUSH1 0x00
0000155f: SWAP2
00001560: DUP3
00001561: MSTORE
00001562: PUSH1 0x20
00001564: SWAP1
00001565: SWAP2
00001566: KECCAK256
00001567: ADD
00001568: SLOAD
00001569: PUSH1 0x01
0000156b: PUSH1 0x01
0000156d: PUSH1 0xa0
0000156f: SHL
00001570: SUB
00001571: AND
00001572: SWAP1
00001573: POP
00001574: DUP2
00001575: JUMP
00001576: JUMPDEST
00001577: PUSH2 0x157e
0000157a: PUSH2 0x16e1
0000157d: JUMP
0000157e: JUMPDEST
0000157f: PUSH1 0x9b
00001581: SLOAD
00001582: DUP2
00001583: GT
00001584: ISZERO
00001585: PUSH2 0x15c5
00001588: JUMPI
00001589: PUSH1 0x40
0000158b: MLOAD
0000158c: PUSH3 0x461bcd
00001590: PUSH1 0xe5
00001592: SHL
00001593: DUP2
00001594: MSTORE
00001595: PUSH1 0x20
00001597: PUSH1 0x04
00001599: DUP3
0000159a: ADD
0000159b: MSTORE
0000159c: PUSH1 0x12
0000159e: PUSH1 0x24
000015a0: DUP3
000015a1: ADD
000015a2: MSTORE
000015a3: PUSH18 0x546f6f206d616e7920776f6e206974656d73
000015b6: PUSH1 0x70
000015b8: SHL
000015b9: PUSH1 0x44
000015bb: DUP3
000015bc: ADD
000015bd: MSTORE
000015be: PUSH1 0x64
000015c0: ADD
000015c1: PUSH2 0x070d
000015c4: JUMP
000015c5: JUMPDEST
000015c6: PUSH1 0x9d
000015c8: SSTORE
000015c9: JUMP
000015ca: JUMPDEST
000015cb: PUSH1 0x40
000015cd: DUP1
000015ce: MLOAD
000015cf: PUSH1 0x01
000015d1: PUSH1 0x01
000015d3: PUSH1 0xa0
000015d5: SHL
000015d6: SUB
000015d7: DUP7
000015d8: AND
000015d9: PUSH1 0x20
000015db: DUP3
000015dc: ADD
000015dd: MSTORE
000015de: SWAP1
000015df: DUP2
000015e0: ADD
000015e1: DUP3
000015e2: SWAP1
000015e3: MSTORE
000015e4: PUSH1 0x00
000015e6: SWAP1
000015e7: DUP2
000015e8: SWAP1
000015e9: PUSH1 0x60
000015eb: ADD
000015ec: PUSH1 0x40
000015ee: DUP1
000015ef: MLOAD
000015f0: PUSH1 0x1f
000015f2: NOT
000015f3: DUP2
000015f4: DUP5
000015f5: SUB
000015f6: ADD
000015f7: DUP2
000015f8: MSTORE
000015f9: DUP3
000015fa: DUP3
000015fb: MSTORE
000015fc: DUP1
000015fd: MLOAD
000015fe: PUSH1 0x20
00001600: SWAP2
00001601: DUP3
00001602: ADD
00001603: KECCAK256
00001604: SWAP1
00001605: DUP4
00001606: ADD
00001607: MSTORE
00001608: ADD
00001609: PUSH1 0x40
0000160b: MLOAD
0000160c: PUSH1 0x20
0000160e: DUP2
0000160f: DUP4
00001610: SUB
00001611: SUB
00001612: DUP2
00001613: MSTORE
00001614: SWAP1
00001615: PUSH1 0x40
00001617: MSTORE
00001618: DUP1
00001619: MLOAD
0000161a: SWAP1
0000161b: PUSH1 0x20
0000161d: ADD
0000161e: KECCAK256
0000161f: SWAP1
00001620: POP
00001621: PUSH2 0x1661
00001624: DUP6
00001625: DUP6
00001626: DUP1
00001627: DUP1
00001628: PUSH1 0x20
0000162a: MUL
0000162b: PUSH1 0x20
0000162d: ADD
0000162e: PUSH1 0x40
00001630: MLOAD
00001631: SWAP1
00001632: DUP2
00001633: ADD
00001634: PUSH1 0x40
00001636: MSTORE
00001637: DUP1
00001638: SWAP4
00001639: SWAP3
0000163a: SWAP2
0000163b: SWAP1
0000163c: DUP2
0000163d: DUP2
0000163e: MSTORE
0000163f: PUSH1 0x20
00001641: ADD
00001642: DUP4
00001643: DUP4
00001644: PUSH1 0x20
00001646: MUL
00001647: DUP1
00001648: DUP3
00001649: DUP5
0000164a: CALLDATACOPY
0000164b: PUSH1 0x00
0000164d: SWAP3
0000164e: ADD
0000164f: SWAP2
00001650: SWAP1
00001651: SWAP2
00001652: MSTORE
00001653: POP
00001654: POP
00001655: PUSH1 0x98
00001657: SLOAD
00001658: SWAP2
00001659: POP
0000165a: DUP5
0000165b: SWAP1
0000165c: POP
0000165d: PUSH2 0x18f5
00001660: JUMP
00001661: JUMPDEST
00001662: SWAP7
00001663: SWAP6
00001664: POP
00001665: POP
00001666: POP
00001667: POP
00001668: POP
00001669: POP
0000166a: JUMP
0000166b: JUMPDEST
0000166c: PUSH2 0x1673
0000166f: PUSH2 0x16e1
00001672: JUMP
00001673: JUMPDEST
00001674: PUSH1 0x01
00001676: PUSH1 0x01
00001678: PUSH1 0xa0
0000167a: SHL
0000167b: SUB
0000167c: DUP2
0000167d: AND
0000167e: PUSH2 0x16d8
00001681: JUMPI
00001682: PUSH1 0x40
00001684: MLOAD
00001685: PUSH3 0x461bcd
00001689: PUSH1 0xe5
0000168b: SHL
0000168c: DUP2
0000168d: MSTORE
0000168e: PUSH1 0x20
00001690: PUSH1 0x04
00001692: DUP3
00001693: ADD
00001694: MSTORE
00001695: PUSH1 0x26
00001697: PUSH1 0x24
00001699: DUP3
0000169a: ADD
0000169b: MSTORE
0000169c: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061
000016bd: PUSH1 0x44
000016bf: DUP3
000016c0: ADD
000016c1: MSTORE
000016c2: PUSH6 0x646472657373
000016c9: PUSH1 0xd0
000016cb: SHL
000016cc: PUSH1 0x64
000016ce: DUP3
000016cf: ADD
000016d0: MSTORE
000016d1: PUSH1 0x84
000016d3: ADD
000016d4: PUSH2 0x070d
000016d7: JUMP
000016d8: JUMPDEST
000016d9: PUSH2 0x094a
000016dc: DUP2
000016dd: PUSH2 0x17ce
000016e0: JUMP
000016e1: JUMPDEST
000016e2: PUSH1 0x65
000016e4: SLOAD
000016e5: PUSH1 0x01
000016e7: PUSH1 0x01
000016e9: PUSH1 0xa0
000016eb: SHL
000016ec: SUB
000016ed: AND
000016ee: CALLER
000016ef: EQ
000016f0: PUSH2 0x0d18
000016f3: JUMPI
000016f4: PUSH1 0x40
000016f6: MLOAD
000016f7: PUSH3 0x461bcd
000016fb: PUSH1 0xe5
000016fd: SHL
000016fe: DUP2
000016ff: MSTORE
00001700: PUSH1 0x20
00001702: PUSH1 0x04
00001704: DUP3
00001705: ADD
00001706: DUP2
00001707: SWAP1
00001708: MSTORE
00001709: PUSH1 0x24
0000170b: DUP3
0000170c: ADD
0000170d: MSTORE
0000170e: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
0000172f: PUSH1 0x44
00001731: DUP3
00001732: ADD
00001733: MSTORE
00001734: PUSH1 0x64
00001736: ADD
00001737: PUSH2 0x070d
0000173a: JUMP
0000173b: JUMPDEST
0000173c: PUSH1 0x00
0000173e: DUP3
0000173f: PUSH1 0x01
00001741: PUSH1 0x01
00001743: PUSH1 0xa0
00001745: SHL
00001746: SUB
00001747: AND
00001748: DUP3
00001749: PUSH1 0x40
0000174b: MLOAD
0000174c: PUSH1 0x00
0000174e: PUSH1 0x40
00001750: MLOAD
00001751: DUP1
00001752: DUP4
00001753: SUB
00001754: DUP2
00001755: DUP6
00001756: DUP8
00001757: GAS
00001758: CALL
00001759: SWAP3
0000175a: POP
0000175b: POP
0000175c: POP
0000175d: RETURNDATASIZE
0000175e: DUP1
0000175f: PUSH1 0x00
00001761: DUP2
00001762: EQ
00001763: PUSH2 0x1788
00001766: JUMPI
00001767: PUSH1 0x40
00001769: MLOAD
0000176a: SWAP2
0000176b: POP
0000176c: PUSH1 0x1f
0000176e: NOT
0000176f: PUSH1 0x3f
00001771: RETURNDATASIZE
00001772: ADD
00001773: AND
00001774: DUP3
00001775: ADD
00001776: PUSH1 0x40
00001778: MSTORE
00001779: RETURNDATASIZE
0000177a: DUP3
0000177b: MSTORE
0000177c: RETURNDATASIZE
0000177d: PUSH1 0x00
0000177f: PUSH1 0x20
00001781: DUP5
00001782: ADD
00001783: RETURNDATACOPY
00001784: PUSH2 0x178d
00001787: JUMP
00001788: JUMPDEST
00001789: PUSH1 0x60
0000178b: SWAP2
0000178c: POP
0000178d: JUMPDEST
0000178e: POP
0000178f: POP
00001790: SWAP1
00001791: POP
00001792: DUP1
00001793: PUSH2 0x13af
00001796: JUMPI
00001797: PUSH1 0x40
00001799: MLOAD
0000179a: PUSH3 0x461bcd
0000179e: PUSH1 0xe5
000017a0: SHL
000017a1: DUP2
000017a2: MSTORE
000017a3: PUSH1 0x20
000017a5: PUSH1 0x04
000017a7: DUP3
000017a8: ADD
000017a9: MSTORE
000017aa: PUSH1 0x0d
000017ac: PUSH1 0x24
000017ae: DUP3
000017af: ADD
000017b0: MSTORE
000017b1: PUSH13 0x63616e74207769746864726177
000017bf: PUSH1 0x98
000017c1: SHL
000017c2: PUSH1 0x44
000017c4: DUP3
000017c5: ADD
000017c6: MSTORE
000017c7: PUSH1 0x64
000017c9: ADD
000017ca: PUSH2 0x070d
000017cd: JUMP
000017ce: JUMPDEST
000017cf: PUSH1 0x65
000017d1: DUP1
000017d2: SLOAD
000017d3: PUSH1 0x01
000017d5: PUSH1 0x01
000017d7: PUSH1 0xa0
000017d9: SHL
000017da: SUB
000017db: DUP4
000017dc: DUP2
000017dd: AND
000017de: PUSH1 0x01
000017e0: PUSH1 0x01
000017e2: PUSH1 0xa0
000017e4: SHL
000017e5: SUB
000017e6: NOT
000017e7: DUP4
000017e8: AND
000017e9: DUP2
000017ea: OR
000017eb: SWAP1
000017ec: SWAP4
000017ed: SSTORE
000017ee: PUSH1 0x40
000017f0: MLOAD
000017f1: SWAP2
000017f2: AND
000017f3: SWAP2
000017f4: SWAP1
000017f5: DUP3
000017f6: SWAP1
000017f7: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00001818: SWAP1
00001819: PUSH1 0x00
0000181b: SWAP1
0000181c: LOG3
0000181d: POP
0000181e: POP
0000181f: JUMP
00001820: JUMPDEST
00001821: PUSH1 0x00
00001823: DUP2
00001824: DUP4
00001825: LT
00001826: PUSH2 0x182f
00001829: JUMPI
0000182a: DUP2
0000182b: PUSH2 0x1831
0000182e: JUMP
0000182f: JUMPDEST
00001830: DUP3
00001831: JUMPDEST
00001832: SWAP4
00001833: SWAP3
00001834: POP
00001835: POP
00001836: POP
00001837: JUMP
00001838: JUMPDEST
00001839: PUSH1 0x02
0000183b: PUSH1 0x01
0000183d: SLOAD
0000183e: SUB
0000183f: PUSH2 0x188a
00001842: JUMPI
00001843: PUSH1 0x40
00001845: MLOAD
00001846: PUSH3 0x461bcd
0000184a: PUSH1 0xe5
0000184c: SHL
0000184d: DUP2
0000184e: MSTORE
0000184f: PUSH1 0x20
00001851: PUSH1 0x04
00001853: DUP3
00001854: ADD
00001855: MSTORE
00001856: PUSH1 0x1f
00001858: PUSH1 0x24
0000185a: DUP3
0000185b: ADD
0000185c: MSTORE
0000185d: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
0000187e: PUSH1 0x44
00001880: DUP3
00001881: ADD
00001882: MSTORE
00001883: PUSH1 0x64
00001885: ADD
00001886: PUSH2 0x070d
00001889: JUMP
0000188a: JUMPDEST
0000188b: PUSH1 0x02
0000188d: PUSH1 0x01
0000188f: SSTORE
00001890: JUMP
00001891: JUMPDEST
00001892: PUSH1 0x01
00001894: DUP1
00001895: SSTORE
00001896: JUMP
00001897: JUMPDEST
00001898: PUSH1 0x00
0000189a: SLOAD
0000189b: PUSH2 0x0100
0000189e: SWAP1
0000189f: DIV
000018a0: PUSH1 0xff
000018a2: AND
000018a3: PUSH2 0x18be
000018a6: JUMPI
000018a7: PUSH1 0x40
000018a9: MLOAD
000018aa: PUSH3 0x461bcd
000018ae: PUSH1 0xe5
000018b0: SHL
000018b1: DUP2
000018b2: MSTORE
000018b3: PUSH1 0x04
000018b5: ADD
000018b6: PUSH2 0x070d
000018b9: SWAP1
000018ba: PUSH2 0x1d68
000018bd: JUMP
000018be: JUMPDEST
000018bf: PUSH2 0x0d18
000018c2: PUSH2 0x190b
000018c5: JUMP
000018c6: JUMPDEST
000018c7: PUSH1 0x00
000018c9: SLOAD
000018ca: PUSH2 0x0100
000018cd: SWAP1
000018ce: DIV
000018cf: PUSH1 0xff
000018d1: AND
000018d2: PUSH2 0x18ed
000018d5: JUMPI
000018d6: PUSH1 0x40
000018d8: MLOAD
000018d9: PUSH3 0x461bcd
000018dd: PUSH1 0xe5
000018df: SHL
000018e0: DUP2
000018e1: MSTORE
000018e2: PUSH1 0x04
000018e4: ADD
000018e5: PUSH2 0x070d
000018e8: SWAP1
000018e9: PUSH2 0x1d68
000018ec: JUMP
000018ed: JUMPDEST
000018ee: PUSH2 0x0d18
000018f1: PUSH2 0x1932
000018f4: JUMP
000018f5: JUMPDEST
000018f6: PUSH1 0x00
000018f8: DUP3
000018f9: PUSH2 0x1902
000018fc: DUP6
000018fd: DUP5
000018fe: PUSH2 0x1962
00001901: JUMP
00001902: JUMPDEST
00001903: EQ
00001904: SWAP5
00001905: SWAP4
00001906: POP
00001907: POP
00001908: POP
00001909: POP
0000190a: JUMP
0000190b: JUMPDEST
0000190c: PUSH1 0x00
0000190e: SLOAD
0000190f: PUSH2 0x0100
00001912: SWAP1
00001913: DIV
00001914: PUSH1 0xff
00001916: AND
00001917: PUSH2 0x1891
0000191a: JUMPI
0000191b: PUSH1 0x40
0000191d: MLOAD
0000191e: PUSH3 0x461bcd
00001922: PUSH1 0xe5
00001924: SHL
00001925: DUP2
00001926: MSTORE
00001927: PUSH1 0x04
00001929: ADD
0000192a: PUSH2 0x070d
0000192d: SWAP1
0000192e: PUSH2 0x1d68
00001931: JUMP
00001932: JUMPDEST
00001933: PUSH1 0x00
00001935: SLOAD
00001936: PUSH2 0x0100
00001939: SWAP1
0000193a: DIV
0000193b: PUSH1 0xff
0000193d: AND
0000193e: PUSH2 0x1959
00001941: JUMPI
00001942: PUSH1 0x40
00001944: MLOAD
00001945: PUSH3 0x461bcd
00001949: PUSH1 0xe5
0000194b: SHL
0000194c: DUP2
0000194d: MSTORE
0000194e: PUSH1 0x04
00001950: ADD
00001951: PUSH2 0x070d
00001954: SWAP1
00001955: PUSH2 0x1d68
00001958: JUMP
00001959: JUMPDEST
0000195a: PUSH2 0x0d18
0000195d: CALLER
0000195e: PUSH2 0x17ce
00001961: JUMP
00001962: JUMPDEST
00001963: PUSH1 0x00
00001965: DUP2
00001966: DUP2
00001967: JUMPDEST
00001968: DUP5
00001969: MLOAD
0000196a: DUP2
0000196b: LT
0000196c: ISZERO
0000196d: PUSH2 0x0e91
00001970: JUMPI
00001971: PUSH2 0x1993
00001974: DUP3
00001975: DUP7
00001976: DUP4
00001977: DUP2
00001978: MLOAD
00001979: DUP2
0000197a: LT
0000197b: PUSH2 0x1986
0000197e: JUMPI
0000197f: PUSH2 0x1986
00001982: PUSH2 0x1d0f
00001985: JUMP
00001986: JUMPDEST
00001987: PUSH1 0x20
00001989: MUL
0000198a: PUSH1 0x20
0000198c: ADD
0000198d: ADD
0000198e: MLOAD
0000198f: PUSH2 0x19a7
00001992: JUMP
00001993: JUMPDEST
00001994: SWAP2
00001995: POP
00001996: DUP1
00001997: PUSH2 0x199f
0000199a: DUP2
0000199b: PUSH2 0x1d25
0000199e: JUMP
0000199f: JUMPDEST
000019a0: SWAP2
000019a1: POP
000019a2: POP
000019a3: PUSH2 0x1967
000019a6: JUMP
000019a7: JUMPDEST
000019a8: PUSH1 0x00
000019aa: DUP2
000019ab: DUP4
000019ac: LT
000019ad: PUSH2 0x19c3
000019b0: JUMPI
000019b1: PUSH1 0x00
000019b3: DUP3
000019b4: DUP2
000019b5: MSTORE
000019b6: PUSH1 0x20
000019b8: DUP5
000019b9: SWAP1
000019ba: MSTORE
000019bb: PUSH1 0x40
000019bd: SWAP1
000019be: KECCAK256
000019bf: PUSH2 0x1831
000019c2: JUMP
000019c3: JUMPDEST
000019c4: PUSH1 0x00
000019c6: DUP4
000019c7: DUP2
000019c8: MSTORE
000019c9: PUSH1 0x20
000019cb: DUP4
000019cc: SWAP1
000019cd: MSTORE
000019ce: PUSH1 0x40
000019d0: SWAP1
000019d1: KECCAK256
000019d2: PUSH2 0x1831
000019d5: JUMP
000019d6: JUMPDEST
000019d7: PUSH1 0x00
000019d9: PUSH1 0x20
000019db: DUP3
000019dc: DUP5
000019dd: SUB
000019de: SLT
000019df: ISZERO
000019e0: PUSH2 0x19e8
000019e3: JUMPI
000019e4: PUSH1 0x00
000019e6: DUP1
000019e7: REVERT
000019e8: JUMPDEST
000019e9: POP
000019ea: CALLDATALOAD
000019eb: SWAP2
000019ec: SWAP1
000019ed: POP
000019ee: JUMP
000019ef: JUMPDEST
000019f0: DUP1
000019f1: CALLDATALOAD
000019f2: PUSH1 0x01
000019f4: PUSH1 0x01
000019f6: PUSH1 0xa0
000019f8: SHL
000019f9: SUB
000019fa: DUP2
000019fb: AND
000019fc: DUP2
000019fd: EQ
000019fe: PUSH2 0x1a06
00001a01: JUMPI
00001a02: PUSH1 0x00
00001a04: DUP1
00001a05: REVERT
00001a06: JUMPDEST
00001a07: SWAP2
00001a08: SWAP1
00001a09: POP
00001a0a: JUMP
00001a0b: JUMPDEST
00001a0c: PUSH1 0x00
00001a0e: PUSH1 0x20
00001a10: DUP3
00001a11: DUP5
00001a12: SUB
00001a13: SLT
00001a14: ISZERO
00001a15: PUSH2 0x1a1d
00001a18: JUMPI
00001a19: PUSH1 0x00
00001a1b: DUP1
00001a1c: REVERT
00001a1d: JUMPDEST
00001a1e: PUSH2 0x1831
00001a21: DUP3
00001a22: PUSH2 0x19ef
00001a25: JUMP
00001a26: JUMPDEST
00001a27: PUSH1 0x00
00001a29: DUP2
00001a2a: MLOAD
00001a2b: DUP1
00001a2c: DUP5
00001a2d: MSTORE
00001a2e: PUSH1 0x20
00001a30: DUP1
00001a31: DUP6
00001a32: ADD
00001a33: SWAP5
00001a34: POP
00001a35: DUP1
00001a36: DUP5
00001a37: ADD
00001a38: PUSH1 0x00
00001a3a: JUMPDEST
00001a3b: DUP4
00001a3c: DUP2
00001a3d: LT
00001a3e: ISZERO
00001a3f: PUSH2 0x1a5f
00001a42: JUMPI
00001a43: DUP2
00001a44: MLOAD
00001a45: PUSH1 0x01
00001a47: PUSH1 0x01
00001a49: PUSH1 0xa0
00001a4b: SHL
00001a4c: SUB
00001a4d: AND
00001a4e: DUP8
00001a4f: MSTORE
00001a50: SWAP6
00001a51: DUP3
00001a52: ADD
00001a53: SWAP6
00001a54: SWAP1
00001a55: DUP3
00001a56: ADD
00001a57: SWAP1
00001a58: PUSH1 0x01
00001a5a: ADD
00001a5b: PUSH2 0x1a3a
00001a5e: JUMP
00001a5f: JUMPDEST
00001a60: POP
00001a61: SWAP5
00001a62: SWAP6
00001a63: SWAP5
00001a64: POP
00001a65: POP
00001a66: POP
00001a67: POP
00001a68: POP
00001a69: JUMP
00001a6a: JUMPDEST
00001a6b: PUSH1 0x40
00001a6d: DUP2
00001a6e: MSTORE
00001a6f: PUSH1 0x00
00001a71: PUSH2 0x1a7d
00001a74: PUSH1 0x40
00001a76: DUP4
00001a77: ADD
00001a78: DUP6
00001a79: PUSH2 0x1a26
00001a7c: JUMP
00001a7d: JUMPDEST
00001a7e: DUP3
00001a7f: DUP2
00001a80: SUB
00001a81: PUSH1 0x20
00001a83: DUP5
00001a84: DUP2
00001a85: ADD
00001a86: SWAP2
00001a87: SWAP1
00001a88: SWAP2
00001a89: MSTORE
00001a8a: DUP5
00001a8b: MLOAD
00001a8c: DUP1
00001a8d: DUP4
00001a8e: MSTORE
00001a8f: DUP6
00001a90: DUP3
00001a91: ADD
00001a92: SWAP3
00001a93: DUP3
00001a94: ADD
00001a95: SWAP1
00001a96: PUSH1 0x00
00001a98: JUMPDEST
00001a99: DUP2
00001a9a: DUP2
00001a9b: LT
00001a9c: ISZERO
00001a9d: PUSH2 0x1ab6
00001aa0: JUMPI
00001aa1: DUP5
00001aa2: MLOAD
00001aa3: ISZERO
00001aa4: ISZERO
00001aa5: DUP4
00001aa6: MSTORE
00001aa7: SWAP4
00001aa8: DUP4
00001aa9: ADD
00001aaa: SWAP4
00001aab: SWAP2
00001aac: DUP4
00001aad: ADD
00001aae: SWAP2
00001aaf: PUSH1 0x01
00001ab1: ADD
00001ab2: PUSH2 0x1a98
00001ab5: JUMP
00001ab6: JUMPDEST
00001ab7: POP
00001ab8: SWAP1
00001ab9: SWAP8
00001aba: SWAP7
00001abb: POP
00001abc: POP
00001abd: POP
00001abe: POP
00001abf: POP
00001ac0: POP
00001ac1: POP
00001ac2: JUMP
00001ac3: JUMPDEST
00001ac4: PUSH4 0x4e487b71
00001ac9: PUSH1 0xe0
00001acb: SHL
00001acc: PUSH1 0x00
00001ace: MSTORE
00001acf: PUSH1 0x21
00001ad1: PUSH1 0x04
00001ad3: MSTORE
00001ad4: PUSH1 0x24
00001ad6: PUSH1 0x00
00001ad8: REVERT
00001ad9: JUMPDEST
00001ada: PUSH1 0x20
00001adc: DUP2
00001add: ADD
00001ade: PUSH1 0x05
00001ae0: DUP4
00001ae1: LT
00001ae2: PUSH2 0x1afb
00001ae5: JUMPI
00001ae6: PUSH4 0x4e487b71
00001aeb: PUSH1 0xe0
00001aed: SHL
00001aee: PUSH1 0x00
00001af0: MSTORE
00001af1: PUSH1 0x21
00001af3: PUSH1 0x04
00001af5: MSTORE
00001af6: PUSH1 0x24
00001af8: PUSH1 0x00
00001afa: REVERT
00001afb: JUMPDEST
00001afc: SWAP2
00001afd: SWAP1
00001afe: MSTORE
00001aff: SWAP1
00001b00: JUMP
00001b01: JUMPDEST
00001b02: PUSH1 0x00
00001b04: DUP1
00001b05: PUSH1 0x40
00001b07: DUP4
00001b08: DUP6
00001b09: SUB
00001b0a: SLT
00001b0b: ISZERO
00001b0c: PUSH2 0x1b14
00001b0f: JUMPI
00001b10: PUSH1 0x00
00001b12: DUP1
00001b13: REVERT
00001b14: JUMPDEST
00001b15: POP
00001b16: POP
00001b17: DUP1
00001b18: CALLDATALOAD
00001b19: SWAP3
00001b1a: PUSH1 0x20
00001b1c: SWAP1
00001b1d: SWAP2
00001b1e: ADD
00001b1f: CALLDATALOAD
00001b20: SWAP2
00001b21: POP
00001b22: JUMP
00001b23: JUMPDEST
00001b24: PUSH1 0x20
00001b26: DUP2
00001b27: MSTORE
00001b28: PUSH1 0x00
00001b2a: PUSH2 0x1831
00001b2d: PUSH1 0x20
00001b2f: DUP4
00001b30: ADD
00001b31: DUP5
00001b32: PUSH2 0x1a26
00001b35: JUMP
00001b36: JUMPDEST
00001b37: PUSH1 0x00
00001b39: PUSH1 0x20
00001b3b: DUP3
00001b3c: DUP5
00001b3d: SUB
00001b3e: SLT
00001b3f: ISZERO
00001b40: PUSH2 0x1b48
00001b43: JUMPI
00001b44: PUSH1 0x00
00001b46: DUP1
00001b47: REVERT
00001b48: JUMPDEST
00001b49: DUP2
00001b4a: CALLDATALOAD
00001b4b: PUSH1 0xff
00001b4d: DUP2
00001b4e: AND
00001b4f: DUP2
00001b50: EQ
00001b51: PUSH2 0x1831
00001b54: JUMPI
00001b55: PUSH1 0x00
00001b57: DUP1
00001b58: REVERT
00001b59: JUMPDEST
00001b5a: PUSH1 0x20
00001b5c: DUP1
00001b5d: DUP3
00001b5e: MSTORE
00001b5f: DUP3
00001b60: MLOAD
00001b61: DUP3
00001b62: DUP3
00001b63: ADD
00001b64: DUP2
00001b65: SWAP1
00001b66: MSTORE
00001b67: PUSH1 0x00
00001b69: SWAP2
00001b6a: SWAP1
00001b6b: PUSH1 0x40
00001b6d: SWAP1
00001b6e: DUP2
00001b6f: DUP6
00001b70: ADD
00001b71: SWAP1
00001b72: DUP7
00001b73: DUP5
00001b74: ADD
00001b75: DUP6
00001b76: JUMPDEST
00001b77: DUP3
00001b78: DUP2
00001b79: LT
00001b7a: ISZERO
00001b7b: PUSH2 0x1bd1
00001b7e: JUMPI
00001b7f: DUP2
00001b80: MLOAD
00001b81: DUP1
00001b82: MLOAD
00001b83: ISZERO
00001b84: ISZERO
00001b85: DUP6
00001b86: MSTORE
00001b87: DUP7
00001b88: DUP2
00001b89: ADD
00001b8a: MLOAD
00001b8b: PUSH1 0x01
00001b8d: PUSH1 0x01
00001b8f: PUSH1 0xa0
00001b91: SHL
00001b92: SUB
00001b93: AND
00001b94: DUP8
00001b95: DUP7
00001b96: ADD
00001b97: MSTORE
00001b98: DUP6
00001b99: DUP2
00001b9a: ADD
00001b9b: MLOAD
00001b9c: DUP7
00001b9d: DUP7
00001b9e: ADD
00001b9f: MSTORE
00001ba0: PUSH1 0x60
00001ba2: DUP1
00001ba3: DUP3
00001ba4: ADD
00001ba5: MLOAD
00001ba6: PUSH4 0xffffffff
00001bab: SWAP1
00001bac: DUP2
00001bad: AND
00001bae: SWAP2
00001baf: DUP8
00001bb0: ADD
00001bb1: SWAP2
00001bb2: SWAP1
00001bb3: SWAP2
00001bb4: MSTORE
00001bb5: PUSH1 0x80
00001bb7: SWAP2
00001bb8: DUP3
00001bb9: ADD
00001bba: MLOAD
00001bbb: AND
00001bbc: SWAP1
00001bbd: DUP6
00001bbe: ADD
00001bbf: MSTORE
00001bc0: PUSH1 0xa0
00001bc2: SWAP1
00001bc3: SWAP4
00001bc4: ADD
00001bc5: SWAP3
00001bc6: SWAP1
00001bc7: DUP6
00001bc8: ADD
00001bc9: SWAP1
00001bca: PUSH1 0x01
00001bcc: ADD
00001bcd: PUSH2 0x1b76
00001bd0: JUMP
00001bd1: JUMPDEST
00001bd2: POP
00001bd3: SWAP2
00001bd4: SWAP8
00001bd5: SWAP7
00001bd6: POP
00001bd7: POP
00001bd8: POP
00001bd9: POP
00001bda: POP
00001bdb: POP
00001bdc: POP
00001bdd: JUMP
00001bde: JUMPDEST
00001bdf: PUSH1 0x00
00001be1: DUP1
00001be2: DUP4
00001be3: PUSH1 0x1f
00001be5: DUP5
00001be6: ADD
00001be7: SLT
00001be8: PUSH2 0x1bf0
00001beb: JUMPI
00001bec: PUSH1 0x00
00001bee: DUP1
00001bef: REVERT
00001bf0: JUMPDEST
00001bf1: POP
00001bf2: DUP2
00001bf3: CALLDATALOAD
00001bf4: PUSH8 0xffffffffffffffff
00001bfd: DUP2
00001bfe: GT
00001bff: ISZERO
00001c00: PUSH2 0x1c08
00001c03: JUMPI
00001c04: PUSH1 0x00
00001c06: DUP1
00001c07: REVERT
00001c08: JUMPDEST
00001c09: PUSH1 0x20
00001c0b: DUP4
00001c0c: ADD
00001c0d: SWAP2
00001c0e: POP
00001c0f: DUP4
00001c10: PUSH1 0x20
00001c12: DUP3
00001c13: PUSH1 0x05
00001c15: SHL
00001c16: DUP6
00001c17: ADD
00001c18: ADD
00001c19: GT
00001c1a: ISZERO
00001c1b: PUSH2 0x1c23
00001c1e: JUMPI
00001c1f: PUSH1 0x00
00001c21: DUP1
00001c22: REVERT
00001c23: JUMPDEST
00001c24: SWAP3
00001c25: POP
00001c26: SWAP3
00001c27: SWAP1
00001c28: POP
00001c29: JUMP
00001c2a: JUMPDEST
00001c2b: PUSH1 0x00
00001c2d: DUP1
00001c2e: PUSH1 0x00
00001c30: PUSH1 0x40
00001c32: DUP5
00001c33: DUP7
00001c34: SUB
00001c35: SLT
00001c36: ISZERO
00001c37: PUSH2 0x1c3f
00001c3a: JUMPI
00001c3b: PUSH1 0x00
00001c3d: DUP1
00001c3e: REVERT
00001c3f: JUMPDEST
00001c40: DUP4
00001c41: CALLDATALOAD
00001c42: PUSH8 0xffffffffffffffff
00001c4b: DUP2
00001c4c: GT
00001c4d: ISZERO
00001c4e: PUSH2 0x1c56
00001c51: JUMPI
00001c52: PUSH1 0x00
00001c54: DUP1
00001c55: REVERT
00001c56: JUMPDEST
00001c57: PUSH2 0x1c62
00001c5a: DUP7
00001c5b: DUP3
00001c5c: DUP8
00001c5d: ADD
00001c5e: PUSH2 0x1bde
00001c61: JUMP
00001c62: JUMPDEST
00001c63: SWAP1
00001c64: SWAP8
00001c65: SWAP1
00001c66: SWAP7
00001c67: POP
00001c68: PUSH1 0x20
00001c6a: SWAP6
00001c6b: SWAP1
00001c6c: SWAP6
00001c6d: ADD
00001c6e: CALLDATALOAD
00001c6f: SWAP5
00001c70: SWAP4
00001c71: POP
00001c72: POP
00001c73: POP
00001c74: POP
00001c75: JUMP
00001c76: JUMPDEST
00001c77: PUSH1 0x00
00001c79: DUP1
00001c7a: PUSH1 0x00
00001c7c: DUP1
00001c7d: PUSH1 0x60
00001c7f: DUP6
00001c80: DUP8
00001c81: SUB
00001c82: SLT
00001c83: ISZERO
00001c84: PUSH2 0x1c8c
00001c87: JUMPI
00001c88: PUSH1 0x00
00001c8a: DUP1
00001c8b: REVERT
00001c8c: JUMPDEST
00001c8d: PUSH2 0x1c95
00001c90: DUP6
00001c91: PUSH2 0x19ef
00001c94: JUMP
00001c95: JUMPDEST
00001c96: SWAP4
00001c97: POP
00001c98: PUSH1 0x20
00001c9a: DUP6
00001c9b: ADD
00001c9c: CALLDATALOAD
00001c9d: PUSH8 0xffffffffffffffff
00001ca6: DUP2
00001ca7: GT
00001ca8: ISZERO
00001ca9: PUSH2 0x1cb1
00001cac: JUMPI
00001cad: PUSH1 0x00
00001caf: DUP1
00001cb0: REVERT
00001cb1: JUMPDEST
00001cb2: PUSH2 0x1cbd
00001cb5: DUP8
00001cb6: DUP3
00001cb7: DUP9
00001cb8: ADD
00001cb9: PUSH2 0x1bde
00001cbc: JUMP
00001cbd: JUMPDEST
00001cbe: SWAP6
00001cbf: SWAP9
00001cc0: SWAP1
00001cc1: SWAP8
00001cc2: POP
00001cc3: SWAP5
00001cc4: SWAP6
00001cc5: PUSH1 0x40
00001cc7: ADD
00001cc8: CALLDATALOAD
00001cc9: SWAP5
00001cca: SWAP4
00001ccb: POP
00001ccc: POP
00001ccd: POP
00001cce: POP
00001ccf: JUMP
00001cd0: JUMPDEST
00001cd1: PUSH4 0x4e487b71
00001cd6: PUSH1 0xe0
00001cd8: SHL
00001cd9: PUSH1 0x00
00001cdb: MSTORE
00001cdc: PUSH1 0x11
00001cde: PUSH1 0x04
00001ce0: MSTORE
00001ce1: PUSH1 0x24
00001ce3: PUSH1 0x00
00001ce5: REVERT
00001ce6: JUMPDEST
00001ce7: DUP1
00001ce8: DUP3
00001ce9: ADD
00001cea: DUP1
00001ceb: DUP3
00001cec: GT
00001ced: ISZERO
00001cee: PUSH2 0x0e95
00001cf1: JUMPI
00001cf2: PUSH2 0x0e95
00001cf5: PUSH2 0x1cd0
00001cf8: JUMP
00001cf9: JUMPDEST
00001cfa: PUSH4 0x4e487b71
00001cff: PUSH1 0xe0
00001d01: SHL
00001d02: PUSH1 0x00
00001d04: MSTORE
00001d05: PUSH1 0x41
00001d07: PUSH1 0x04
00001d09: MSTORE
00001d0a: PUSH1 0x24
00001d0c: PUSH1 0x00
00001d0e: REVERT
00001d0f: JUMPDEST
00001d10: PUSH4 0x4e487b71
00001d15: PUSH1 0xe0
00001d17: SHL
00001d18: PUSH1 0x00
00001d1a: MSTORE
00001d1b: PUSH1 0x32
00001d1d: PUSH1 0x04
00001d1f: MSTORE
00001d20: PUSH1 0x24
00001d22: PUSH1 0x00
00001d24: REVERT
00001d25: JUMPDEST
00001d26: PUSH1 0x00
00001d28: PUSH1 0x01
00001d2a: DUP3
00001d2b: ADD
00001d2c: PUSH2 0x1d37
00001d2f: JUMPI
00001d30: PUSH2 0x1d37
00001d33: PUSH2 0x1cd0
00001d36: JUMP
00001d37: JUMPDEST
00001d38: POP
00001d39: PUSH1 0x01
00001d3b: ADD
00001d3c: SWAP1
00001d3d: JUMP
00001d3e: JUMPDEST
00001d3f: DUP1
00001d40: DUP3
00001d41: MUL
00001d42: DUP2
00001d43: ISZERO
00001d44: DUP3
00001d45: DUP3
00001d46: DIV
00001d47: DUP5
00001d48: EQ
00001d49: OR
00001d4a: PUSH2 0x0e95
00001d4d: JUMPI
00001d4e: PUSH2 0x0e95
00001d51: PUSH2 0x1cd0
00001d54: JUMP
00001d55: JUMPDEST
00001d56: DUP2
00001d57: DUP2
00001d58: SUB
00001d59: DUP2
00001d5a: DUP2
00001d5b: GT
00001d5c: ISZERO
00001d5d: PUSH2 0x0e95
00001d60: JUMPI
00001d61: PUSH2 0x0e95
00001d64: PUSH2 0x1cd0
00001d67: JUMP
00001d68: JUMPDEST
00001d69: PUSH1 0x20
00001d6b: DUP1
00001d6c: DUP3
00001d6d: MSTORE
00001d6e: PUSH1 0x2b
00001d70: SWAP1
00001d71: DUP3
00001d72: ADD
00001d73: MSTORE
00001d74: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069
00001d95: PUSH1 0x40
00001d97: DUP3
00001d98: ADD
00001d99: MSTORE
00001d9a: PUSH11 0x6e697469616c697a696e67
00001da6: PUSH1 0xa8
00001da8: SHL
00001da9: PUSH1 0x60
00001dab: DUP3
00001dac: ADD
00001dad: MSTORE
00001dae: PUSH1 0x80
00001db0: ADD
00001db1: SWAP1
00001db2: JUMP
00001db3: INVALID
00001db4: LOG2
00001db5: PUSH5 0x6970667358
00001dbb: UNKNOWN(0x22)
00001dbc: SLT
00001dbd: KECCAK256
00001dbe: UNKNOWN(0x25)
00001dbf: UNKNOWN(0xAD)
00001dc0: SLOAD
00001dc1: UNKNOWN(0xDA)
00001dc2: UNKNOWN(0xAF)
00001dc3: DUP10
00001dc4: UNKNOWN(0xDF)
00001dc5: UNKNOWN(0xAC)
00001dc6: KECCAK256
00001dc7: SGT
00001dc8: UNKNOWN(0x26)
00001dc9: OR
00001dca: STOP
00001dcb: UNKNOWN(0x26)
00001dcc: UNKNOWN(0x21)
00001dcd: UNKNOWN(0xC3)
00001dce: MUL
00001dcf: PUSH6 0x2c398c7c8c44
00001dd6: UNKNOWN(0xBF)
00001dd7: UNKNOWN(0x1F)
00001dd8: CALLDATASIZE
00001dd9: GASLIMIT
00001dda: PUSH3 0x4155f5
00001dde: PUSH5 0x736f6c6343
00001de4: STOP
00001de5: ADDMOD
00001de6: SGT
00001de7: STOP
00001de8: 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: 0x1de6a4f6a2d4ce26b7c242912a1d7c099533384b9559e611b9f397d15b002deb
call_targets: 0x5d7b782ec34cae8b38a56c1a3487337583178466
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x1de6a4f6a2d4ce26b7c242912a1d7c099533384b9559e611b9f397d15b002deb",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x5d7b782ec34cae8b38a56c1a3487337583178466"
    ],
    "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": "0xcff29dfd",
            "selector": "0xcff29dfd",
            "calldata_variants": [
                "0xcff29dfd",
                "0xcff29dfd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd4b156e9",
            "selector": "0xd4b156e9",
            "calldata_variants": [
                "0xd4b156e9",
                "0xd4b156e90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe6ba4a18",
            "selector": "0xe6ba4a18",
            "calldata_variants": [
                "0xe6ba4a18",
                "0xe6ba4a180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe961928e",
            "selector": "0xe961928e",
            "calldata_variants": [
                "0xe961928e",
                "0xe961928e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb81c78ec",
            "selector": "0xb81c78ec",
            "calldata_variants": [
                "0xb81c78ec",
                "0xb81c78ec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb9ea2fc4",
            "selector": "0xb9ea2fc4",
            "calldata_variants": [
                "0xb9ea2fc4",
                "0xb9ea2fc40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbb55f25c",
            "selector": "0xbb55f25c",
            "calldata_variants": [
                "0xbb55f25c",
                "0xbb55f25c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5976,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 1,
    "guards_detected": [],
    "untrusted_call_count": 1
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x1de6a4f6a2d4ce26b7c242912a1d7c099533384b9559e611b9f397d15b002deb
call_targets: 0x5d7b782ec34cae8b38a56c1a3487337583178466
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x1de6a4f6a2d4ce26b7c242912a1d7c099533384b9559e611b9f397d15b002deb",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x5d7b782ec34cae8b38a56c1a3487337583178466"
    ],
    "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": "0xcff29dfd",
            "selector": "0xcff29dfd",
            "calldata_variants": [
                "0xcff29dfd",
                "0xcff29dfd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd4b156e9",
            "selector": "0xd4b156e9",
            "calldata_variants": [
                "0xd4b156e9",
                "0xd4b156e90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe6ba4a18",
            "selector": "0xe6ba4a18",
            "calldata_variants": [
                "0xe6ba4a18",
                "0xe6ba4a180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe961928e",
            "selector": "0xe961928e",
            "calldata_variants": [
                "0xe961928e",
                "0xe961928e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb81c78ec",
            "selector": "0xb81c78ec",
            "calldata_variants": [
                "0xb81c78ec",
                "0xb81c78ec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb9ea2fc4",
            "selector": "0xb9ea2fc4",
            "calldata_variants": [
                "0xb9ea2fc4",
                "0xb9ea2fc40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbb55f25c",
            "selector": "0xbb55f25c",
            "calldata_variants": [
                "0xbb55f25c",
                "0xbb55f25c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5976,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": []
}
medium math codex Incorrect withdrawal accounting enables repeated sales withdrawals after sales changes 75 no
view
evidence_json
{
    "evidence": "withdrawed is set to available (remaining) instead of being accumulated, which becomes exploitable if sales is later increased.",
    "locations": [
        "contracts/BlindAuction.sol:268",
        "contracts/BlindAuction.sol:269",
        "contracts/BlindAuction.sol:270",
        "contracts/BlindAuction.sol:326",
        "contracts/BlindAuction.sol:321"
    ],
    "recommendation": "Track cumulative withdrawals: set `withdrawed += available` (or `withdrawed = sales` after transfer), and freeze `finalPrice`/`wonBiddedItems` once withdrawals begin or after bidding ends.",
    "exploit_scenario": "Owner calls withdrawSales once (withdrawed = sales). Later increases finalPrice or wonBiddedItems so sales grows. Because withdrawed is reset to available instead of accumulated, each subsequent withdrawSales call continues to return the same available amount, allowing repeated withdrawals until the contract balance is drained (reducing funds needed for refunds)."
}
low access_control codex Admin can bypass refund guarantees via arbitrary state and price changes 65 no
view
evidence_json
{
    "evidence": "Critical parameters and state are mutable at any time by the owner, and withdrawAll only checks auctionState which the owner can set arbitrarily.",
    "locations": [
        "contracts/BlindAuction.sol:277",
        "contracts/BlindAuction.sol:278",
        "contracts/BlindAuction.sol:335",
        "contracts/BlindAuction.sol:336",
        "contracts/BlindAuction.sol:321",
        "contracts/BlindAuction.sol:326"
    ],
    "recommendation": "Enforce monotonic state transitions and freeze finalPrice/wonBiddedItems once bidding ends or refunds start; allow withdrawAll only after refunds are completed or after a defined deadline.",
    "exploit_scenario": "Owner can set auctionState to REFUND_ENDED at any time and call withdrawAll, draining all funds before users refund. Owner can also change finalPrice or wonBiddedItems after refunds start, causing some refunds to revert or to be underpaid compared to earlier refunds."
}