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

Analysis Run

019bb004-7aaa-7101-90e3-70d09190c5dd

failed
Chain ID
1
Address
Block Number
Created
Mon, Jan 12, 2026 2:24 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
Authorization based on tx.origin
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
39276 artifact.fetch complete 1 / 3 3 months ago
39277 proxy.resolve complete 1 / 3 3 months ago
39278 tool.cast_disasm complete 1 / 3 3 months ago
39279 analysis.bundle complete 1 / 3 3 months ago
39280 capability.graph complete 1 / 3 3 months ago
39281 detector.run complete 1 / 3 3 months ago
39282 validation.fork complete 1 / 3 3 months ago
39439 report.consolidate complete 1 / 6 3 months ago
39440 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-ydrmnqcd) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-ydrmnqcd) 'forge' returned non-zero exit code 1 2026-01-12T03:28:54.566287Z ERROR foundry_compilers_artifacts_solc::sources: error="/tmp/slither-ydrmnqcd/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol": No such file or directory (os error 2) stdout: Unable to resolve imports: stdout: "@openzeppelin/contracts/security/ReentrancyGuard.sol" in "/tmp/slither-ydrmnqcd/contracts/Database.sol" stdout: with remappings: stdout: openzeppelin-contracts/=/tmp/slither-ydrmnqcd/lib/openzeppelin-contracts/ stdout: @openzeppelin/contracts/=/tmp/slither-ydrmnqcd/lib/openzeppelin-contracts/contracts/ stdout: Compiling 11 files with Solc 0.8.30 stdout: Solc 0.8.30 finished in 30.60ms Error: Compiler run failed: stderr: Error (6275): Source "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol" not found: File not found. Searched the following locations: "/tmp/slither-ydrmnqcd". stderr: ParserError: Source "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol" not found: File not found. Searched the following locations: "/tmp/slither-ydrmnqcd". stderr: --> contracts/Database.sol:7:1: stderr: | stderr: 7 | import "@openzeppelin/contracts/security/ReentrancyGuard.sol"; stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 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-ydrmnqcd/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-ydrmnqcd)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-ydrmnqcd)
'forge' returned non-zero exit code 1
2026-01-12T03:28:54.566287Z ERROR foundry_compilers_artifacts_solc::sources: error="/tmp/slither-ydrmnqcd/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol": No such file or directory (os error 2)
stdout: Unable to resolve imports:
stdout:       "@openzeppelin/contracts/security/ReentrancyGuard.sol" in "/tmp/slither-ydrmnqcd/contracts/Database.sol"
stdout: with remappings:
stdout:       openzeppelin-contracts/=/tmp/slither-ydrmnqcd/lib/openzeppelin-contracts/
stdout:       @openzeppelin/contracts/=/tmp/slither-ydrmnqcd/lib/openzeppelin-contracts/contracts/
stdout: Compiling 11 files with Solc 0.8.30
stdout: Solc 0.8.30 finished in 30.60ms
Error: Compiler run failed:
stderr: Error (6275): Source "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol" not found: File not found. Searched the following locations: "/tmp/slither-ydrmnqcd".
stderr: ParserError: Source "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol" not found: File not found. Searched the following locations: "/tmp/slither-ydrmnqcd".
stderr:  --> contracts/Database.sol:7:1:
stderr:   |
stderr: 7 | import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
stderr:   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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-ydrmnqcd/out/build-info is not a directory.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
3
No findings?
no
Summary
Found 3 issues: one high-impact accounting bug in bounty payout referral handling, plus two low-severity issues (tx.origin-based registration and unchecked ERC20 transfer).
View stdout
{"no_findings":false,"summary":"Found 3 issues: one high-impact accounting bug in bounty payout referral handling, plus two low-severity issues (tx.origin-based registration and unchecked ERC20 transfer).","findings":[{"severity":"high","category":"other","title":"Referral fee causes over-distribution, leading to payout DoS or cross-audit fund drain","exploit_scenario":"If a developer set a referrer when minting, `_payBounty` transfers the full Hyacinth fee to `hyacinthWallet` and then additionally transfers a referral fee, while still attempting to distribute the full `bountyToDistribute` to collaborators/auditor. For audits whose token balance equals the bounty, the extra referral fee makes the final transfers revert, permanently blocking payout. If the contract holds extra token balances from other audits, the referral fee is effectively paid out of those balances, draining unrelated bounties.","recommendation":"Deduct the referral fee from the Hyacinth fee before transferring, or compute and transfer fees after ensuring total payouts equal the bounty. Ensure the sum of `hyacinthReceives + referralFee + bountyToDistribute` never exceeds `bounty_`, and consider explicitly validating balance sufficiency per audit.","evidence":"`_payBounty` transfers `hyacinthReceives_` before computing and transferring `referralFee_`, but still distributes `bountyToDistribute_` in full.","locations":["contracts/Database.sol:739","contracts/Database.sol:745","contracts/Database.sol:748","contracts/Database.sol:750","contracts/Database.sol:763"]},{"severity":"low","category":"other","title":"Unchecked ERC20 transfer in `acceptAuditor` can silently fail and desync accounting","exploit_scenario":"`acceptAuditor` uses `IERC20(USDC).transfer` without checking the return value. If the token returns false (or is non-standard), the developer refund fails but the contract still reduces `bountyOnContract` to the bid, leaving the audit underfunded and the developer shorted without reverting.","recommendation":"Use `SafeERC20.safeTransfer` (or explicitly check the returned bool) and only update `bountyOnContract` after a successful transfer.","evidence":"`IERC20(USDC).transfer(msg.sender, difference_)` is used without checking return value.","locations":["contracts/Database.sol:497","contracts/Database.sol:501","contracts/Database.sol:502"]},{"severity":"low","category":"auth","title":"`tx.origin`-based registration allows contract squatting/impersonation","exploit_scenario":"`beingAudited` uses `tx.origin` to assign the developer. A malicious contract can call `beingAudited` during a transaction initiated by any POD holder, registering itself as that developer without explicit consent. This can misattribute ownership and block the real developer from registering/using the system for that contract.","recommendation":"Avoid `tx.origin`. Require explicit developer authorization (e.g., EIP-712 signature), or pass the developer address and verify `msg.sender` via deployment-time registration or a trusted factory.","evidence":"`beingAudited` checks `proofOfDeveloper.balanceOf(tx.origin)` and assigns `contracts[msg.sender].developer = tx.origin`.","locations":["contracts/Database.sol:401","contracts/Database.sol:402","contracts/Database.sol:406"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-721vgm0o
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb00c-fd06-7401-8cda-19f89bea68f0
--------
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
**Auditing bundle contents**
exec
/bin/bash -lc ls in /tmp/codex-721vgm0o succeeded in 8ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
@openzeppelin
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-721vgm0o succeeded in 5ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.

================================================================================
FILE: contracts/Database.sol
================================================================================
pragma solidity ^0.8.30;

import "./interface/IProofOfDeveloper.sol";
import "./interface/IProofOfAuditor.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";

/// @title   Hyacinth Database
/// @notice  Contract that keeps track of pending and completed audits
/// @author  Hyacinth
contract HyacinthDatabase is ReentrancyGuard {
    /// DEPENDENCIES ///


thinking
**Analyzing security and accounting concerns**

I'm auditing the code for access control, reentrancy, and accounting bugs—especially tx.origin usage allowing possible contract misattribution, unsafe token transfers losing funds, and a critical referral payout bug causing over-distribution or denial of service. I’m carefully tracing function interactions, token transfers, and reentrancy guards to pinpoint vulnerabilities and their impact, while planning to map issues to source file lines for clarity.
exec
/bin/bash -lc "nl -ba contracts/Database.sol | sed -n '320,520p'" in /tmp/codex-721vgm0o succeeded in 31ms:
   320	    /// @notice Bool if bounty has been paid out
   321	    mapping(uint256 => bool) public bountyPaidOut;
   322	    /// @notice Bid for auditor for audit id
   323	    mapping(uint256 => mapping(address => uint256)) public bidForAddressForAuditId;
   324	
   325	    /// CONSTRUCTOR ///
   326	
   327	    /// @param hyacinthWallet_  Address of hyacinth wallet
   328	    /// @param owner_           Address of owner
   329	    /// @param pod_             Address of proof of developer NFT
   330	    /// @param poa_             Address of proof of auditor NFT
   331	    /// @param usdc_            Address of USDC
   332	    constructor(address hyacinthWallet_, address owner_, address pod_, address poa_, address usdc_) {
   333	        hyacinthWallet = hyacinthWallet_;
   334	        owner = owner_;
   335	        proofOfDeveloper = IProofOfDeveloper(pod_);
   336	        proofOfAuditor = IProofOfAuditor(poa_);
   337	        USDC = usdc_;
   338	        hyacinthFee = 15;
   339	        minBounty = 1_000_000_000;
exec
/bin/bash -lc "nl -ba contracts/Database.sol | sed -n '520,760p'" in /tmp/codex-721vgm0o succeeded in 6ms:
   520	
   521	        requestToBeAuditor[auditId_][msg.sender] = true;
   522	        bidForAddressForAuditId[auditId_][msg.sender] = bid_;
   523	
   524	        emit AuditorRequest(msg.sender, auditId_);
   525	    }
   526	
   527	    /// @notice              Auditor submits the `result_` of `auditId_`
   528	    /// @param auditId_      Audit Id of audit having `result_` submitted
   529	    /// @param result_       Result of the audit
   530	    /// @param description_  Desecription of the audit
   531	    function submitResult(uint256 auditId_, STATUS result_, string memory description_) external nonReentrant {
   532	        Audit memory audit_ = audits[auditId_];
   533	        if (audit_.status != STATUS.PENDING) revert NotBeingAudited();
   534	        if (audit_.auditor != msg.sender) revert OnlyAuditor();
   535	        if (result_ != STATUS.PASSED && result_ != STATUS.FAILED) revert InvalidResult();
   536	        audit_.status = result_;
   537	        audit_.auditDescription = description_;
   538	        audits[auditId_] = audit_;
   539	
exec
/bin/bash -lc "nl -ba contracts/Database.sol | sed -n '760,940p'" in /tmp/codex-721vgm0o succeeded in 6ms:
   760	                collaboratorsReceived_ += collaboratorsReceives_;
   761	            }
   762	
   763	            uint256 auditorReceives_ = bountyToDistribute_ - collaboratorsReceived_;
   764	            IERC20(token_).safeTransfer(audit_.auditor, auditorReceives_);
   765	        }
   766	
   767	        --auditors[msg.sender].auditsInProgress;
   768	    }
   769	
   770	    /// @notice           Add to bounty of `auditId_`
   771	    /// @param auditId_   Audit id to add bounty to
   772	    /// @param amount_    Amount of stable to add to bounty
   773	    /// @param token_     Address of token on bounty
   774	    function _addToBounty(uint256 auditId_, uint256 amount_, address token_) internal {
   775	        IERC20(token_).safeTransferFrom(msg.sender, address(this), amount_);
   776	
   777	        if (bountyOnContract[auditId_][token_] == 0) tokenAddressOnBounty[auditId_].push(token_);
   778	        bountyOnContract[auditId_][token_] += amount_;
   779	

thinking
**Summarizing vulnerabilities and preparing JSON report**

I'm gathering details for three main vulnerabilities including their severity, categories, scenarios, recommendations, evidence, and locations to create a structured JSON report that includes a high-severity referral payout bug, low-severity unchecked ERC20 transfer, and low-severity tx.origin usage in authorization. I'll make sure the JSON output follows the schema, includes no_findings as false, and succinctly captures the critical points.
codex
{"no_findings":false,"summary":"Found 3 issues: one high-impact accounting bug in bounty payout referral handling, plus two low-severity issues (tx.origin-based registration and unchecked ERC20 transfer).","findings":[{"severity":"high","category":"other","title":"Referral fee causes over-distribution, leading to payout DoS or cross-audit fund drain","exploit_scenario":"If a developer set a referrer when minting, `_payBounty` transfers the full Hyacinth fee to `hyacinthWallet` and then additionally transfers a referral fee, while still attempting to distribute the full `bountyToDistribute` to collaborators/auditor. For audits whose token balance equals the bounty, the extra referral fee makes the final transfers revert, permanently blocking payout. If the contract holds extra token balances from other audits, the referral fee is effectively paid out of those balances, draining unrelated bounties.","recommendation":"Deduct the referral fee from the Hyacinth fee before transferring, or compute and transfer fees after ensuring total payouts equal the bounty. Ensure the sum of `hyacinthReceives + referralFee + bountyToDistribute` never exceeds `bounty_`, and consider explicitly validating balance sufficiency per audit.","evidence":"`_payBounty` transfers `hyacinthReceives_` before computing and transferring `referralFee_`, but still distributes `bountyToDistribute_` in full.","locations":["contracts/Database.sol:739","contracts/Database.sol:745","contracts/Database.sol:748","contracts/Database.sol:750","contracts/Database.sol:763"]},{"severity":"low","category":"other","title":"Unchecked ERC20 transfer in `acceptAuditor` can silently fail and desync accounting","exploit_scenario":"`acceptAuditor` uses `IERC20(USDC).transfer` without checking the return value. If the token returns false (or is non-standard), the developer refund fails but the contract still reduces `bountyOnContract` to the bid, leaving the audit underfunded and the developer shorted without reverting.","recommendation":"Use `SafeERC20.safeTransfer` (or explicitly check the returned bool) and only update `bountyOnContract` after a successful transfer.","evidence":"`IERC20(USDC).transfer(msg.sender, difference_)` is used without checking return value.","locations":["contracts/Database.sol:497","contracts/Database.sol:501","contracts/Database.sol:502"]},{"severity":"low","category":"auth","title":"`tx.origin`-based registration allows contract squatting/impersonation","exploit_scenario":"`beingAudited` uses `tx.origin` to assign the developer. A malicious contract can call `beingAudited` during a transaction initiated by any POD holder, registering itself as that developer without explicit consent. This can misattribute ownership and block the real developer from registering/using the system for that contract.","recommendation":"Avoid `tx.origin`. Require explicit developer authorization (e.g., EIP-712 signature), or pass the developer address and verify `msg.sender` via deployment-time registration or a trusted factory.","evidence":"`beingAudited` checks `proofOfDeveloper.balanceOf(tx.origin)` and assigns `contracts[msg.sender].developer = tx.origin`.","locations":["contracts/Database.sol:401","contracts/Database.sol:402","contracts/Database.sol:406"]}]}
tokens used
26,319
Metadata
{
    "codex": {
        "ran_at": "2026-01-12T02:35:03.389727+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 11,
        "import_count": 10,
        "first_party_contracts_count": 3
    },
    "summary": "Found 3 issues: one high-impact accounting bug in bounty payout referral handling, plus two low-severity issues (tx.origin-based registration and unchecked ERC20 transfer).",
    "raw_final": {
        "summary": "Found 3 issues: one high-impact accounting bug in bounty payout referral handling, plus two low-severity issues (tx.origin-based registration and unchecked ERC20 transfer).",
        "findings": [
            {
                "title": "Referral fee causes over-distribution, leading to payout DoS or cross-audit fund drain",
                "category": "other",
                "evidence": "`_payBounty` transfers `hyacinthReceives_` before computing and transferring `referralFee_`, but still distributes `bountyToDistribute_` in full.",
                "severity": "high",
                "locations": [
                    "contracts/Database.sol:739",
                    "contracts/Database.sol:745",
                    "contracts/Database.sol:748",
                    "contracts/Database.sol:750",
                    "contracts/Database.sol:763"
                ],
                "recommendation": "Deduct the referral fee from the Hyacinth fee before transferring, or compute and transfer fees after ensuring total payouts equal the bounty. Ensure the sum of `hyacinthReceives + referralFee + bountyToDistribute` never exceeds `bounty_`, and consider explicitly validating balance sufficiency per audit.",
                "exploit_scenario": "If a developer set a referrer when minting, `_payBounty` transfers the full Hyacinth fee to `hyacinthWallet` and then additionally transfers a referral fee, while still attempting to distribute the full `bountyToDistribute` to collaborators/auditor. For audits whose token balance equals the bounty, the extra referral fee makes the final transfers revert, permanently blocking payout. If the contract holds extra token balances from other audits, the referral fee is effectively paid out of those balances, draining unrelated bounties."
            },
            {
                "title": "Unchecked ERC20 transfer in `acceptAuditor` can silently fail and desync accounting",
                "category": "other",
                "evidence": "`IERC20(USDC).transfer(msg.sender, difference_)` is used without checking return value.",
                "severity": "low",
                "locations": [
                    "contracts/Database.sol:497",
                    "contracts/Database.sol:501",
                    "contracts/Database.sol:502"
                ],
                "recommendation": "Use `SafeERC20.safeTransfer` (or explicitly check the returned bool) and only update `bountyOnContract` after a successful transfer.",
                "exploit_scenario": "`acceptAuditor` uses `IERC20(USDC).transfer` without checking the return value. If the token returns false (or is non-standard), the developer refund fails but the contract still reduces `bountyOnContract` to the bid, leaving the audit underfunded and the developer shorted without reverting."
            },
            {
                "title": "`tx.origin`-based registration allows contract squatting/impersonation",
                "category": "auth",
                "evidence": "`beingAudited` checks `proofOfDeveloper.balanceOf(tx.origin)` and assigns `contracts[msg.sender].developer = tx.origin`.",
                "severity": "low",
                "locations": [
                    "contracts/Database.sol:401",
                    "contracts/Database.sol:402",
                    "contracts/Database.sol:406"
                ],
                "recommendation": "Avoid `tx.origin`. Require explicit developer authorization (e.g., EIP-712 signature), or pass the developer address and verify `msg.sender` via deployment-time registration or a trusted factory.",
                "exploit_scenario": "`beingAudited` uses `tx.origin` to assign the developer. A malicious contract can call `beingAudited` during a transaction initiated by any POD holder, registering itself as that developer without explicit consent. This can misattribute ownership and block the real developer from registering/using the system for that contract."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
12
EXT*/BALANCE
1
Total opcodes
12100
Flags
call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x0010
0000000b: JUMPI
0000000c: PUSH1 0x00
0000000e: DUP1
0000000f: REVERT
00000010: JUMPDEST
00000011: POP
00000012: PUSH1 0x04
00000014: CALLDATASIZE
00000015: LT
00000016: PUSH2 0x0382
00000019: JUMPI
0000001a: PUSH1 0x00
0000001c: CALLDATALOAD
0000001d: PUSH1 0xe0
0000001f: SHR
00000020: DUP1
00000021: PUSH4 0x82eaa2c9
00000026: GT
00000027: PUSH2 0x01de
0000002a: JUMPI
0000002b: DUP1
0000002c: PUSH4 0xc8d76244
00000031: GT
00000032: PUSH2 0x010f
00000035: JUMPI
00000036: DUP1
00000037: PUSH4 0xe162b367
0000003c: GT
0000003d: PUSH2 0x00ad
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0xeddd0d9c
00000047: GT
00000048: PUSH2 0x007c
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0xeddd0d9c
00000052: EQ
00000053: PUSH2 0x0927
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0xf195341e
0000005d: EQ
0000005e: PUSH2 0x093a
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0xf2fde38b
00000068: EQ
00000069: PUSH2 0x094d
0000006c: JUMPI
0000006d: DUP1
0000006e: PUSH4 0xf5f92a6f
00000073: EQ
00000074: PUSH2 0x0960
00000077: JUMPI
00000078: PUSH1 0x00
0000007a: DUP1
0000007b: REVERT
0000007c: JUMPDEST
0000007d: DUP1
0000007e: PUSH4 0xe162b367
00000083: EQ
00000084: PUSH2 0x08ce
00000087: JUMPI
00000088: DUP1
00000089: PUSH4 0xe6116cfd
0000008e: EQ
0000008f: PUSH2 0x08e1
00000092: JUMPI
00000093: DUP1
00000094: PUSH4 0xec8469b7
00000099: EQ
0000009a: PUSH2 0x08f4
0000009d: JUMPI
0000009e: DUP1
0000009f: PUSH4 0xedd41e0a
000000a4: EQ
000000a5: PUSH2 0x0914
000000a8: JUMPI
000000a9: PUSH1 0x00
000000ab: DUP1
000000ac: REVERT
000000ad: JUMPDEST
000000ae: DUP1
000000af: PUSH4 0xce3dca77
000000b4: GT
000000b5: PUSH2 0x00e9
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0xce3dca77
000000bf: EQ
000000c0: PUSH2 0x085a
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0xd3c03c00
000000ca: EQ
000000cb: PUSH2 0x086d
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0xdade4155
000000d5: EQ
000000d6: PUSH2 0x0890
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0xde4c0020
000000e0: EQ
000000e1: PUSH2 0x08bb
000000e4: JUMPI
000000e5: PUSH1 0x00
000000e7: DUP1
000000e8: REVERT
000000e9: JUMPDEST
000000ea: DUP1
000000eb: PUSH4 0xc8d76244
000000f0: EQ
000000f1: PUSH2 0x080c
000000f4: JUMPI
000000f5: DUP1
000000f6: PUSH4 0xcb301971
000000fb: EQ
000000fc: PUSH2 0x081f
000000ff: JUMPI
00000100: DUP1
00000101: PUSH4 0xcc25ac55
00000106: EQ
00000107: PUSH2 0x0832
0000010a: JUMPI
0000010b: PUSH1 0x00
0000010d: DUP1
0000010e: REVERT
0000010f: JUMPDEST
00000110: DUP1
00000111: PUSH4 0xa2fbaff4
00000116: GT
00000117: PUSH2 0x017c
0000011a: JUMPI
0000011b: DUP1
0000011c: PUSH4 0xb6c57170
00000121: GT
00000122: PUSH2 0x0156
00000125: JUMPI
00000126: DUP1
00000127: PUSH4 0xb6c57170
0000012c: EQ
0000012d: PUSH2 0x07b2
00000130: JUMPI
00000131: DUP1
00000132: PUSH4 0xba289873
00000137: EQ
00000138: PUSH2 0x07c5
0000013b: JUMPI
0000013c: DUP1
0000013d: PUSH4 0xbc1c0fb6
00000142: EQ
00000143: PUSH2 0x07f0
00000146: JUMPI
00000147: DUP1
00000148: PUSH4 0xc115bef5
0000014d: EQ
0000014e: PUSH2 0x07f9
00000151: JUMPI
00000152: PUSH1 0x00
00000154: DUP1
00000155: REVERT
00000156: JUMPDEST
00000157: DUP1
00000158: PUSH4 0xa2fbaff4
0000015d: EQ
0000015e: PUSH2 0x0759
00000161: JUMPI
00000162: DUP1
00000163: PUSH4 0xb24fdf4e
00000168: EQ
00000169: PUSH2 0x076c
0000016c: JUMPI
0000016d: DUP1
0000016e: PUSH4 0xb60e73db
00000173: EQ
00000174: PUSH2 0x078c
00000177: JUMPI
00000178: PUSH1 0x00
0000017a: DUP1
0000017b: REVERT
0000017c: JUMPDEST
0000017d: DUP1
0000017e: PUSH4 0x89b8db55
00000183: GT
00000184: PUSH2 0x01b8
00000187: JUMPI
00000188: DUP1
00000189: PUSH4 0x89b8db55
0000018e: EQ
0000018f: PUSH2 0x070a
00000192: JUMPI
00000193: DUP1
00000194: PUSH4 0x8baa353b
00000199: EQ
0000019a: PUSH2 0x0713
0000019d: JUMPI
0000019e: DUP1
0000019f: PUSH4 0x8da5cb5b
000001a4: EQ
000001a5: PUSH2 0x0733
000001a8: JUMPI
000001a9: DUP1
000001aa: PUSH4 0x9c5b2eea
000001af: EQ
000001b0: PUSH2 0x0746
000001b3: JUMPI
000001b4: PUSH1 0x00
000001b6: DUP1
000001b7: REVERT
000001b8: JUMPDEST
000001b9: DUP1
000001ba: PUSH4 0x82eaa2c9
000001bf: EQ
000001c0: PUSH2 0x06c7
000001c3: JUMPI
000001c4: DUP1
000001c5: PUSH4 0x87989f6e
000001ca: EQ
000001cb: PUSH2 0x06da
000001ce: JUMPI
000001cf: DUP1
000001d0: PUSH4 0x89a30271
000001d5: EQ
000001d6: PUSH2 0x06e3
000001d9: JUMPI
000001da: PUSH1 0x00
000001dc: DUP1
000001dd: REVERT
000001de: JUMPDEST
000001df: DUP1
000001e0: PUSH4 0x3f680e45
000001e5: GT
000001e6: PUSH2 0x02b8
000001e9: JUMPI
000001ea: DUP1
000001eb: PUSH4 0x58b1f29c
000001f0: GT
000001f1: PUSH2 0x0256
000001f4: JUMPI
000001f5: DUP1
000001f6: PUSH4 0x66c86308
000001fb: GT
000001fc: PUSH2 0x0230
000001ff: JUMPI
00000200: DUP1
00000201: PUSH4 0x66c86308
00000206: EQ
00000207: PUSH2 0x0616
0000020a: JUMPI
0000020b: DUP1
0000020c: PUSH4 0x67e1af00
00000211: EQ
00000212: PUSH2 0x0629
00000215: JUMPI
00000216: DUP1
00000217: PUSH4 0x69dc9ff3
0000021c: EQ
0000021d: PUSH2 0x063c
00000220: JUMPI
00000221: DUP1
00000222: PUSH4 0x7247959a
00000227: EQ
00000228: PUSH2 0x069e
0000022b: JUMPI
0000022c: PUSH1 0x00
0000022e: DUP1
0000022f: REVERT
00000230: JUMPDEST
00000231: DUP1
00000232: PUSH4 0x58b1f29c
00000237: EQ
00000238: PUSH2 0x05d7
0000023b: JUMPI
0000023c: DUP1
0000023d: PUSH4 0x59ac8325
00000242: EQ
00000243: PUSH2 0x05ea
00000246: JUMPI
00000247: DUP1
00000248: PUSH4 0x5e5f7ea0
0000024d: EQ
0000024e: PUSH2 0x060d
00000251: JUMPI
00000252: PUSH1 0x00
00000254: DUP1
00000255: REVERT
00000256: JUMPDEST
00000257: DUP1
00000258: PUSH4 0x50729e6b
0000025d: GT
0000025e: PUSH2 0x0292
00000261: JUMPI
00000262: DUP1
00000263: PUSH4 0x50729e6b
00000268: EQ
00000269: PUSH2 0x0553
0000026c: JUMPI
0000026d: DUP1
0000026e: PUSH4 0x533c0c42
00000273: EQ
00000274: PUSH2 0x0591
00000277: JUMPI
00000278: DUP1
00000279: PUSH4 0x5376a24a
0000027e: EQ
0000027f: PUSH2 0x05a4
00000282: JUMPI
00000283: DUP1
00000284: PUSH4 0x5386a71d
00000289: EQ
0000028a: PUSH2 0x05b7
0000028d: JUMPI
0000028e: PUSH1 0x00
00000290: DUP1
00000291: REVERT
00000292: JUMPDEST
00000293: DUP1
00000294: PUSH4 0x3f680e45
00000299: EQ
0000029a: PUSH2 0x04e2
0000029d: JUMPI
0000029e: DUP1
0000029f: PUSH4 0x455fd5d2
000002a4: EQ
000002a5: PUSH2 0x04f5
000002a8: JUMPI
000002a9: DUP1
000002aa: PUSH4 0x47f9aa9f
000002af: EQ
000002b0: PUSH2 0x04fe
000002b3: JUMPI
000002b4: PUSH1 0x00
000002b6: DUP1
000002b7: REVERT
000002b8: JUMPDEST
000002b9: DUP1
000002ba: PUSH4 0x2e7cc7b2
000002bf: GT
000002c0: PUSH2 0x0325
000002c3: JUMPI
000002c4: DUP1
000002c5: PUSH4 0x38e14c4b
000002ca: GT
000002cb: PUSH2 0x02ff
000002ce: JUMPI
000002cf: DUP1
000002d0: PUSH4 0x38e14c4b
000002d5: EQ
000002d6: PUSH2 0x048c
000002d9: JUMPI
000002da: DUP1
000002db: PUSH4 0x3adc8360
000002e0: EQ
000002e1: PUSH2 0x049f
000002e4: JUMPI
000002e5: DUP1
000002e6: PUSH4 0x3b58f49a
000002eb: EQ
000002ec: PUSH2 0x04a8
000002ef: JUMPI
000002f0: DUP1
000002f1: PUSH4 0x3b72e42c
000002f6: EQ
000002f7: PUSH2 0x04bb
000002fa: JUMPI
000002fb: PUSH1 0x00
000002fd: DUP1
000002fe: REVERT
000002ff: JUMPDEST
00000300: DUP1
00000301: PUSH4 0x2e7cc7b2
00000306: EQ
00000307: PUSH2 0x041a
0000030a: JUMPI
0000030b: DUP1
0000030c: PUSH4 0x31b35ea5
00000311: EQ
00000312: PUSH2 0x042d
00000315: JUMPI
00000316: DUP1
00000317: PUSH4 0x3751954f
0000031c: EQ
0000031d: PUSH2 0x044d
00000320: JUMPI
00000321: PUSH1 0x00
00000323: DUP1
00000324: REVERT
00000325: JUMPDEST
00000326: DUP1
00000327: PUSH4 0x0fb0fff4
0000032c: GT
0000032d: PUSH2 0x0361
00000330: JUMPI
00000331: DUP1
00000332: PUSH4 0x0fb0fff4
00000337: EQ
00000338: PUSH2 0x03cb
0000033b: JUMPI
0000033c: DUP1
0000033d: PUSH4 0x0fba174d
00000342: EQ
00000343: PUSH2 0x03f6
00000346: JUMPI
00000347: DUP1
00000348: PUSH4 0x1c318adf
0000034d: EQ
0000034e: PUSH2 0x03fe
00000351: JUMPI
00000352: DUP1
00000353: PUSH4 0x1dcb573a
00000358: EQ
00000359: PUSH2 0x0407
0000035c: JUMPI
0000035d: PUSH1 0x00
0000035f: DUP1
00000360: REVERT
00000361: JUMPDEST
00000362: DUP1
00000363: PUSH3 0x81d2ef
00000367: EQ
00000368: PUSH2 0x0387
0000036b: JUMPI
0000036c: DUP1
0000036d: PUSH4 0x0a102226
00000372: EQ
00000373: PUSH2 0x039c
00000376: JUMPI
00000377: DUP1
00000378: PUSH4 0x0e3a7d2c
0000037d: EQ
0000037e: PUSH2 0x03b8
00000381: JUMPI
00000382: JUMPDEST
00000383: PUSH1 0x00
00000385: DUP1
00000386: REVERT
00000387: JUMPDEST
00000388: PUSH2 0x039a
0000038b: PUSH2 0x0395
0000038e: CALLDATASIZE
0000038f: PUSH1 0x04
00000391: PUSH2 0x4269
00000394: JUMP
00000395: JUMPDEST
00000396: PUSH2 0x0968
00000399: JUMP
0000039a: JUMPDEST
0000039b: STOP
0000039c: JUMPDEST
0000039d: PUSH2 0x03a5
000003a0: PUSH1 0x04
000003a2: SLOAD
000003a3: DUP2
000003a4: JUMP
000003a5: JUMPDEST
000003a6: PUSH1 0x40
000003a8: MLOAD
000003a9: SWAP1
000003aa: DUP2
000003ab: MSTORE
000003ac: PUSH1 0x20
000003ae: ADD
000003af: JUMPDEST
000003b0: PUSH1 0x40
000003b2: MLOAD
000003b3: DUP1
000003b4: SWAP2
000003b5: SUB
000003b6: SWAP1
000003b7: RETURN
000003b8: JUMPDEST
000003b9: PUSH2 0x039a
000003bc: PUSH2 0x03c6
000003bf: CALLDATASIZE
000003c0: PUSH1 0x04
000003c2: PUSH2 0x4297
000003c5: JUMP
000003c6: JUMPDEST
000003c7: PUSH2 0x0a0a
000003ca: JUMP
000003cb: JUMPDEST
000003cc: PUSH2 0x03a5
000003cf: PUSH2 0x03d9
000003d2: CALLDATASIZE
000003d3: PUSH1 0x04
000003d5: PUSH2 0x42cf
000003d8: JUMP
000003d9: JUMPDEST
000003da: PUSH1 0x1c
000003dc: PUSH1 0x20
000003de: SWAP1
000003df: DUP2
000003e0: MSTORE
000003e1: PUSH1 0x00
000003e3: SWAP3
000003e4: DUP4
000003e5: MSTORE
000003e6: PUSH1 0x40
000003e8: DUP1
000003e9: DUP5
000003ea: KECCAK256
000003eb: SWAP1
000003ec: SWAP2
000003ed: MSTORE
000003ee: SWAP1
000003ef: DUP3
000003f0: MSTORE
000003f1: SWAP1
000003f2: KECCAK256
000003f3: SLOAD
000003f4: DUP2
000003f5: JUMP
000003f6: JUMPDEST
000003f7: PUSH2 0x03a5
000003fa: PUSH1 0x05
000003fc: DUP2
000003fd: JUMP
000003fe: JUMPDEST
000003ff: PUSH2 0x03a5
00000402: PUSH1 0x08
00000404: SLOAD
00000405: DUP2
00000406: JUMP
00000407: JUMPDEST
00000408: PUSH2 0x039a
0000040b: PUSH2 0x0415
0000040e: CALLDATASIZE
0000040f: PUSH1 0x04
00000411: PUSH2 0x42ff
00000414: JUMP
00000415: JUMPDEST
00000416: PUSH2 0x0e18
00000419: JUMP
0000041a: JUMPDEST
0000041b: PUSH2 0x039a
0000041e: PUSH2 0x0428
00000421: CALLDATASIZE
00000422: PUSH1 0x04
00000424: PUSH2 0x4269
00000427: JUMP
00000428: JUMPDEST
00000429: PUSH2 0x0e91
0000042c: JUMP
0000042d: JUMPDEST
0000042e: PUSH2 0x03a5
00000431: PUSH2 0x043b
00000434: CALLDATASIZE
00000435: PUSH1 0x04
00000437: PUSH2 0x4269
0000043a: JUMP
0000043b: JUMPDEST
0000043c: PUSH1 0x13
0000043e: PUSH1 0x20
00000440: MSTORE
00000441: PUSH1 0x00
00000443: SWAP1
00000444: DUP2
00000445: MSTORE
00000446: PUSH1 0x40
00000448: SWAP1
00000449: KECCAK256
0000044a: SLOAD
0000044b: DUP2
0000044c: JUMP
0000044d: JUMPDEST
0000044e: PUSH2 0x0474
00000451: PUSH32 0x000000000000000000000000724e56b0555a3898de205cb55fca228bcbb6d8a3
00000472: DUP2
00000473: JUMP
00000474: JUMPDEST
00000475: PUSH1 0x40
00000477: MLOAD
00000478: PUSH1 0x01
0000047a: PUSH1 0x01
0000047c: PUSH1 0xa0
0000047e: SHL
0000047f: SUB
00000480: SWAP1
00000481: SWAP2
00000482: AND
00000483: DUP2
00000484: MSTORE
00000485: PUSH1 0x20
00000487: ADD
00000488: PUSH2 0x03af
0000048b: JUMP
0000048c: JUMPDEST
0000048d: PUSH2 0x03a5
00000490: PUSH2 0x049a
00000493: CALLDATASIZE
00000494: PUSH1 0x04
00000496: PUSH2 0x431c
00000499: JUMP
0000049a: JUMPDEST
0000049b: PUSH2 0x0f02
0000049e: JUMP
0000049f: JUMPDEST
000004a0: PUSH2 0x03a5
000004a3: PUSH1 0x02
000004a5: SLOAD
000004a6: DUP2
000004a7: JUMP
000004a8: JUMPDEST
000004a9: PUSH2 0x039a
000004ac: PUSH2 0x04b6
000004af: CALLDATASIZE
000004b0: PUSH1 0x04
000004b2: PUSH2 0x4269
000004b5: JUMP
000004b6: JUMPDEST
000004b7: PUSH2 0x0f41
000004ba: JUMP
000004bb: JUMPDEST
000004bc: PUSH2 0x0474
000004bf: PUSH32 0x00000000000000000000000004e99152d348ecfe03d616bbb77a74d921145923
000004e0: DUP2
000004e1: JUMP
000004e2: JUMPDEST
000004e3: PUSH2 0x039a
000004e6: PUSH2 0x04f0
000004e9: CALLDATASIZE
000004ea: PUSH1 0x04
000004ec: PUSH2 0x4269
000004ef: JUMP
000004f0: JUMPDEST
000004f1: PUSH2 0x0fa1
000004f4: JUMP
000004f5: JUMPDEST
000004f6: PUSH2 0x03a5
000004f9: PUSH1 0x03
000004fb: SLOAD
000004fc: DUP2
000004fd: JUMP
000004fe: JUMPDEST
000004ff: PUSH2 0x0533
00000502: PUSH2 0x050c
00000505: CALLDATASIZE
00000506: PUSH1 0x04
00000508: PUSH2 0x42ff
0000050b: JUMP
0000050c: JUMPDEST
0000050d: PUSH1 0x10
0000050f: PUSH1 0x20
00000511: MSTORE
00000512: PUSH1 0x00
00000514: SWAP1
00000515: DUP2
00000516: MSTORE
00000517: PUSH1 0x40
00000519: SWAP1
0000051a: KECCAK256
0000051b: DUP1
0000051c: SLOAD
0000051d: PUSH1 0x01
0000051f: DUP3
00000520: ADD
00000521: SLOAD
00000522: PUSH1 0x02
00000524: DUP4
00000525: ADD
00000526: SLOAD
00000527: PUSH1 0x03
00000529: SWAP1
0000052a: SWAP4
0000052b: ADD
0000052c: SLOAD
0000052d: SWAP2
0000052e: SWAP3
0000052f: SWAP1
00000530: SWAP2
00000531: DUP5
00000532: JUMP
00000533: JUMPDEST
00000534: PUSH1 0x40
00000536: DUP1
00000537: MLOAD
00000538: SWAP5
00000539: DUP6
0000053a: MSTORE
0000053b: PUSH1 0x20
0000053d: DUP6
0000053e: ADD
0000053f: SWAP4
00000540: SWAP1
00000541: SWAP4
00000542: MSTORE
00000543: SWAP2
00000544: DUP4
00000545: ADD
00000546: MSTORE
00000547: PUSH1 0x60
00000549: DUP3
0000054a: ADD
0000054b: MSTORE
0000054c: PUSH1 0x80
0000054e: ADD
0000054f: PUSH2 0x03af
00000552: JUMP
00000553: JUMPDEST
00000554: PUSH2 0x0581
00000557: PUSH2 0x0561
0000055a: CALLDATASIZE
0000055b: PUSH1 0x04
0000055d: PUSH2 0x42cf
00000560: JUMP
00000561: JUMPDEST
00000562: PUSH1 0x18
00000564: PUSH1 0x20
00000566: SWAP1
00000567: DUP2
00000568: MSTORE
00000569: PUSH1 0x00
0000056b: SWAP3
0000056c: DUP4
0000056d: MSTORE
0000056e: PUSH1 0x40
00000570: DUP1
00000571: DUP5
00000572: KECCAK256
00000573: SWAP1
00000574: SWAP2
00000575: MSTORE
00000576: SWAP1
00000577: DUP3
00000578: MSTORE
00000579: SWAP1
0000057a: KECCAK256
0000057b: SLOAD
0000057c: PUSH1 0xff
0000057e: AND
0000057f: DUP2
00000580: JUMP
00000581: JUMPDEST
00000582: PUSH1 0x40
00000584: MLOAD
00000585: SWAP1
00000586: ISZERO
00000587: ISZERO
00000588: DUP2
00000589: MSTORE
0000058a: PUSH1 0x20
0000058c: ADD
0000058d: PUSH2 0x03af
00000590: JUMP
00000591: JUMPDEST
00000592: PUSH2 0x0474
00000595: PUSH2 0x059f
00000598: CALLDATASIZE
00000599: PUSH1 0x04
0000059b: PUSH2 0x4348
0000059e: JUMP
0000059f: JUMPDEST
000005a0: PUSH2 0x124f
000005a3: JUMP
000005a4: JUMPDEST
000005a5: PUSH2 0x039a
000005a8: PUSH2 0x05b2
000005ab: CALLDATASIZE
000005ac: PUSH1 0x04
000005ae: PUSH2 0x4348
000005b1: JUMP
000005b2: JUMPDEST
000005b3: PUSH2 0x1287
000005b6: JUMP
000005b7: JUMPDEST
000005b8: PUSH2 0x05ca
000005bb: PUSH2 0x05c5
000005be: CALLDATASIZE
000005bf: PUSH1 0x04
000005c1: PUSH2 0x42ff
000005c4: JUMP
000005c5: JUMPDEST
000005c6: PUSH2 0x14b1
000005c9: JUMP
000005ca: JUMPDEST
000005cb: PUSH1 0x40
000005cd: MLOAD
000005ce: PUSH2 0x03af
000005d1: SWAP2
000005d2: SWAP1
000005d3: PUSH2 0x43a2
000005d6: JUMP
000005d7: JUMPDEST
000005d8: PUSH2 0x039a
000005db: PUSH2 0x05e5
000005de: CALLDATASIZE
000005df: PUSH1 0x04
000005e1: PUSH2 0x4269
000005e4: JUMP
000005e5: JUMPDEST
000005e6: PUSH2 0x1528
000005e9: JUMP
000005ea: JUMPDEST
000005eb: PUSH2 0x0581
000005ee: PUSH2 0x05f8
000005f1: CALLDATASIZE
000005f2: PUSH1 0x04
000005f4: PUSH2 0x4269
000005f7: JUMP
000005f8: JUMPDEST
000005f9: PUSH1 0x1b
000005fb: PUSH1 0x20
000005fd: MSTORE
000005fe: PUSH1 0x00
00000600: SWAP1
00000601: DUP2
00000602: MSTORE
00000603: PUSH1 0x40
00000605: SWAP1
00000606: KECCAK256
00000607: SLOAD
00000608: PUSH1 0xff
0000060a: AND
0000060b: DUP2
0000060c: JUMP
0000060d: JUMPDEST
0000060e: PUSH2 0x03a5
00000611: PUSH1 0x06
00000613: SLOAD
00000614: DUP2
00000615: JUMP
00000616: JUMPDEST
00000617: PUSH2 0x039a
0000061a: PUSH2 0x0624
0000061d: CALLDATASIZE
0000061e: PUSH1 0x04
00000620: PUSH2 0x43b6
00000623: JUMP
00000624: JUMPDEST
00000625: PUSH2 0x18b5
00000628: JUMP
00000629: JUMPDEST
0000062a: PUSH1 0x0a
0000062c: SLOAD
0000062d: PUSH2 0x0474
00000630: SWAP1
00000631: PUSH1 0x01
00000633: PUSH1 0x01
00000635: PUSH1 0xa0
00000637: SHL
00000638: SUB
00000639: AND
0000063a: DUP2
0000063b: JUMP
0000063c: JUMPDEST
0000063d: PUSH2 0x0679
00000640: PUSH2 0x064a
00000643: CALLDATASIZE
00000644: PUSH1 0x04
00000646: PUSH2 0x42ff
00000649: JUMP
0000064a: JUMPDEST
0000064b: PUSH1 0x0e
0000064d: PUSH1 0x20
0000064f: MSTORE
00000650: PUSH1 0x00
00000652: SWAP1
00000653: DUP2
00000654: MSTORE
00000655: PUSH1 0x40
00000657: SWAP1
00000658: KECCAK256
00000659: DUP1
0000065a: SLOAD
0000065b: PUSH1 0x01
0000065d: SWAP1
0000065e: SWAP2
0000065f: ADD
00000660: SLOAD
00000661: PUSH1 0x01
00000663: PUSH1 0x01
00000665: PUSH1 0xa0
00000667: SHL
00000668: SUB
00000669: DUP3
0000066a: AND
0000066b: SWAP2
0000066c: PUSH1 0x01
0000066e: PUSH1 0xa0
00000670: SHL
00000671: SWAP1
00000672: DIV
00000673: PUSH1 0xff
00000675: AND
00000676: SWAP1
00000677: DUP4
00000678: JUMP
00000679: JUMPDEST
0000067a: PUSH1 0x40
0000067c: DUP1
0000067d: MLOAD
0000067e: PUSH1 0x01
00000680: PUSH1 0x01
00000682: PUSH1 0xa0
00000684: SHL
00000685: SUB
00000686: SWAP1
00000687: SWAP5
00000688: AND
00000689: DUP5
0000068a: MSTORE
0000068b: SWAP2
0000068c: ISZERO
0000068d: ISZERO
0000068e: PUSH1 0x20
00000690: DUP5
00000691: ADD
00000692: MSTORE
00000693: SWAP1
00000694: DUP3
00000695: ADD
00000696: MSTORE
00000697: PUSH1 0x60
00000699: ADD
0000069a: PUSH2 0x03af
0000069d: JUMP
0000069e: JUMPDEST
0000069f: PUSH2 0x0474
000006a2: PUSH2 0x06ac
000006a5: CALLDATASIZE
000006a6: PUSH1 0x04
000006a8: PUSH2 0x42ff
000006ab: JUMP
000006ac: JUMPDEST
000006ad: PUSH1 0x0d
000006af: PUSH1 0x20
000006b1: MSTORE
000006b2: PUSH1 0x00
000006b4: SWAP1
000006b5: DUP2
000006b6: MSTORE
000006b7: PUSH1 0x40
000006b9: SWAP1
000006ba: KECCAK256
000006bb: SLOAD
000006bc: PUSH1 0x01
000006be: PUSH1 0x01
000006c0: PUSH1 0xa0
000006c2: SHL
000006c3: SUB
000006c4: AND
000006c5: DUP2
000006c6: JUMP
000006c7: JUMPDEST
000006c8: PUSH2 0x039a
000006cb: PUSH2 0x06d5
000006ce: CALLDATASIZE
000006cf: PUSH1 0x04
000006d1: PUSH2 0x4269
000006d4: JUMP
000006d5: JUMPDEST
000006d6: PUSH2 0x1adb
000006d9: JUMP
000006da: JUMPDEST
000006db: PUSH2 0x03a5
000006de: PUSH1 0x01
000006e0: SLOAD
000006e1: DUP2
000006e2: JUMP
000006e3: JUMPDEST
000006e4: PUSH2 0x0474
000006e7: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00000708: DUP2
00000709: JUMP
0000070a: JUMPDEST
0000070b: PUSH2 0x03a5
0000070e: PUSH1 0x07
00000710: SLOAD
00000711: DUP2
00000712: JUMP
00000713: JUMPDEST
00000714: PUSH2 0x0726
00000717: PUSH2 0x0721
0000071a: CALLDATASIZE
0000071b: PUSH1 0x04
0000071d: PUSH2 0x42ff
00000720: JUMP
00000721: JUMPDEST
00000722: PUSH2 0x1b44
00000725: JUMP
00000726: JUMPDEST
00000727: PUSH1 0x40
00000729: MLOAD
0000072a: PUSH2 0x03af
0000072d: SWAP2
0000072e: SWAP1
0000072f: PUSH2 0x43ef
00000732: JUMP
00000733: JUMPDEST
00000734: PUSH1 0x09
00000736: SLOAD
00000737: PUSH2 0x0474
0000073a: SWAP1
0000073b: PUSH1 0x01
0000073d: PUSH1 0x01
0000073f: PUSH1 0xa0
00000741: SHL
00000742: SUB
00000743: AND
00000744: DUP2
00000745: JUMP
00000746: JUMPDEST
00000747: PUSH2 0x03a5
0000074a: PUSH2 0x0754
0000074d: CALLDATASIZE
0000074e: PUSH1 0x04
00000750: PUSH2 0x4420
00000753: JUMP
00000754: JUMPDEST
00000755: PUSH2 0x1b96
00000758: JUMP
00000759: JUMPDEST
0000075a: PUSH2 0x039a
0000075d: PUSH2 0x0767
00000760: CALLDATASIZE
00000761: PUSH1 0x04
00000763: PUSH2 0x42ff
00000766: JUMP
00000767: JUMPDEST
00000768: PUSH2 0x1fcf
0000076b: JUMP
0000076c: JUMPDEST
0000076d: PUSH2 0x03a5
00000770: PUSH2 0x077a
00000773: CALLDATASIZE
00000774: PUSH1 0x04
00000776: PUSH2 0x4269
00000779: JUMP
0000077a: JUMPDEST
0000077b: PUSH1 0x12
0000077d: PUSH1 0x20
0000077f: MSTORE
00000780: PUSH1 0x00
00000782: SWAP1
00000783: DUP2
00000784: MSTORE
00000785: PUSH1 0x40
00000787: SWAP1
00000788: KECCAK256
00000789: SLOAD
0000078a: DUP2
0000078b: JUMP
0000078c: JUMPDEST
0000078d: PUSH2 0x079f
00000790: PUSH2 0x079a
00000793: CALLDATASIZE
00000794: PUSH1 0x04
00000796: PUSH2 0x4269
00000799: JUMP
0000079a: JUMPDEST
0000079b: PUSH2 0x21f9
0000079e: JUMP
0000079f: JUMPDEST
000007a0: PUSH1 0x40
000007a2: MLOAD
000007a3: PUSH2 0x03af
000007a6: SWAP8
000007a7: SWAP7
000007a8: SWAP6
000007a9: SWAP5
000007aa: SWAP4
000007ab: SWAP3
000007ac: SWAP2
000007ad: SWAP1
000007ae: PUSH2 0x44f4
000007b1: JUMP
000007b2: JUMPDEST
000007b3: PUSH1 0x0b
000007b5: SLOAD
000007b6: PUSH2 0x0474
000007b9: SWAP1
000007ba: PUSH1 0x01
000007bc: PUSH1 0x01
000007be: PUSH1 0xa0
000007c0: SHL
000007c1: SUB
000007c2: AND
000007c3: DUP2
000007c4: JUMP
000007c5: JUMPDEST
000007c6: PUSH2 0x03a5
000007c9: PUSH2 0x07d3
000007cc: CALLDATASIZE
000007cd: PUSH1 0x04
000007cf: PUSH2 0x42cf
000007d2: JUMP
000007d3: JUMPDEST
000007d4: PUSH1 0x19
000007d6: PUSH1 0x20
000007d8: SWAP1
000007d9: DUP2
000007da: MSTORE
000007db: PUSH1 0x00
000007dd: SWAP3
000007de: DUP4
000007df: MSTORE
000007e0: PUSH1 0x40
000007e2: DUP1
000007e3: DUP5
000007e4: KECCAK256
000007e5: SWAP1
000007e6: SWAP2
000007e7: MSTORE
000007e8: SWAP1
000007e9: DUP3
000007ea: MSTORE
000007eb: SWAP1
000007ec: KECCAK256
000007ed: SLOAD
000007ee: DUP2
000007ef: JUMP
000007f0: JUMPDEST
000007f1: PUSH2 0x03a5
000007f4: PUSH1 0x05
000007f6: SLOAD
000007f7: DUP2
000007f8: JUMP
000007f9: JUMPDEST
000007fa: PUSH2 0x03a5
000007fd: PUSH2 0x0807
00000800: CALLDATASIZE
00000801: PUSH1 0x04
00000803: PUSH2 0x4348
00000806: JUMP
00000807: JUMPDEST
00000808: PUSH2 0x22d8
0000080b: JUMP
0000080c: JUMPDEST
0000080d: PUSH2 0x039a
00000810: PUSH2 0x081a
00000813: CALLDATASIZE
00000814: PUSH1 0x04
00000816: PUSH2 0x4561
00000819: JUMP
0000081a: JUMPDEST
0000081b: PUSH2 0x2309
0000081e: JUMP
0000081f: JUMPDEST
00000820: PUSH2 0x039a
00000823: PUSH2 0x082d
00000826: CALLDATASIZE
00000827: PUSH1 0x04
00000829: PUSH2 0x459c
0000082c: JUMP
0000082d: JUMPDEST
0000082e: PUSH2 0x262d
00000831: JUMP
00000832: JUMPDEST
00000833: PUSH2 0x0845
00000836: PUSH2 0x0840
00000839: CALLDATASIZE
0000083a: PUSH1 0x04
0000083c: PUSH2 0x4269
0000083f: JUMP
00000840: JUMPDEST
00000841: PUSH2 0x2a86
00000844: JUMP
00000845: JUMPDEST
00000846: PUSH1 0x40
00000848: DUP1
00000849: MLOAD
0000084a: SWAP3
0000084b: DUP4
0000084c: MSTORE
0000084d: PUSH1 0x20
0000084f: DUP4
00000850: ADD
00000851: SWAP2
00000852: SWAP1
00000853: SWAP2
00000854: MSTORE
00000855: ADD
00000856: PUSH2 0x03af
00000859: JUMP
0000085a: JUMPDEST
0000085b: PUSH2 0x039a
0000085e: PUSH2 0x0868
00000861: CALLDATASIZE
00000862: PUSH1 0x04
00000864: PUSH2 0x4269
00000867: JUMP
00000868: JUMPDEST
00000869: PUSH2 0x2ba3
0000086c: JUMP
0000086d: JUMPDEST
0000086e: PUSH2 0x0581
00000871: PUSH2 0x087b
00000874: CALLDATASIZE
00000875: PUSH1 0x04
00000877: PUSH2 0x42ff
0000087a: JUMP
0000087b: JUMPDEST
0000087c: PUSH1 0x11
0000087e: PUSH1 0x20
00000880: MSTORE
00000881: PUSH1 0x00
00000883: SWAP1
00000884: DUP2
00000885: MSTORE
00000886: PUSH1 0x40
00000888: SWAP1
00000889: KECCAK256
0000088a: SLOAD
0000088b: PUSH1 0xff
0000088d: AND
0000088e: DUP2
0000088f: JUMP
00000890: JUMPDEST
00000891: PUSH2 0x03a5
00000894: PUSH2 0x089e
00000897: CALLDATASIZE
00000898: PUSH1 0x04
0000089a: PUSH2 0x42cf
0000089d: JUMP
0000089e: JUMPDEST
0000089f: PUSH1 0x17
000008a1: PUSH1 0x20
000008a3: SWAP1
000008a4: DUP2
000008a5: MSTORE
000008a6: PUSH1 0x00
000008a8: SWAP3
000008a9: DUP4
000008aa: MSTORE
000008ab: PUSH1 0x40
000008ad: DUP1
000008ae: DUP5
000008af: KECCAK256
000008b0: SWAP1
000008b1: SWAP2
000008b2: MSTORE
000008b3: SWAP1
000008b4: DUP3
000008b5: MSTORE
000008b6: SWAP1
000008b7: KECCAK256
000008b8: SLOAD
000008b9: DUP2
000008ba: JUMP
000008bb: JUMPDEST
000008bc: PUSH2 0x03a5
000008bf: PUSH2 0x08c9
000008c2: CALLDATASIZE
000008c3: PUSH1 0x04
000008c5: PUSH2 0x42ff
000008c8: JUMP
000008c9: JUMPDEST
000008ca: PUSH2 0x2c03
000008cd: JUMP
000008ce: JUMPDEST
000008cf: PUSH2 0x039a
000008d2: PUSH2 0x08dc
000008d5: CALLDATASIZE
000008d6: PUSH1 0x04
000008d8: PUSH2 0x42cf
000008db: JUMP
000008dc: JUMPDEST
000008dd: PUSH2 0x2e62
000008e0: JUMP
000008e1: JUMPDEST
000008e2: PUSH2 0x039a
000008e5: PUSH2 0x08ef
000008e8: CALLDATASIZE
000008e9: PUSH1 0x04
000008eb: PUSH2 0x42ff
000008ee: JUMP
000008ef: JUMPDEST
000008f0: PUSH2 0x315d
000008f3: JUMP
000008f4: JUMPDEST
000008f5: PUSH2 0x03a5
000008f8: PUSH2 0x0902
000008fb: CALLDATASIZE
000008fc: PUSH1 0x04
000008fe: PUSH2 0x4269
00000901: JUMP
00000902: JUMPDEST
00000903: PUSH1 0x14
00000905: PUSH1 0x20
00000907: MSTORE
00000908: PUSH1 0x00
0000090a: SWAP1
0000090b: DUP2
0000090c: MSTORE
0000090d: PUSH1 0x40
0000090f: SWAP1
00000910: KECCAK256
00000911: SLOAD
00000912: DUP2
00000913: JUMP
00000914: JUMPDEST
00000915: PUSH2 0x039a
00000918: PUSH2 0x0922
0000091b: CALLDATASIZE
0000091c: PUSH1 0x04
0000091e: PUSH2 0x4269
00000921: JUMP
00000922: JUMPDEST
00000923: PUSH2 0x31d9
00000926: JUMP
00000927: JUMPDEST
00000928: PUSH2 0x039a
0000092b: PUSH2 0x0935
0000092e: CALLDATASIZE
0000092f: PUSH1 0x04
00000931: PUSH2 0x4269
00000934: JUMP
00000935: JUMPDEST
00000936: PUSH2 0x3239
00000939: JUMP
0000093a: JUMPDEST
0000093b: PUSH2 0x0474
0000093e: PUSH2 0x0948
00000941: CALLDATASIZE
00000942: PUSH1 0x04
00000944: PUSH2 0x4348
00000947: JUMP
00000948: JUMPDEST
00000949: PUSH2 0x3299
0000094c: JUMP
0000094d: JUMPDEST
0000094e: PUSH2 0x039a
00000951: PUSH2 0x095b
00000954: CALLDATASIZE
00000955: PUSH1 0x04
00000957: PUSH2 0x42ff
0000095a: JUMP
0000095b: JUMPDEST
0000095c: PUSH2 0x32b5
0000095f: JUMP
00000960: JUMPDEST
00000961: PUSH2 0x039a
00000964: PUSH2 0x3332
00000967: JUMP
00000968: JUMPDEST
00000969: PUSH1 0x09
0000096b: SLOAD
0000096c: PUSH1 0x01
0000096e: PUSH1 0x01
00000970: PUSH1 0xa0
00000972: SHL
00000973: SUB
00000974: AND
00000975: CALLER
00000976: EQ
00000977: PUSH2 0x0993
0000097a: JUMPI
0000097b: PUSH1 0x40
0000097d: MLOAD
0000097e: PUSH4 0x30cd7471
00000983: PUSH1 0xe0
00000985: SHL
00000986: DUP2
00000987: MSTORE
00000988: PUSH1 0x04
0000098a: ADD
0000098b: PUSH1 0x40
0000098d: MLOAD
0000098e: DUP1
0000098f: SWAP2
00000990: SUB
00000991: SWAP1
00000992: REVERT
00000993: JUMPDEST
00000994: PUSH1 0x19
00000996: DUP2
00000997: GT
00000998: ISZERO
00000999: PUSH2 0x09ce
0000099c: JUMPI
0000099d: PUSH1 0x40
0000099f: MLOAD
000009a0: PUSH32 0x58d620b300000000000000000000000000000000000000000000000000000000
000009c1: DUP2
000009c2: MSTORE
000009c3: PUSH1 0x04
000009c5: ADD
000009c6: PUSH1 0x40
000009c8: MLOAD
000009c9: DUP1
000009ca: SWAP2
000009cb: SUB
000009cc: SWAP1
000009cd: REVERT
000009ce: JUMPDEST
000009cf: PUSH1 0x01
000009d1: DUP2
000009d2: SWAP1
000009d3: SSTORE
000009d4: PUSH1 0x40
000009d6: MLOAD
000009d7: DUP2
000009d8: DUP2
000009d9: MSTORE
000009da: PUSH32 0x131e1261c6b52e80038b6ec8bc9eebb015e73beeb5a966ad823d01c888c07c64
000009fb: SWAP1
000009fc: PUSH1 0x20
000009fe: ADD
000009ff: JUMPDEST
00000a00: PUSH1 0x40
00000a02: MLOAD
00000a03: DUP1
00000a04: SWAP2
00000a05: SUB
00000a06: SWAP1
00000a07: LOG1
00000a08: POP
00000a09: JUMP
00000a0a: JUMPDEST
00000a0b: PUSH1 0x00
00000a0d: DUP4
00000a0e: DUP2
00000a0f: MSTORE
00000a10: PUSH1 0x0f
00000a12: PUSH1 0x20
00000a14: SWAP1
00000a15: DUP2
00000a16: MSTORE
00000a17: PUSH1 0x40
00000a19: DUP1
00000a1a: DUP4
00000a1b: KECCAK256
00000a1c: DUP2
00000a1d: MLOAD
00000a1e: DUP2
00000a1f: SLOAD
00000a20: PUSH2 0x0120
00000a23: SWAP5
00000a24: DUP2
00000a25: MUL
00000a26: DUP3
00000a27: ADD
00000a28: DUP6
00000a29: ADD
00000a2a: SWAP1
00000a2b: SWAP4
00000a2c: MSTORE
00000a2d: PUSH2 0x0100
00000a30: DUP2
00000a31: ADD
00000a32: DUP4
00000a33: DUP2
00000a34: MSTORE
00000a35: SWAP1
00000a36: SWAP4
00000a37: SWAP2
00000a38: SWAP3
00000a39: DUP5
00000a3a: SWAP3
00000a3b: DUP5
00000a3c: SWAP2
00000a3d: SWAP1
00000a3e: DUP5
00000a3f: ADD
00000a40: DUP3
00000a41: DUP3
00000a42: DUP1
00000a43: ISZERO
00000a44: PUSH2 0x0a76
00000a47: JUMPI
00000a48: PUSH1 0x20
00000a4a: MUL
00000a4b: DUP3
00000a4c: ADD
00000a4d: SWAP2
00000a4e: SWAP1
00000a4f: PUSH1 0x00
00000a51: MSTORE
00000a52: PUSH1 0x20
00000a54: PUSH1 0x00
00000a56: KECCAK256
00000a57: SWAP1
00000a58: JUMPDEST
00000a59: DUP2
00000a5a: SLOAD
00000a5b: PUSH1 0x01
00000a5d: PUSH1 0x01
00000a5f: PUSH1 0xa0
00000a61: SHL
00000a62: SUB
00000a63: AND
00000a64: DUP2
00000a65: MSTORE
00000a66: PUSH1 0x01
00000a68: SWAP1
00000a69: SWAP2
00000a6a: ADD
00000a6b: SWAP1
00000a6c: PUSH1 0x20
00000a6e: ADD
00000a6f: DUP1
00000a70: DUP4
00000a71: GT
00000a72: PUSH2 0x0a58
00000a75: JUMPI
00000a76: JUMPDEST
00000a77: POP
00000a78: POP
00000a79: POP
00000a7a: SWAP2
00000a7b: DUP4
00000a7c: MSTORE
00000a7d: POP
00000a7e: POP
00000a7f: PUSH1 0x01
00000a81: DUP3
00000a82: ADD
00000a83: SLOAD
00000a84: PUSH1 0x01
00000a86: PUSH1 0x01
00000a88: PUSH1 0xa0
00000a8a: SHL
00000a8b: SUB
00000a8c: SWAP1
00000a8d: DUP2
00000a8e: AND
00000a8f: PUSH1 0x20
00000a91: DUP4
00000a92: ADD
00000a93: MSTORE
00000a94: PUSH1 0x02
00000a96: DUP4
00000a97: ADD
00000a98: SLOAD
00000a99: SWAP1
00000a9a: DUP2
00000a9b: AND
00000a9c: PUSH1 0x40
00000a9e: DUP4
00000a9f: ADD
00000aa0: MSTORE
00000aa1: PUSH1 0x60
00000aa3: SWAP1
00000aa4: SWAP2
00000aa5: ADD
00000aa6: SWAP1
00000aa7: PUSH1 0x01
00000aa9: PUSH1 0xa0
00000aab: SHL
00000aac: SWAP1
00000aad: DIV
00000aae: PUSH1 0xff
00000ab0: AND
00000ab1: PUSH1 0x04
00000ab3: DUP2
00000ab4: GT
00000ab5: ISZERO
00000ab6: PUSH2 0x0ac1
00000ab9: JUMPI
00000aba: PUSH2 0x0ac1
00000abd: PUSH2 0x436a
00000ac0: JUMP
00000ac1: JUMPDEST
00000ac2: PUSH1 0x04
00000ac4: DUP2
00000ac5: GT
00000ac6: ISZERO
00000ac7: PUSH2 0x0ad2
00000aca: JUMPI
00000acb: PUSH2 0x0ad2
00000ace: PUSH2 0x436a
00000ad1: JUMP
00000ad2: JUMPDEST
00000ad3: DUP2
00000ad4: MSTORE
00000ad5: PUSH1 0x20
00000ad7: ADD
00000ad8: PUSH1 0x03
00000ada: DUP3
00000adb: ADD
00000adc: DUP1
00000add: SLOAD
00000ade: PUSH2 0x0ae6
00000ae1: SWAP1
00000ae2: PUSH2 0x4675
00000ae5: JUMP
00000ae6: JUMPDEST
00000ae7: DUP1
00000ae8: PUSH1 0x1f
00000aea: ADD
00000aeb: PUSH1 0x20
00000aed: DUP1
00000aee: SWAP2
00000aef: DIV
00000af0: MUL
00000af1: PUSH1 0x20
00000af3: ADD
00000af4: PUSH1 0x40
00000af6: MLOAD
00000af7: SWAP1
00000af8: DUP2
00000af9: ADD
00000afa: PUSH1 0x40
00000afc: MSTORE
00000afd: DUP1
00000afe: SWAP3
00000aff: SWAP2
00000b00: SWAP1
00000b01: DUP2
00000b02: DUP2
00000b03: MSTORE
00000b04: PUSH1 0x20
00000b06: ADD
00000b07: DUP3
00000b08: DUP1
00000b09: SLOAD
00000b0a: PUSH2 0x0b12
00000b0d: SWAP1
00000b0e: PUSH2 0x4675
00000b11: JUMP
00000b12: JUMPDEST
00000b13: DUP1
00000b14: ISZERO
00000b15: PUSH2 0x0b5f
00000b18: JUMPI
00000b19: DUP1
00000b1a: PUSH1 0x1f
00000b1c: LT
00000b1d: PUSH2 0x0b34
00000b20: JUMPI
00000b21: PUSH2 0x0100
00000b24: DUP1
00000b25: DUP4
00000b26: SLOAD
00000b27: DIV
00000b28: MUL
00000b29: DUP4
00000b2a: MSTORE
00000b2b: SWAP2
00000b2c: PUSH1 0x20
00000b2e: ADD
00000b2f: SWAP2
00000b30: PUSH2 0x0b5f
00000b33: JUMP
00000b34: JUMPDEST
00000b35: DUP3
00000b36: ADD
00000b37: SWAP2
00000b38: SWAP1
00000b39: PUSH1 0x00
00000b3b: MSTORE
00000b3c: PUSH1 0x20
00000b3e: PUSH1 0x00
00000b40: KECCAK256
00000b41: SWAP1
00000b42: JUMPDEST
00000b43: DUP2
00000b44: SLOAD
00000b45: DUP2
00000b46: MSTORE
00000b47: SWAP1
00000b48: PUSH1 0x01
00000b4a: ADD
00000b4b: SWAP1
00000b4c: PUSH1 0x20
00000b4e: ADD
00000b4f: DUP1
00000b50: DUP4
00000b51: GT
00000b52: PUSH2 0x0b42
00000b55: JUMPI
00000b56: DUP3
00000b57: SWAP1
00000b58: SUB
00000b59: PUSH1 0x1f
00000b5b: AND
00000b5c: DUP3
00000b5d: ADD
00000b5e: SWAP2
00000b5f: JUMPDEST
00000b60: POP
00000b61: POP
00000b62: POP
00000b63: SWAP2
00000b64: DUP4
00000b65: MSTORE
00000b66: POP
00000b67: POP
00000b68: PUSH1 0x04
00000b6a: DUP3
00000b6b: ADD
00000b6c: SLOAD
00000b6d: PUSH1 0x20
00000b6f: DUP3
00000b70: ADD
00000b71: MSTORE
00000b72: PUSH1 0x05
00000b74: DUP3
00000b75: ADD
00000b76: SLOAD
00000b77: PUSH1 0x40
00000b79: DUP3
00000b7a: ADD
00000b7b: MSTORE
00000b7c: PUSH1 0x06
00000b7e: SWAP1
00000b7f: SWAP2
00000b80: ADD
00000b81: SLOAD
00000b82: PUSH1 0xff
00000b84: AND
00000b85: ISZERO
00000b86: ISZERO
00000b87: PUSH1 0x60
00000b89: SWAP1
00000b8a: SWAP2
00000b8b: ADD
00000b8c: MSTORE
00000b8d: SWAP1
00000b8e: POP
00000b8f: PUSH1 0x01
00000b91: DUP2
00000b92: PUSH1 0x60
00000b94: ADD
00000b95: MLOAD
00000b96: PUSH1 0x04
00000b98: DUP2
00000b99: GT
00000b9a: ISZERO
00000b9b: PUSH2 0x0ba6
00000b9e: JUMPI
00000b9f: PUSH2 0x0ba6
00000ba2: PUSH2 0x436a
00000ba5: JUMP
00000ba6: JUMPDEST
00000ba7: EQ
00000ba8: PUSH2 0x0bc4
00000bab: JUMPI
00000bac: PUSH1 0x40
00000bae: MLOAD
00000baf: PUSH4 0x1458625d
00000bb4: PUSH1 0xe1
00000bb6: SHL
00000bb7: DUP2
00000bb8: MSTORE
00000bb9: PUSH1 0x04
00000bbb: ADD
00000bbc: PUSH1 0x40
00000bbe: MLOAD
00000bbf: DUP1
00000bc0: SWAP2
00000bc1: SUB
00000bc2: SWAP1
00000bc3: REVERT
00000bc4: JUMPDEST
00000bc5: PUSH1 0x20
00000bc7: DUP2
00000bc8: ADD
00000bc9: MLOAD
00000bca: PUSH1 0x01
00000bcc: PUSH1 0x01
00000bce: PUSH1 0xa0
00000bd0: SHL
00000bd1: SUB
00000bd2: AND
00000bd3: CALLER
00000bd4: EQ
00000bd5: PUSH2 0x0bf1
00000bd8: JUMPI
00000bd9: PUSH1 0x40
00000bdb: MLOAD
00000bdc: PUSH4 0xf87c8669
00000be1: PUSH1 0xe0
00000be3: SHL
00000be4: DUP2
00000be5: MSTORE
00000be6: PUSH1 0x04
00000be8: ADD
00000be9: PUSH1 0x40
00000beb: MLOAD
00000bec: DUP1
00000bed: SWAP2
00000bee: SUB
00000bef: SWAP1
00000bf0: REVERT
00000bf1: JUMPDEST
00000bf2: PUSH1 0x01
00000bf4: PUSH1 0x01
00000bf6: PUSH1 0xa0
00000bf8: SHL
00000bf9: SUB
00000bfa: DUP4
00000bfb: AND
00000bfc: PUSH1 0x00
00000bfe: SWAP1
00000bff: DUP2
00000c00: MSTORE
00000c01: PUSH1 0x11
00000c03: PUSH1 0x20
00000c05: MSTORE
00000c06: PUSH1 0x40
00000c08: SWAP1
00000c09: KECCAK256
00000c0a: SLOAD
00000c0b: PUSH1 0xff
00000c0d: AND
00000c0e: PUSH2 0x0c2a
00000c11: JUMPI
00000c12: PUSH1 0x40
00000c14: MLOAD
00000c15: PUSH4 0x8775fd1d
00000c1a: PUSH1 0xe0
00000c1c: SHL
00000c1d: DUP2
00000c1e: MSTORE
00000c1f: PUSH1 0x04
00000c21: ADD
00000c22: PUSH1 0x40
00000c24: MLOAD
00000c25: DUP1
00000c26: SWAP2
00000c27: SUB
00000c28: SWAP1
00000c29: REVERT
00000c2a: JUMPDEST
00000c2b: PUSH1 0x00
00000c2d: DUP5
00000c2e: DUP2
00000c2f: MSTORE
00000c30: PUSH1 0x12
00000c32: PUSH1 0x20
00000c34: MSTORE
00000c35: PUSH1 0x40
00000c37: SWAP1
00000c38: KECCAK256
00000c39: SLOAD
00000c3a: PUSH1 0x64
00000c3c: SWAP1
00000c3d: PUSH2 0x0c47
00000c40: SWAP1
00000c41: DUP5
00000c42: SWAP1
00000c43: PUSH2 0x46bf
00000c46: JUMP
00000c47: JUMPDEST
00000c48: GT
00000c49: ISZERO
00000c4a: PUSH2 0x0c7f
00000c4d: JUMPI
00000c4e: PUSH1 0x40
00000c50: MLOAD
00000c51: PUSH32 0xf287e19000000000000000000000000000000000000000000000000000000000
00000c72: DUP2
00000c73: MSTORE
00000c74: PUSH1 0x04
00000c76: ADD
00000c77: PUSH1 0x40
00000c79: MLOAD
00000c7a: DUP1
00000c7b: SWAP2
00000c7c: SUB
00000c7d: SWAP1
00000c7e: REVERT
00000c7f: JUMPDEST
00000c80: PUSH1 0x01
00000c82: PUSH1 0x01
00000c84: PUSH1 0xa0
00000c86: SHL
00000c87: SUB
00000c88: DUP4
00000c89: AND
00000c8a: CALLER
00000c8b: EQ
00000c8c: DUP1
00000c8d: PUSH2 0x0cab
00000c90: JUMPI
00000c91: POP
00000c92: DUP1
00000c93: PUSH1 0x40
00000c95: ADD
00000c96: MLOAD
00000c97: PUSH1 0x01
00000c99: PUSH1 0x01
00000c9b: PUSH1 0xa0
00000c9d: SHL
00000c9e: SUB
00000c9f: AND
00000ca0: DUP4
00000ca1: PUSH1 0x01
00000ca3: PUSH1 0x01
00000ca5: PUSH1 0xa0
00000ca7: SHL
00000ca8: SUB
00000ca9: AND
00000caa: EQ
00000cab: JUMPDEST
00000cac: ISZERO
00000cad: PUSH2 0x0ce2
00000cb0: JUMPI
00000cb1: PUSH1 0x40
00000cb3: MLOAD
00000cb4: PUSH32 0xf984d43b00000000000000000000000000000000000000000000000000000000
00000cd5: DUP2
00000cd6: MSTORE
00000cd7: PUSH1 0x04
00000cd9: ADD
00000cda: PUSH1 0x40
00000cdc: MLOAD
00000cdd: DUP1
00000cde: SWAP2
00000cdf: SUB
00000ce0: SWAP1
00000ce1: REVERT
00000ce2: JUMPDEST
00000ce3: PUSH1 0x00
00000ce5: DUP5
00000ce6: DUP2
00000ce7: MSTORE
00000ce8: PUSH1 0x17
00000cea: PUSH1 0x20
00000cec: SWAP1
00000ced: DUP2
00000cee: MSTORE
00000cef: PUSH1 0x40
00000cf1: DUP1
00000cf2: DUP4
00000cf3: KECCAK256
00000cf4: PUSH1 0x01
00000cf6: PUSH1 0x01
00000cf8: PUSH1 0xa0
00000cfa: SHL
00000cfb: SUB
00000cfc: DUP8
00000cfd: AND
00000cfe: DUP5
00000cff: MSTORE
00000d00: SWAP1
00000d01: SWAP2
00000d02: MSTORE
00000d03: SWAP1
00000d04: KECCAK256
00000d05: SLOAD
00000d06: DUP1
00000d07: ISZERO
00000d08: PUSH2 0x0d3d
00000d0b: JUMPI
00000d0c: PUSH1 0x40
00000d0e: MLOAD
00000d0f: PUSH32 0x4c3a3ec000000000000000000000000000000000000000000000000000000000
00000d30: DUP2
00000d31: MSTORE
00000d32: PUSH1 0x04
00000d34: ADD
00000d35: PUSH1 0x40
00000d37: MLOAD
00000d38: DUP1
00000d39: SWAP2
00000d3a: SUB
00000d3b: SWAP1
00000d3c: REVERT
00000d3d: JUMPDEST
00000d3e: PUSH1 0x00
00000d40: DUP6
00000d41: DUP2
00000d42: MSTORE
00000d43: PUSH1 0x17
00000d45: PUSH1 0x20
00000d47: SWAP1
00000d48: DUP2
00000d49: MSTORE
00000d4a: PUSH1 0x40
00000d4c: DUP1
00000d4d: DUP4
00000d4e: KECCAK256
00000d4f: PUSH1 0x01
00000d51: PUSH1 0x01
00000d53: PUSH1 0xa0
00000d55: SHL
00000d56: SUB
00000d57: DUP9
00000d58: AND
00000d59: DUP5
00000d5a: MSTORE
00000d5b: DUP3
00000d5c: MSTORE
00000d5d: DUP1
00000d5e: DUP4
00000d5f: KECCAK256
00000d60: DUP7
00000d61: SWAP1
00000d62: SSTORE
00000d63: DUP8
00000d64: DUP4
00000d65: MSTORE
00000d66: PUSH1 0x12
00000d68: SWAP1
00000d69: SWAP2
00000d6a: MSTORE
00000d6b: DUP2
00000d6c: KECCAK256
00000d6d: DUP1
00000d6e: SLOAD
00000d6f: DUP6
00000d70: SWAP3
00000d71: SWAP1
00000d72: PUSH2 0x0d7c
00000d75: SWAP1
00000d76: DUP5
00000d77: SWAP1
00000d78: PUSH2 0x46bf
00000d7b: JUMP
00000d7c: JUMPDEST
00000d7d: SWAP1
00000d7e: SWAP2
00000d7f: SSTORE
00000d80: POP
00000d81: POP
00000d82: PUSH1 0x00
00000d84: DUP6
00000d85: DUP2
00000d86: MSTORE
00000d87: PUSH1 0x15
00000d89: PUSH1 0x20
00000d8b: SWAP1
00000d8c: DUP2
00000d8d: MSTORE
00000d8e: PUSH1 0x40
00000d90: DUP1
00000d91: DUP4
00000d92: KECCAK256
00000d93: DUP1
00000d94: SLOAD
00000d95: PUSH1 0x01
00000d97: DUP1
00000d98: DUP3
00000d99: ADD
00000d9a: DUP4
00000d9b: SSTORE
00000d9c: SWAP2
00000d9d: DUP6
00000d9e: MSTORE
00000d9f: DUP4
00000da0: DUP6
00000da1: KECCAK256
00000da2: ADD
00000da3: DUP1
00000da4: SLOAD
00000da5: PUSH1 0x01
00000da7: PUSH1 0x01
00000da9: PUSH1 0xa0
00000dab: SHL
00000dac: SUB
00000dad: NOT
00000dae: AND
00000daf: PUSH1 0x01
00000db1: PUSH1 0x01
00000db3: PUSH1 0xa0
00000db5: SHL
00000db6: SUB
00000db7: DUP11
00000db8: AND
00000db9: SWAP1
00000dba: DUP2
00000dbb: OR
00000dbc: SWAP1
00000dbd: SWAP2
00000dbe: SSTORE
00000dbf: DUP10
00000dc0: DUP6
00000dc1: MSTORE
00000dc2: PUSH1 0x16
00000dc4: DUP5
00000dc5: MSTORE
00000dc6: DUP3
00000dc7: DUP6
00000dc8: KECCAK256
00000dc9: DUP1
00000dca: SLOAD
00000dcb: SWAP3
00000dcc: DUP4
00000dcd: ADD
00000dce: DUP2
00000dcf: SSTORE
00000dd0: DUP6
00000dd1: MSTORE
00000dd2: SWAP4
00000dd3: DUP4
00000dd4: SWAP1
00000dd5: KECCAK256
00000dd6: ADD
00000dd7: DUP7
00000dd8: SWAP1
00000dd9: SSTORE
00000dda: DUP1
00000ddb: MLOAD
00000ddc: SWAP3
00000ddd: DUP4
00000dde: MSTORE
00000ddf: SWAP1
00000de0: DUP3
00000de1: ADD
00000de2: DUP6
00000de3: SWAP1
00000de4: MSTORE
00000de5: DUP7
00000de6: SWAP2
00000de7: PUSH32 0x3b0c3ce2408727dbca95180acaf270c88dfac5acc91e20a692bdd67c40797b0d
00000e08: SWAP2
00000e09: ADD
00000e0a: PUSH1 0x40
00000e0c: MLOAD
00000e0d: DUP1
00000e0e: SWAP2
00000e0f: SUB
00000e10: SWAP1
00000e11: LOG2
00000e12: POP
00000e13: POP
00000e14: POP
00000e15: POP
00000e16: POP
00000e17: JUMP
00000e18: JUMPDEST
00000e19: PUSH1 0x09
00000e1b: SLOAD
00000e1c: PUSH1 0x01
00000e1e: PUSH1 0x01
00000e20: PUSH1 0xa0
00000e22: SHL
00000e23: SUB
00000e24: AND
00000e25: CALLER
00000e26: EQ
00000e27: PUSH2 0x0e43
00000e2a: JUMPI
00000e2b: PUSH1 0x40
00000e2d: MLOAD
00000e2e: PUSH4 0x30cd7471
00000e33: PUSH1 0xe0
00000e35: SHL
00000e36: DUP2
00000e37: MSTORE
00000e38: PUSH1 0x04
00000e3a: ADD
00000e3b: PUSH1 0x40
00000e3d: MLOAD
00000e3e: DUP1
00000e3f: SWAP2
00000e40: SUB
00000e41: SWAP1
00000e42: REVERT
00000e43: JUMPDEST
00000e44: PUSH1 0x0a
00000e46: DUP1
00000e47: SLOAD
00000e48: PUSH1 0x01
00000e4a: PUSH1 0x01
00000e4c: PUSH1 0xa0
00000e4e: SHL
00000e4f: SUB
00000e50: NOT
00000e51: AND
00000e52: PUSH1 0x01
00000e54: PUSH1 0x01
00000e56: PUSH1 0xa0
00000e58: SHL
00000e59: SUB
00000e5a: DUP4
00000e5b: AND
00000e5c: SWAP1
00000e5d: DUP2
00000e5e: OR
00000e5f: SWAP1
00000e60: SWAP2
00000e61: SSTORE
00000e62: PUSH1 0x40
00000e64: MLOAD
00000e65: SWAP1
00000e66: DUP2
00000e67: MSTORE
00000e68: PUSH32 0xd144c9fa3b9a42323743289b36210c130953eb0290854e07e2d3b38a972b9873
00000e89: SWAP1
00000e8a: PUSH1 0x20
00000e8c: ADD
00000e8d: PUSH2 0x09ff
00000e90: JUMP
00000e91: JUMPDEST
00000e92: PUSH1 0x09
00000e94: SLOAD
00000e95: PUSH1 0x01
00000e97: PUSH1 0x01
00000e99: PUSH1 0xa0
00000e9b: SHL
00000e9c: SUB
00000e9d: AND
00000e9e: CALLER
00000e9f: EQ
00000ea0: PUSH2 0x0ebc
00000ea3: JUMPI
00000ea4: PUSH1 0x40
00000ea6: MLOAD
00000ea7: PUSH4 0x30cd7471
00000eac: PUSH1 0xe0
00000eae: SHL
00000eaf: DUP2
00000eb0: MSTORE
00000eb1: PUSH1 0x04
00000eb3: ADD
00000eb4: PUSH1 0x40
00000eb6: MLOAD
00000eb7: DUP1
00000eb8: SWAP2
00000eb9: SUB
00000eba: SWAP1
00000ebb: REVERT
00000ebc: JUMPDEST
00000ebd: PUSH1 0x05
00000ebf: DUP1
00000ec0: SLOAD
00000ec1: SWAP1
00000ec2: DUP3
00000ec3: SWAP1
00000ec4: SSTORE
00000ec5: PUSH1 0x40
00000ec7: DUP1
00000ec8: MLOAD
00000ec9: DUP3
00000eca: DUP2
00000ecb: MSTORE
00000ecc: PUSH1 0x20
00000ece: DUP2
00000ecf: ADD
00000ed0: DUP5
00000ed1: SWAP1
00000ed2: MSTORE
00000ed3: PUSH32 0x085570e45e5089c87296fe3ddc21ebd69b73d6d8e168d71162d0b7507580dc16
00000ef4: SWAP2
00000ef5: ADD
00000ef6: JUMPDEST
00000ef7: PUSH1 0x40
00000ef9: MLOAD
00000efa: DUP1
00000efb: SWAP2
00000efc: SUB
00000efd: SWAP1
00000efe: LOG1
00000eff: POP
00000f00: POP
00000f01: JUMP
00000f02: JUMPDEST
00000f03: PUSH1 0x09
00000f05: SLOAD
00000f06: PUSH1 0x00
00000f08: SWAP1
00000f09: PUSH1 0x01
00000f0b: PUSH1 0x01
00000f0d: PUSH1 0xa0
00000f0f: SHL
00000f10: SUB
00000f11: AND
00000f12: CALLER
00000f13: EQ
00000f14: PUSH2 0x0f30
00000f17: JUMPI
00000f18: PUSH1 0x40
00000f1a: MLOAD
00000f1b: PUSH4 0x30cd7471
00000f20: PUSH1 0xe0
00000f22: SHL
00000f23: DUP2
00000f24: MSTORE
00000f25: PUSH1 0x04
00000f27: ADD
00000f28: PUSH1 0x40
00000f2a: MLOAD
00000f2b: DUP1
00000f2c: SWAP2
00000f2d: SUB
00000f2e: SWAP1
00000f2f: REVERT
00000f30: JUMPDEST
00000f31: PUSH2 0x0f3a
00000f34: DUP4
00000f35: DUP4
00000f36: PUSH2 0x34b7
00000f39: JUMP
00000f3a: JUMPDEST
00000f3b: SWAP4
00000f3c: SWAP3
00000f3d: POP
00000f3e: POP
00000f3f: POP
00000f40: JUMP
00000f41: JUMPDEST
00000f42: PUSH1 0x09
00000f44: SLOAD
00000f45: PUSH1 0x01
00000f47: PUSH1 0x01
00000f49: PUSH1 0xa0
00000f4b: SHL
00000f4c: SUB
00000f4d: AND
00000f4e: CALLER
00000f4f: EQ
00000f50: PUSH2 0x0f6c
00000f53: JUMPI
00000f54: PUSH1 0x40
00000f56: MLOAD
00000f57: PUSH4 0x30cd7471
00000f5c: PUSH1 0xe0
00000f5e: SHL
00000f5f: DUP2
00000f60: MSTORE
00000f61: PUSH1 0x04
00000f63: ADD
00000f64: PUSH1 0x40
00000f66: MLOAD
00000f67: DUP1
00000f68: SWAP2
00000f69: SUB
00000f6a: SWAP1
00000f6b: REVERT
00000f6c: JUMPDEST
00000f6d: PUSH1 0x07
00000f6f: DUP2
00000f70: SWAP1
00000f71: SSTORE
00000f72: PUSH1 0x40
00000f74: MLOAD
00000f75: DUP2
00000f76: DUP2
00000f77: MSTORE
00000f78: PUSH32 0xa5324cc7956c4d8e6e433de4d6a5e735c98fa2f3af113a918f33a0f94e22a967
00000f99: SWAP1
00000f9a: PUSH1 0x20
00000f9c: ADD
00000f9d: PUSH2 0x09ff
00000fa0: JUMP
00000fa1: JUMPDEST
00000fa2: PUSH2 0x0fa9
00000fa5: PUSH2 0x3728
00000fa8: JUMP
00000fa9: JUMPDEST
00000faa: PUSH1 0x00
00000fac: DUP2
00000fad: DUP2
00000fae: MSTORE
00000faf: PUSH1 0x0f
00000fb1: PUSH1 0x20
00000fb3: SWAP1
00000fb4: DUP2
00000fb5: MSTORE
00000fb6: PUSH1 0x40
00000fb8: DUP1
00000fb9: DUP4
00000fba: KECCAK256
00000fbb: DUP2
00000fbc: MLOAD
00000fbd: DUP2
00000fbe: SLOAD
00000fbf: PUSH2 0x0120
00000fc2: SWAP5
00000fc3: DUP2
00000fc4: MUL
00000fc5: DUP3
00000fc6: ADD
00000fc7: DUP6
00000fc8: ADD
00000fc9: SWAP1
00000fca: SWAP4
00000fcb: MSTORE
00000fcc: PUSH2 0x0100
00000fcf: DUP2
00000fd0: ADD
00000fd1: DUP4
00000fd2: DUP2
00000fd3: MSTORE
00000fd4: SWAP1
00000fd5: SWAP4
00000fd6: SWAP2
00000fd7: SWAP3
00000fd8: DUP5
00000fd9: SWAP3
00000fda: DUP5
00000fdb: SWAP2
00000fdc: SWAP1
00000fdd: DUP5
00000fde: ADD
00000fdf: DUP3
00000fe0: DUP3
00000fe1: DUP1
00000fe2: ISZERO
00000fe3: PUSH2 0x1015
00000fe6: JUMPI
00000fe7: PUSH1 0x20
00000fe9: MUL
00000fea: DUP3
00000feb: ADD
00000fec: SWAP2
00000fed: SWAP1
00000fee: PUSH1 0x00
00000ff0: MSTORE
00000ff1: PUSH1 0x20
00000ff3: PUSH1 0x00
00000ff5: KECCAK256
00000ff6: SWAP1
00000ff7: JUMPDEST
00000ff8: DUP2
00000ff9: SLOAD
00000ffa: PUSH1 0x01
00000ffc: PUSH1 0x01
00000ffe: PUSH1 0xa0
00001000: SHL
00001001: SUB
00001002: AND
00001003: DUP2
00001004: MSTORE
00001005: PUSH1 0x01
00001007: SWAP1
00001008: SWAP2
00001009: ADD
0000100a: SWAP1
0000100b: PUSH1 0x20
0000100d: ADD
0000100e: DUP1
0000100f: DUP4
00001010: GT
00001011: PUSH2 0x0ff7
00001014: JUMPI
00001015: JUMPDEST
00001016: POP
00001017: POP
00001018: POP
00001019: SWAP2
0000101a: DUP4
0000101b: MSTORE
0000101c: POP
0000101d: POP
0000101e: PUSH1 0x01
00001020: DUP3
00001021: ADD
00001022: SLOAD
00001023: PUSH1 0x01
00001025: PUSH1 0x01
00001027: PUSH1 0xa0
00001029: SHL
0000102a: SUB
0000102b: SWAP1
0000102c: DUP2
0000102d: AND
0000102e: PUSH1 0x20
00001030: DUP4
00001031: ADD
00001032: MSTORE
00001033: PUSH1 0x02
00001035: DUP4
00001036: ADD
00001037: SLOAD
00001038: SWAP1
00001039: DUP2
0000103a: AND
0000103b: PUSH1 0x40
0000103d: DUP4
0000103e: ADD
0000103f: MSTORE
00001040: PUSH1 0x60
00001042: SWAP1
00001043: SWAP2
00001044: ADD
00001045: SWAP1
00001046: PUSH1 0x01
00001048: PUSH1 0xa0
0000104a: SHL
0000104b: SWAP1
0000104c: DIV
0000104d: PUSH1 0xff
0000104f: AND
00001050: PUSH1 0x04
00001052: DUP2
00001053: GT
00001054: ISZERO
00001055: PUSH2 0x1060
00001058: JUMPI
00001059: PUSH2 0x1060
0000105c: PUSH2 0x436a
0000105f: JUMP
00001060: JUMPDEST
00001061: PUSH1 0x04
00001063: DUP2
00001064: GT
00001065: ISZERO
00001066: PUSH2 0x1071
00001069: JUMPI
0000106a: PUSH2 0x1071
0000106d: PUSH2 0x436a
00001070: JUMP
00001071: JUMPDEST
00001072: DUP2
00001073: MSTORE
00001074: PUSH1 0x20
00001076: ADD
00001077: PUSH1 0x03
00001079: DUP3
0000107a: ADD
0000107b: DUP1
0000107c: SLOAD
0000107d: PUSH2 0x1085
00001080: SWAP1
00001081: PUSH2 0x4675
00001084: JUMP
00001085: JUMPDEST
00001086: DUP1
00001087: PUSH1 0x1f
00001089: ADD
0000108a: PUSH1 0x20
0000108c: DUP1
0000108d: SWAP2
0000108e: DIV
0000108f: MUL
00001090: PUSH1 0x20
00001092: ADD
00001093: PUSH1 0x40
00001095: MLOAD
00001096: SWAP1
00001097: DUP2
00001098: ADD
00001099: PUSH1 0x40
0000109b: MSTORE
0000109c: DUP1
0000109d: SWAP3
0000109e: SWAP2
0000109f: SWAP1
000010a0: DUP2
000010a1: DUP2
000010a2: MSTORE
000010a3: PUSH1 0x20
000010a5: ADD
000010a6: DUP3
000010a7: DUP1
000010a8: SLOAD
000010a9: PUSH2 0x10b1
000010ac: SWAP1
000010ad: PUSH2 0x4675
000010b0: JUMP
000010b1: JUMPDEST
000010b2: DUP1
000010b3: ISZERO
000010b4: PUSH2 0x10fe
000010b7: JUMPI
000010b8: DUP1
000010b9: PUSH1 0x1f
000010bb: LT
000010bc: PUSH2 0x10d3
000010bf: JUMPI
000010c0: PUSH2 0x0100
000010c3: DUP1
000010c4: DUP4
000010c5: SLOAD
000010c6: DIV
000010c7: MUL
000010c8: DUP4
000010c9: MSTORE
000010ca: SWAP2
000010cb: PUSH1 0x20
000010cd: ADD
000010ce: SWAP2
000010cf: PUSH2 0x10fe
000010d2: JUMP
000010d3: JUMPDEST
000010d4: DUP3
000010d5: ADD
000010d6: SWAP2
000010d7: SWAP1
000010d8: PUSH1 0x00
000010da: MSTORE
000010db: PUSH1 0x20
000010dd: PUSH1 0x00
000010df: KECCAK256
000010e0: SWAP1
000010e1: JUMPDEST
000010e2: DUP2
000010e3: SLOAD
000010e4: DUP2
000010e5: MSTORE
000010e6: SWAP1
000010e7: PUSH1 0x01
000010e9: ADD
000010ea: SWAP1
000010eb: PUSH1 0x20
000010ed: ADD
000010ee: DUP1
000010ef: DUP4
000010f0: GT
000010f1: PUSH2 0x10e1
000010f4: JUMPI
000010f5: DUP3
000010f6: SWAP1
000010f7: SUB
000010f8: PUSH1 0x1f
000010fa: AND
000010fb: DUP3
000010fc: ADD
000010fd: SWAP2
000010fe: JUMPDEST
000010ff: POP
00001100: POP
00001101: POP
00001102: SWAP2
00001103: DUP4
00001104: MSTORE
00001105: POP
00001106: POP
00001107: PUSH1 0x04
00001109: DUP3
0000110a: ADD
0000110b: SLOAD
0000110c: PUSH1 0x20
0000110e: DUP3
0000110f: ADD
00001110: MSTORE
00001111: PUSH1 0x05
00001113: DUP3
00001114: ADD
00001115: SLOAD
00001116: PUSH1 0x40
00001118: DUP3
00001119: ADD
0000111a: MSTORE
0000111b: PUSH1 0x06
0000111d: SWAP1
0000111e: SWAP2
0000111f: ADD
00001120: SLOAD
00001121: PUSH1 0xff
00001123: AND
00001124: ISZERO
00001125: ISZERO
00001126: PUSH1 0x60
00001128: SWAP1
00001129: SWAP2
0000112a: ADD
0000112b: MSTORE
0000112c: SWAP1
0000112d: POP
0000112e: PUSH1 0x03
00001130: DUP2
00001131: PUSH1 0x60
00001133: ADD
00001134: MLOAD
00001135: PUSH1 0x04
00001137: DUP2
00001138: GT
00001139: ISZERO
0000113a: PUSH2 0x1145
0000113d: JUMPI
0000113e: PUSH2 0x1145
00001141: PUSH2 0x436a
00001144: JUMP
00001145: JUMPDEST
00001146: EQ
00001147: PUSH2 0x117c
0000114a: JUMPI
0000114b: PUSH1 0x40
0000114d: MLOAD
0000114e: PUSH32 0x24161af600000000000000000000000000000000000000000000000000000000
0000116f: DUP2
00001170: MSTORE
00001171: PUSH1 0x04
00001173: ADD
00001174: PUSH1 0x40
00001176: MLOAD
00001177: DUP1
00001178: SWAP2
00001179: SUB
0000117a: SWAP1
0000117b: REVERT
0000117c: JUMPDEST
0000117d: PUSH1 0x20
0000117f: DUP2
00001180: ADD
00001181: MLOAD
00001182: PUSH1 0x01
00001184: PUSH1 0x01
00001186: PUSH1 0xa0
00001188: SHL
00001189: SUB
0000118a: AND
0000118b: CALLER
0000118c: EQ
0000118d: PUSH2 0x11a9
00001190: JUMPI
00001191: PUSH1 0x40
00001193: MLOAD
00001194: PUSH4 0xf87c8669
00001199: PUSH1 0xe0
0000119b: SHL
0000119c: DUP2
0000119d: MSTORE
0000119e: PUSH1 0x04
000011a0: ADD
000011a1: PUSH1 0x40
000011a3: MLOAD
000011a4: DUP1
000011a5: SWAP2
000011a6: SUB
000011a7: SWAP1
000011a8: REVERT
000011a9: JUMPDEST
000011aa: PUSH1 0x00
000011ac: DUP3
000011ad: DUP2
000011ae: MSTORE
000011af: PUSH1 0x13
000011b1: PUSH1 0x20
000011b3: MSTORE
000011b4: PUSH1 0x40
000011b6: SWAP1
000011b7: KECCAK256
000011b8: SLOAD
000011b9: TIMESTAMP
000011ba: LT
000011bb: ISZERO
000011bc: PUSH2 0x11f1
000011bf: JUMPI
000011c0: PUSH1 0x40
000011c2: MLOAD
000011c3: PUSH32 0xbec5f0d800000000000000000000000000000000000000000000000000000000
000011e4: DUP2
000011e5: MSTORE
000011e6: PUSH1 0x04
000011e8: ADD
000011e9: PUSH1 0x40
000011eb: MLOAD
000011ec: DUP1
000011ed: SWAP2
000011ee: SUB
000011ef: SWAP1
000011f0: REVERT
000011f1: JUMPDEST
000011f2: PUSH1 0x00
000011f4: DUP3
000011f5: DUP2
000011f6: MSTORE
000011f7: PUSH1 0x14
000011f9: PUSH1 0x20
000011fb: MSTORE
000011fc: PUSH1 0x40
000011fe: SWAP1
000011ff: KECCAK256
00001200: SLOAD
00001201: ISZERO
00001202: PUSH2 0x1237
00001205: JUMPI
00001206: PUSH1 0x40
00001208: MLOAD
00001209: PUSH32 0xc2c7c2cf00000000000000000000000000000000000000000000000000000000
0000122a: DUP2
0000122b: MSTORE
0000122c: PUSH1 0x04
0000122e: ADD
0000122f: PUSH1 0x40
00001231: MLOAD
00001232: DUP1
00001233: SWAP2
00001234: SUB
00001235: SWAP1
00001236: REVERT
00001237: JUMPDEST
00001238: PUSH2 0x1240
0000123b: DUP3
0000123c: PUSH2 0x3786
0000123f: JUMP
00001240: JUMPDEST
00001241: POP
00001242: POP
00001243: PUSH2 0x124c
00001246: PUSH1 0x01
00001248: PUSH1 0x00
0000124a: SSTORE
0000124b: JUMP
0000124c: JUMPDEST
0000124d: POP
0000124e: JUMP
0000124f: JUMPDEST
00001250: PUSH1 0x1a
00001252: PUSH1 0x20
00001254: MSTORE
00001255: DUP2
00001256: PUSH1 0x00
00001258: MSTORE
00001259: PUSH1 0x40
0000125b: PUSH1 0x00
0000125d: KECCAK256
0000125e: DUP2
0000125f: DUP2
00001260: SLOAD
00001261: DUP2
00001262: LT
00001263: PUSH2 0x126b
00001266: JUMPI
00001267: PUSH1 0x00
00001269: DUP1
0000126a: REVERT
0000126b: JUMPDEST
0000126c: PUSH1 0x00
0000126e: SWAP2
0000126f: DUP3
00001270: MSTORE
00001271: PUSH1 0x20
00001273: SWAP1
00001274: SWAP2
00001275: KECCAK256
00001276: ADD
00001277: SLOAD
00001278: PUSH1 0x01
0000127a: PUSH1 0x01
0000127c: PUSH1 0xa0
0000127e: SHL
0000127f: SUB
00001280: AND
00001281: SWAP2
00001282: POP
00001283: DUP3
00001284: SWAP1
00001285: POP
00001286: JUMP
00001287: JUMPDEST
00001288: DUP1
00001289: ISZERO
0000128a: DUP1
0000128b: PUSH2 0x12d5
0000128e: JUMPI
0000128f: POP
00001290: PUSH1 0x00
00001292: DUP3
00001293: DUP2
00001294: MSTORE
00001295: PUSH1 0x19
00001297: PUSH1 0x20
00001299: SWAP1
0000129a: DUP2
0000129b: MSTORE
0000129c: PUSH1 0x40
0000129e: DUP1
0000129f: DUP4
000012a0: KECCAK256
000012a1: PUSH1 0x01
000012a3: PUSH1 0x01
000012a5: PUSH1 0xa0
000012a7: SHL
000012a8: SUB
000012a9: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
000012ca: AND
000012cb: DUP5
000012cc: MSTORE
000012cd: SWAP1
000012ce: SWAP2
000012cf: MSTORE
000012d0: SWAP1
000012d1: KECCAK256
000012d2: SLOAD
000012d3: DUP2
000012d4: GT
000012d5: JUMPDEST
000012d6: ISZERO
000012d7: PUSH2 0x130c
000012da: JUMPI
000012db: PUSH1 0x40
000012dd: MLOAD
000012de: PUSH32 0xc6388ef700000000000000000000000000000000000000000000000000000000
000012ff: DUP2
00001300: MSTORE
00001301: PUSH1 0x04
00001303: ADD
00001304: PUSH1 0x40
00001306: MLOAD
00001307: DUP1
00001308: SWAP2
00001309: SUB
0000130a: SWAP1
0000130b: REVERT
0000130c: JUMPDEST
0000130d: PUSH1 0x01
0000130f: PUSH1 0x00
00001311: DUP4
00001312: DUP2
00001313: MSTORE
00001314: PUSH1 0x0f
00001316: PUSH1 0x20
00001318: MSTORE
00001319: PUSH1 0x40
0000131b: SWAP1
0000131c: KECCAK256
0000131d: PUSH1 0x02
0000131f: ADD
00001320: SLOAD
00001321: PUSH1 0x01
00001323: PUSH1 0xa0
00001325: SHL
00001326: SWAP1
00001327: DIV
00001328: PUSH1 0xff
0000132a: AND
0000132b: PUSH1 0x04
0000132d: DUP2
0000132e: GT
0000132f: ISZERO
00001330: PUSH2 0x133b
00001333: JUMPI
00001334: PUSH2 0x133b
00001337: PUSH2 0x436a
0000133a: JUMP
0000133b: JUMPDEST
0000133c: EQ
0000133d: PUSH2 0x1359
00001340: JUMPI
00001341: PUSH1 0x40
00001343: MLOAD
00001344: PUSH4 0x1458625d
00001349: PUSH1 0xe1
0000134b: SHL
0000134c: DUP2
0000134d: MSTORE
0000134e: PUSH1 0x04
00001350: ADD
00001351: PUSH1 0x40
00001353: MLOAD
00001354: DUP1
00001355: SWAP2
00001356: SUB
00001357: SWAP1
00001358: REVERT
00001359: JUMPDEST
0000135a: PUSH1 0x00
0000135c: DUP3
0000135d: DUP2
0000135e: MSTORE
0000135f: PUSH1 0x0f
00001361: PUSH1 0x20
00001363: MSTORE
00001364: PUSH1 0x40
00001366: SWAP1
00001367: KECCAK256
00001368: PUSH1 0x01
0000136a: ADD
0000136b: SLOAD
0000136c: PUSH1 0x01
0000136e: PUSH1 0x01
00001370: PUSH1 0xa0
00001372: SHL
00001373: SUB
00001374: AND
00001375: ISZERO
00001376: PUSH2 0x1392
00001379: JUMPI
0000137a: PUSH1 0x40
0000137c: MLOAD
0000137d: PUSH4 0x047d97a9
00001382: PUSH1 0xe3
00001384: SHL
00001385: DUP2
00001386: MSTORE
00001387: PUSH1 0x04
00001389: ADD
0000138a: PUSH1 0x40
0000138c: MLOAD
0000138d: DUP1
0000138e: SWAP2
0000138f: SUB
00001390: SWAP1
00001391: REVERT
00001392: JUMPDEST
00001393: CALLER
00001394: PUSH1 0x00
00001396: SWAP1
00001397: DUP2
00001398: MSTORE
00001399: PUSH1 0x11
0000139b: PUSH1 0x20
0000139d: MSTORE
0000139e: PUSH1 0x40
000013a0: SWAP1
000013a1: KECCAK256
000013a2: SLOAD
000013a3: PUSH1 0xff
000013a5: AND
000013a6: PUSH2 0x13c2
000013a9: JUMPI
000013aa: PUSH1 0x40
000013ac: MLOAD
000013ad: PUSH4 0x8775fd1d
000013b2: PUSH1 0xe0
000013b4: SHL
000013b5: DUP2
000013b6: MSTORE
000013b7: PUSH1 0x04
000013b9: ADD
000013ba: PUSH1 0x40
000013bc: MLOAD
000013bd: DUP1
000013be: SWAP2
000013bf: SUB
000013c0: SWAP1
000013c1: REVERT
000013c2: JUMPDEST
000013c3: CALLER
000013c4: PUSH1 0x00
000013c6: SWAP1
000013c7: DUP2
000013c8: MSTORE
000013c9: PUSH1 0x10
000013cb: PUSH1 0x20
000013cd: MSTORE
000013ce: PUSH1 0x40
000013d0: SWAP1
000013d1: KECCAK256
000013d2: SLOAD
000013d3: PUSH1 0x04
000013d5: SLOAD
000013d6: GT
000013d7: PUSH2 0x13f3
000013da: JUMPI
000013db: PUSH1 0x40
000013dd: MLOAD
000013de: PUSH4 0x745219b3
000013e3: PUSH1 0xe0
000013e5: SHL
000013e6: DUP2
000013e7: MSTORE
000013e8: PUSH1 0x04
000013ea: ADD
000013eb: PUSH1 0x40
000013ed: MLOAD
000013ee: DUP1
000013ef: SWAP2
000013f0: SUB
000013f1: SWAP1
000013f2: REVERT
000013f3: JUMPDEST
000013f4: PUSH1 0x00
000013f6: DUP3
000013f7: DUP2
000013f8: MSTORE
000013f9: PUSH1 0x18
000013fb: PUSH1 0x20
000013fd: SWAP1
000013fe: DUP2
000013ff: MSTORE
00001400: PUSH1 0x40
00001402: DUP1
00001403: DUP4
00001404: KECCAK256
00001405: CALLER
00001406: DUP5
00001407: MSTORE
00001408: SWAP1
00001409: SWAP2
0000140a: MSTORE
0000140b: SWAP1
0000140c: KECCAK256
0000140d: SLOAD
0000140e: PUSH1 0xff
00001410: AND
00001411: ISZERO
00001412: ISZERO
00001413: PUSH1 0x01
00001415: SUB
00001416: PUSH2 0x144b
00001419: JUMPI
0000141a: PUSH1 0x40
0000141c: MLOAD
0000141d: PUSH32 0x5303ed8200000000000000000000000000000000000000000000000000000000
0000143e: DUP2
0000143f: MSTORE
00001440: PUSH1 0x04
00001442: ADD
00001443: PUSH1 0x40
00001445: MLOAD
00001446: DUP1
00001447: SWAP2
00001448: SUB
00001449: SWAP1
0000144a: REVERT
0000144b: JUMPDEST
0000144c: PUSH1 0x00
0000144e: DUP3
0000144f: DUP2
00001450: MSTORE
00001451: PUSH1 0x18
00001453: PUSH1 0x20
00001455: SWAP1
00001456: DUP2
00001457: MSTORE
00001458: PUSH1 0x40
0000145a: DUP1
0000145b: DUP4
0000145c: KECCAK256
0000145d: CALLER
0000145e: DUP1
0000145f: DUP6
00001460: MSTORE
00001461: SWAP1
00001462: DUP4
00001463: MSTORE
00001464: DUP2
00001465: DUP5
00001466: KECCAK256
00001467: DUP1
00001468: SLOAD
00001469: PUSH1 0xff
0000146b: NOT
0000146c: AND
0000146d: PUSH1 0x01
0000146f: OR
00001470: SWAP1
00001471: SSTORE
00001472: DUP6
00001473: DUP5
00001474: MSTORE
00001475: PUSH1 0x1c
00001477: DUP4
00001478: MSTORE
00001479: DUP2
0000147a: DUP5
0000147b: KECCAK256
0000147c: DUP2
0000147d: DUP6
0000147e: MSTORE
0000147f: SWAP1
00001480: SWAP3
00001481: MSTORE
00001482: DUP1
00001483: DUP4
00001484: KECCAK256
00001485: DUP5
00001486: SWAP1
00001487: SSTORE
00001488: MLOAD
00001489: DUP5
0000148a: SWAP3
0000148b: PUSH32 0xdbd322a3337532a13c9b421a6a2866dc81fd0c07eba453d21e5b1ce2a824a02f
000014ac: SWAP2
000014ad: LOG3
000014ae: POP
000014af: POP
000014b0: JUMP
000014b1: JUMPDEST
000014b2: PUSH1 0x01
000014b4: PUSH1 0x01
000014b6: PUSH1 0xa0
000014b8: SHL
000014b9: SUB
000014ba: DUP2
000014bb: DUP2
000014bc: AND
000014bd: PUSH1 0x00
000014bf: SWAP1
000014c0: DUP2
000014c1: MSTORE
000014c2: PUSH1 0x0e
000014c4: PUSH1 0x20
000014c6: SWAP1
000014c7: DUP2
000014c8: MSTORE
000014c9: PUSH1 0x40
000014cb: DUP1
000014cc: DUP4
000014cd: KECCAK256
000014ce: DUP2
000014cf: MLOAD
000014d0: PUSH1 0x60
000014d2: DUP2
000014d3: ADD
000014d4: DUP4
000014d5: MSTORE
000014d6: DUP2
000014d7: SLOAD
000014d8: SWAP6
000014d9: DUP7
000014da: AND
000014db: DUP2
000014dc: MSTORE
000014dd: PUSH1 0x01
000014df: PUSH1 0xa0
000014e1: SHL
000014e2: SWAP1
000014e3: SWAP6
000014e4: DIV
000014e5: PUSH1 0xff
000014e7: AND
000014e8: ISZERO
000014e9: DUP1
000014ea: ISZERO
000014eb: SWAP4
000014ec: DUP7
000014ed: ADD
000014ee: SWAP4
000014ef: SWAP1
000014f0: SWAP4
000014f1: MSTORE
000014f2: PUSH1 0x01
000014f4: ADD
000014f5: SLOAD
000014f6: SWAP1
000014f7: DUP5
000014f8: ADD
000014f9: MSTORE
000014fa: SWAP1
000014fb: SWAP2
000014fc: SWAP1
000014fd: PUSH2 0x1522
00001500: JUMPI
00001501: PUSH1 0x40
00001503: DUP2
00001504: DUP2
00001505: ADD
00001506: MLOAD
00001507: PUSH1 0x00
00001509: SWAP1
0000150a: DUP2
0000150b: MSTORE
0000150c: PUSH1 0x0f
0000150e: PUSH1 0x20
00001510: MSTORE
00001511: KECCAK256
00001512: PUSH1 0x02
00001514: ADD
00001515: SLOAD
00001516: PUSH1 0x01
00001518: PUSH1 0xa0
0000151a: SHL
0000151b: SWAP1
0000151c: DIV
0000151d: PUSH1 0xff
0000151f: AND
00001520: SWAP2
00001521: POP
00001522: JUMPDEST
00001523: POP
00001524: SWAP2
00001525: SWAP1
00001526: POP
00001527: JUMP
00001528: JUMPDEST
00001529: PUSH2 0x1530
0000152c: PUSH2 0x3728
0000152f: JUMP
00001530: JUMPDEST
00001531: PUSH1 0x00
00001533: DUP2
00001534: DUP2
00001535: MSTORE
00001536: PUSH1 0x0f
00001538: PUSH1 0x20
0000153a: SWAP1
0000153b: DUP2
0000153c: MSTORE
0000153d: PUSH1 0x40
0000153f: DUP1
00001540: DUP4
00001541: KECCAK256
00001542: DUP2
00001543: MLOAD
00001544: DUP2
00001545: SLOAD
00001546: PUSH2 0x0120
00001549: SWAP5
0000154a: DUP2
0000154b: MUL
0000154c: DUP3
0000154d: ADD
0000154e: DUP6
0000154f: ADD
00001550: SWAP1
00001551: SWAP4
00001552: MSTORE
00001553: PUSH2 0x0100
00001556: DUP2
00001557: ADD
00001558: DUP4
00001559: DUP2
0000155a: MSTORE
0000155b: SWAP1
0000155c: SWAP4
0000155d: SWAP2
0000155e: SWAP3
0000155f: DUP5
00001560: SWAP3
00001561: DUP5
00001562: SWAP2
00001563: SWAP1
00001564: DUP5
00001565: ADD
00001566: DUP3
00001567: DUP3
00001568: DUP1
00001569: ISZERO
0000156a: PUSH2 0x159c
0000156d: JUMPI
0000156e: PUSH1 0x20
00001570: MUL
00001571: DUP3
00001572: ADD
00001573: SWAP2
00001574: SWAP1
00001575: PUSH1 0x00
00001577: MSTORE
00001578: PUSH1 0x20
0000157a: PUSH1 0x00
0000157c: KECCAK256
0000157d: SWAP1
0000157e: JUMPDEST
0000157f: DUP2
00001580: SLOAD
00001581: PUSH1 0x01
00001583: PUSH1 0x01
00001585: PUSH1 0xa0
00001587: SHL
00001588: SUB
00001589: AND
0000158a: DUP2
0000158b: MSTORE
0000158c: PUSH1 0x01
0000158e: SWAP1
0000158f: SWAP2
00001590: ADD
00001591: SWAP1
00001592: PUSH1 0x20
00001594: ADD
00001595: DUP1
00001596: DUP4
00001597: GT
00001598: PUSH2 0x157e
0000159b: JUMPI
0000159c: JUMPDEST
0000159d: POP
0000159e: POP
0000159f: POP
000015a0: SWAP2
000015a1: DUP4
000015a2: MSTORE
000015a3: POP
000015a4: POP
000015a5: PUSH1 0x01
000015a7: DUP3
000015a8: ADD
000015a9: SLOAD
000015aa: PUSH1 0x01
000015ac: PUSH1 0x01
000015ae: PUSH1 0xa0
000015b0: SHL
000015b1: SUB
000015b2: SWAP1
000015b3: DUP2
000015b4: AND
000015b5: PUSH1 0x20
000015b7: DUP4
000015b8: ADD
000015b9: MSTORE
000015ba: PUSH1 0x02
000015bc: DUP4
000015bd: ADD
000015be: SLOAD
000015bf: SWAP1
000015c0: DUP2
000015c1: AND
000015c2: PUSH1 0x40
000015c4: DUP4
000015c5: ADD
000015c6: MSTORE
000015c7: PUSH1 0x60
000015c9: SWAP1
000015ca: SWAP2
000015cb: ADD
000015cc: SWAP1
000015cd: PUSH1 0x01
000015cf: PUSH1 0xa0
000015d1: SHL
000015d2: SWAP1
000015d3: DIV
000015d4: PUSH1 0xff
000015d6: AND
000015d7: PUSH1 0x04
000015d9: DUP2
000015da: GT
000015db: ISZERO
000015dc: PUSH2 0x15e7
000015df: JUMPI
000015e0: PUSH2 0x15e7
000015e3: PUSH2 0x436a
000015e6: JUMP
000015e7: JUMPDEST
000015e8: PUSH1 0x04
000015ea: DUP2
000015eb: GT
000015ec: ISZERO
000015ed: PUSH2 0x15f8
000015f0: JUMPI
000015f1: PUSH2 0x15f8
000015f4: PUSH2 0x436a
000015f7: JUMP
000015f8: JUMPDEST
000015f9: DUP2
000015fa: MSTORE
000015fb: PUSH1 0x20
000015fd: ADD
000015fe: PUSH1 0x03
00001600: DUP3
00001601: ADD
00001602: DUP1
00001603: SLOAD
00001604: PUSH2 0x160c
00001607: SWAP1
00001608: PUSH2 0x4675
0000160b: JUMP
0000160c: JUMPDEST
0000160d: DUP1
0000160e: PUSH1 0x1f
00001610: ADD
00001611: PUSH1 0x20
00001613: DUP1
00001614: SWAP2
00001615: DIV
00001616: MUL
00001617: PUSH1 0x20
00001619: ADD
0000161a: PUSH1 0x40
0000161c: MLOAD
0000161d: SWAP1
0000161e: DUP2
0000161f: ADD
00001620: PUSH1 0x40
00001622: MSTORE
00001623: DUP1
00001624: SWAP3
00001625: SWAP2
00001626: SWAP1
00001627: DUP2
00001628: DUP2
00001629: MSTORE
0000162a: PUSH1 0x20
0000162c: ADD
0000162d: DUP3
0000162e: DUP1
0000162f: SLOAD
00001630: PUSH2 0x1638
00001633: SWAP1
00001634: PUSH2 0x4675
00001637: JUMP
00001638: JUMPDEST
00001639: DUP1
0000163a: ISZERO
0000163b: PUSH2 0x1685
0000163e: JUMPI
0000163f: DUP1
00001640: PUSH1 0x1f
00001642: LT
00001643: PUSH2 0x165a
00001646: JUMPI
00001647: PUSH2 0x0100
0000164a: DUP1
0000164b: DUP4
0000164c: SLOAD
0000164d: DIV
0000164e: MUL
0000164f: DUP4
00001650: MSTORE
00001651: SWAP2
00001652: PUSH1 0x20
00001654: ADD
00001655: SWAP2
00001656: PUSH2 0x1685
00001659: JUMP
0000165a: JUMPDEST
0000165b: DUP3
0000165c: ADD
0000165d: SWAP2
0000165e: SWAP1
0000165f: PUSH1 0x00
00001661: MSTORE
00001662: PUSH1 0x20
00001664: PUSH1 0x00
00001666: KECCAK256
00001667: SWAP1
00001668: JUMPDEST
00001669: DUP2
0000166a: SLOAD
0000166b: DUP2
0000166c: MSTORE
0000166d: SWAP1
0000166e: PUSH1 0x01
00001670: ADD
00001671: SWAP1
00001672: PUSH1 0x20
00001674: ADD
00001675: DUP1
00001676: DUP4
00001677: GT
00001678: PUSH2 0x1668
0000167b: JUMPI
0000167c: DUP3
0000167d: SWAP1
0000167e: SUB
0000167f: PUSH1 0x1f
00001681: AND
00001682: DUP3
00001683: ADD
00001684: SWAP2
00001685: JUMPDEST
00001686: POP
00001687: POP
00001688: POP
00001689: SWAP2
0000168a: DUP4
0000168b: MSTORE
0000168c: POP
0000168d: POP
0000168e: PUSH1 0x04
00001690: DUP3
00001691: ADD
00001692: SLOAD
00001693: PUSH1 0x20
00001695: DUP3
00001696: ADD
00001697: MSTORE
00001698: PUSH1 0x05
0000169a: DUP3
0000169b: ADD
0000169c: SLOAD
0000169d: PUSH1 0x40
0000169f: DUP1
000016a0: DUP4
000016a1: ADD
000016a2: SWAP2
000016a3: SWAP1
000016a4: SWAP2
000016a5: MSTORE
000016a6: PUSH1 0x06
000016a8: SWAP1
000016a9: SWAP3
000016aa: ADD
000016ab: SLOAD
000016ac: PUSH1 0xff
000016ae: AND
000016af: ISZERO
000016b0: ISZERO
000016b1: PUSH1 0x60
000016b3: SWAP1
000016b4: SWAP2
000016b5: ADD
000016b6: MSTORE
000016b7: DUP2
000016b8: ADD
000016b9: MLOAD
000016ba: SWAP1
000016bb: SWAP2
000016bc: POP
000016bd: PUSH1 0x01
000016bf: PUSH1 0x01
000016c1: PUSH1 0xa0
000016c3: SHL
000016c4: SUB
000016c5: AND
000016c6: CALLER
000016c7: EQ
000016c8: PUSH2 0x16e3
000016cb: JUMPI
000016cc: PUSH1 0x40
000016ce: MLOAD
000016cf: PUSH3 0x7013f7
000016d3: PUSH1 0xe3
000016d5: SHL
000016d6: DUP2
000016d7: MSTORE
000016d8: PUSH1 0x04
000016da: ADD
000016db: PUSH1 0x40
000016dd: MLOAD
000016de: DUP1
000016df: SWAP2
000016e0: SUB
000016e1: SWAP1
000016e2: REVERT
000016e3: JUMPDEST
000016e4: PUSH1 0x20
000016e6: DUP2
000016e7: ADD
000016e8: MLOAD
000016e9: PUSH1 0x01
000016eb: PUSH1 0x01
000016ed: PUSH1 0xa0
000016ef: SHL
000016f0: SUB
000016f1: AND
000016f2: ISZERO
000016f3: DUP1
000016f4: ISZERO
000016f5: SWAP1
000016f6: PUSH2 0x1702
000016f9: JUMPI
000016fa: POP
000016fb: TIMESTAMP
000016fc: DUP2
000016fd: PUSH1 0xa0
000016ff: ADD
00001700: MLOAD
00001701: GT
00001702: JUMPDEST
00001703: DUP1
00001704: PUSH2 0x1723
00001707: JUMPI
00001708: POP
00001709: PUSH1 0x01
0000170b: DUP2
0000170c: PUSH1 0x60
0000170e: ADD
0000170f: MLOAD
00001710: PUSH1 0x04
00001712: DUP2
00001713: GT
00001714: ISZERO
00001715: PUSH2 0x1720
00001718: JUMPI
00001719: PUSH2 0x1720
0000171c: PUSH2 0x436a
0000171f: JUMP
00001720: JUMPDEST
00001721: EQ
00001722: ISZERO
00001723: JUMPDEST
00001724: DUP1
00001725: PUSH2 0x1747
00001728: JUMPI
00001729: POP
0000172a: PUSH1 0x20
0000172c: DUP2
0000172d: ADD
0000172e: MLOAD
0000172f: PUSH1 0x01
00001731: PUSH1 0x01
00001733: PUSH1 0xa0
00001735: SHL
00001736: SUB
00001737: AND
00001738: ISZERO
00001739: DUP1
0000173a: ISZERO
0000173b: PUSH2 0x1747
0000173e: JUMPI
0000173f: POP
00001740: TIMESTAMP
00001741: DUP2
00001742: PUSH1 0xc0
00001744: ADD
00001745: MLOAD
00001746: GT
00001747: JUMPDEST
00001748: ISZERO
00001749: PUSH2 0x177e
0000174c: JUMPI
0000174d: PUSH1 0x40
0000174f: MLOAD
00001750: PUSH32 0x58f00bd300000000000000000000000000000000000000000000000000000000
00001771: DUP2
00001772: MSTORE
00001773: PUSH1 0x04
00001775: ADD
00001776: PUSH1 0x40
00001778: MLOAD
00001779: DUP1
0000177a: SWAP2
0000177b: SUB
0000177c: SWAP1
0000177d: REVERT
0000177e: JUMPDEST
0000177f: PUSH1 0x20
00001781: DUP2
00001782: ADD
00001783: MLOAD
00001784: PUSH1 0x01
00001786: PUSH1 0x01
00001788: PUSH1 0xa0
0000178a: SHL
0000178b: SUB
0000178c: AND
0000178d: ISZERO
0000178e: PUSH2 0x17c0
00001791: JUMPI
00001792: PUSH1 0x20
00001794: DUP1
00001795: DUP3
00001796: ADD
00001797: MLOAD
00001798: PUSH1 0x01
0000179a: PUSH1 0x01
0000179c: PUSH1 0xa0
0000179e: SHL
0000179f: SUB
000017a0: AND
000017a1: PUSH1 0x00
000017a3: SWAP1
000017a4: DUP2
000017a5: MSTORE
000017a6: PUSH1 0x10
000017a8: SWAP1
000017a9: SWAP2
000017aa: MSTORE
000017ab: PUSH1 0x40
000017ad: DUP2
000017ae: KECCAK256
000017af: DUP1
000017b0: SLOAD
000017b1: SWAP2
000017b2: PUSH2 0x17ba
000017b5: DUP4
000017b6: PUSH2 0x46d2
000017b9: JUMP
000017ba: JUMPDEST
000017bb: SWAP2
000017bc: SWAP1
000017bd: POP
000017be: SSTORE
000017bf: POP
000017c0: JUMPDEST
000017c1: PUSH1 0x00
000017c3: DUP3
000017c4: DUP2
000017c5: MSTORE
000017c6: PUSH1 0x0f
000017c8: PUSH1 0x20
000017ca: MSTORE
000017cb: PUSH1 0x40
000017cd: DUP2
000017ce: KECCAK256
000017cf: PUSH1 0x02
000017d1: ADD
000017d2: DUP1
000017d3: SLOAD
000017d4: PUSH1 0xff
000017d6: PUSH1 0xa0
000017d8: SHL
000017d9: NOT
000017da: AND
000017db: PUSH21 0x040000000000000000000000000000000000000000
000017f1: OR
000017f2: SWAP1
000017f3: SSTORE
000017f4: JUMPDEST
000017f5: PUSH1 0x00
000017f7: DUP4
000017f8: DUP2
000017f9: MSTORE
000017fa: PUSH1 0x1a
000017fc: PUSH1 0x20
000017fe: MSTORE
000017ff: PUSH1 0x40
00001801: SWAP1
00001802: KECCAK256
00001803: SLOAD
00001804: DUP2
00001805: LT
00001806: ISZERO
00001807: PUSH2 0x187c
0000180a: JUMPI
0000180b: PUSH1 0x00
0000180d: DUP4
0000180e: DUP2
0000180f: MSTORE
00001810: PUSH1 0x1a
00001812: PUSH1 0x20
00001814: MSTORE
00001815: PUSH1 0x40
00001817: DUP2
00001818: KECCAK256
00001819: DUP1
0000181a: SLOAD
0000181b: DUP4
0000181c: SWAP1
0000181d: DUP2
0000181e: LT
0000181f: PUSH2 0x182a
00001822: JUMPI
00001823: PUSH2 0x182a
00001826: PUSH2 0x46e9
00001829: JUMP
0000182a: JUMPDEST
0000182b: PUSH1 0x00
0000182d: SWAP2
0000182e: DUP3
0000182f: MSTORE
00001830: PUSH1 0x20
00001832: DUP1
00001833: DUP4
00001834: KECCAK256
00001835: SWAP2
00001836: SWAP1
00001837: SWAP2
00001838: ADD
00001839: SLOAD
0000183a: DUP7
0000183b: DUP4
0000183c: MSTORE
0000183d: PUSH1 0x19
0000183f: DUP3
00001840: MSTORE
00001841: PUSH1 0x40
00001843: DUP1
00001844: DUP5
00001845: KECCAK256
00001846: PUSH1 0x01
00001848: PUSH1 0x01
0000184a: PUSH1 0xa0
0000184c: SHL
0000184d: SUB
0000184e: SWAP1
0000184f: SWAP3
00001850: AND
00001851: DUP1
00001852: DUP6
00001853: MSTORE
00001854: SWAP2
00001855: SWAP1
00001856: SWAP3
00001857: MSTORE
00001858: DUP2
00001859: DUP4
0000185a: KECCAK256
0000185b: DUP1
0000185c: SLOAD
0000185d: SWAP4
0000185e: SWAP1
0000185f: SSTORE
00001860: SWAP1
00001861: DUP6
00001862: ADD
00001863: MLOAD
00001864: SWAP1
00001865: SWAP3
00001866: POP
00001867: PUSH2 0x1872
0000186a: SWAP1
0000186b: DUP4
0000186c: SWAP1
0000186d: DUP4
0000186e: PUSH2 0x3cae
00001871: JUMP
00001872: JUMPDEST
00001873: POP
00001874: POP
00001875: PUSH1 0x01
00001877: ADD
00001878: PUSH2 0x17f4
0000187b: JUMP
0000187c: JUMPDEST
0000187d: POP
0000187e: PUSH1 0x40
00001880: MLOAD
00001881: DUP3
00001882: SWAP1
00001883: CALLER
00001884: SWAP1
00001885: PUSH32 0xc85508b437f67f29a4e18870f0631c52ceee4a66c63eccf4f11188ee8cc09c01
000018a6: SWAP1
000018a7: PUSH1 0x00
000018a9: SWAP1
000018aa: LOG3
000018ab: POP
000018ac: PUSH2 0x124c
000018af: PUSH1 0x01
000018b1: PUSH1 0x00
000018b3: SSTORE
000018b4: JUMP
000018b5: JUMPDEST
000018b6: PUSH2 0x18bd
000018b9: PUSH2 0x3728
000018bc: JUMP
000018bd: JUMPDEST
000018be: PUSH1 0x00
000018c0: DUP4
000018c1: DUP2
000018c2: MSTORE
000018c3: PUSH1 0x0f
000018c5: PUSH1 0x20
000018c7: SWAP1
000018c8: DUP2
000018c9: MSTORE
000018ca: PUSH1 0x40
000018cc: DUP1
000018cd: DUP4
000018ce: KECCAK256
000018cf: DUP2
000018d0: MLOAD
000018d1: DUP2
000018d2: SLOAD
000018d3: PUSH2 0x0120
000018d6: SWAP5
000018d7: DUP2
000018d8: MUL
000018d9: DUP3
000018da: ADD
000018db: DUP6
000018dc: ADD
000018dd: SWAP1
000018de: SWAP4
000018df: MSTORE
000018e0: PUSH2 0x0100
000018e3: DUP2
000018e4: ADD
000018e5: DUP4
000018e6: DUP2
000018e7: MSTORE
000018e8: SWAP1
000018e9: SWAP4
000018ea: SWAP2
000018eb: SWAP3
000018ec: DUP5
000018ed: SWAP3
000018ee: DUP5
000018ef: SWAP2
000018f0: SWAP1
000018f1: DUP5
000018f2: ADD
000018f3: DUP3
000018f4: DUP3
000018f5: DUP1
000018f6: ISZERO
000018f7: PUSH2 0x1929
000018fa: JUMPI
000018fb: PUSH1 0x20
000018fd: MUL
000018fe: DUP3
000018ff: ADD
00001900: SWAP2
00001901: SWAP1
00001902: PUSH1 0x00
00001904: MSTORE
00001905: PUSH1 0x20
00001907: PUSH1 0x00
00001909: KECCAK256
0000190a: SWAP1
0000190b: JUMPDEST
0000190c: DUP2
0000190d: SLOAD
0000190e: PUSH1 0x01
00001910: PUSH1 0x01
00001912: PUSH1 0xa0
00001914: SHL
00001915: SUB
00001916: AND
00001917: DUP2
00001918: MSTORE
00001919: PUSH1 0x01
0000191b: SWAP1
0000191c: SWAP2
0000191d: ADD
0000191e: SWAP1
0000191f: PUSH1 0x20
00001921: ADD
00001922: DUP1
00001923: DUP4
00001924: GT
00001925: PUSH2 0x190b
00001928: JUMPI
00001929: JUMPDEST
0000192a: POP
0000192b: POP
0000192c: POP
0000192d: SWAP2
0000192e: DUP4
0000192f: MSTORE
00001930: POP
00001931: POP
00001932: PUSH1 0x01
00001934: DUP3
00001935: ADD
00001936: SLOAD
00001937: PUSH1 0x01
00001939: PUSH1 0x01
0000193b: PUSH1 0xa0
0000193d: SHL
0000193e: SUB
0000193f: SWAP1
00001940: DUP2
00001941: AND
00001942: PUSH1 0x20
00001944: DUP4
00001945: ADD
00001946: MSTORE
00001947: PUSH1 0x02
00001949: DUP4
0000194a: ADD
0000194b: SLOAD
0000194c: SWAP1
0000194d: DUP2
0000194e: AND
0000194f: PUSH1 0x40
00001951: DUP4
00001952: ADD
00001953: MSTORE
00001954: PUSH1 0x60
00001956: SWAP1
00001957: SWAP2
00001958: ADD
00001959: SWAP1
0000195a: PUSH1 0x01
0000195c: PUSH1 0xa0
0000195e: SHL
0000195f: SWAP1
00001960: DIV
00001961: PUSH1 0xff
00001963: AND
00001964: PUSH1 0x04
00001966: DUP2
00001967: GT
00001968: ISZERO
00001969: PUSH2 0x1974
0000196c: JUMPI
0000196d: PUSH2 0x1974
00001970: PUSH2 0x436a
00001973: JUMP
00001974: JUMPDEST
00001975: PUSH1 0x04
00001977: DUP2
00001978: GT
00001979: ISZERO
0000197a: PUSH2 0x1985
0000197d: JUMPI
0000197e: PUSH2 0x1985
00001981: PUSH2 0x436a
00001984: JUMP
00001985: JUMPDEST
00001986: DUP2
00001987: MSTORE
00001988: PUSH1 0x20
0000198a: ADD
0000198b: PUSH1 0x03
0000198d: DUP3
0000198e: ADD
0000198f: DUP1
00001990: SLOAD
00001991: PUSH2 0x1999
00001994: SWAP1
00001995: PUSH2 0x4675
00001998: JUMP
00001999: JUMPDEST
0000199a: DUP1
0000199b: PUSH1 0x1f
0000199d: ADD
0000199e: PUSH1 0x20
000019a0: DUP1
000019a1: SWAP2
000019a2: DIV
000019a3: MUL
000019a4: PUSH1 0x20
000019a6: ADD
000019a7: PUSH1 0x40
000019a9: MLOAD
000019aa: SWAP1
000019ab: DUP2
000019ac: ADD
000019ad: PUSH1 0x40
000019af: MSTORE
000019b0: DUP1
000019b1: SWAP3
000019b2: SWAP2
000019b3: SWAP1
000019b4: DUP2
000019b5: DUP2
000019b6: MSTORE
000019b7: PUSH1 0x20
000019b9: ADD
000019ba: DUP3
000019bb: DUP1
000019bc: SLOAD
000019bd: PUSH2 0x19c5
000019c0: SWAP1
000019c1: PUSH2 0x4675
000019c4: JUMP
000019c5: JUMPDEST
000019c6: DUP1
000019c7: ISZERO
000019c8: PUSH2 0x1a12
000019cb: JUMPI
000019cc: DUP1
000019cd: PUSH1 0x1f
000019cf: LT
000019d0: PUSH2 0x19e7
000019d3: JUMPI
000019d4: PUSH2 0x0100
000019d7: DUP1
000019d8: DUP4
000019d9: SLOAD
000019da: DIV
000019db: MUL
000019dc: DUP4
000019dd: MSTORE
000019de: SWAP2
000019df: PUSH1 0x20
000019e1: ADD
000019e2: SWAP2
000019e3: PUSH2 0x1a12
000019e6: JUMP
000019e7: JUMPDEST
000019e8: DUP3
000019e9: ADD
000019ea: SWAP2
000019eb: SWAP1
000019ec: PUSH1 0x00
000019ee: MSTORE
000019ef: PUSH1 0x20
000019f1: PUSH1 0x00
000019f3: KECCAK256
000019f4: SWAP1
000019f5: JUMPDEST
000019f6: DUP2
000019f7: SLOAD
000019f8: DUP2
000019f9: MSTORE
000019fa: SWAP1
000019fb: PUSH1 0x01
000019fd: ADD
000019fe: SWAP1
000019ff: PUSH1 0x20
00001a01: ADD
00001a02: DUP1
00001a03: DUP4
00001a04: GT
00001a05: PUSH2 0x19f5
00001a08: JUMPI
00001a09: DUP3
00001a0a: SWAP1
00001a0b: SUB
00001a0c: PUSH1 0x1f
00001a0e: AND
00001a0f: DUP3
00001a10: ADD
00001a11: SWAP2
00001a12: JUMPDEST
00001a13: POP
00001a14: POP
00001a15: POP
00001a16: SWAP2
00001a17: DUP4
00001a18: MSTORE
00001a19: POP
00001a1a: POP
00001a1b: PUSH1 0x04
00001a1d: DUP3
00001a1e: ADD
00001a1f: SLOAD
00001a20: PUSH1 0x20
00001a22: DUP3
00001a23: ADD
00001a24: MSTORE
00001a25: PUSH1 0x05
00001a27: DUP3
00001a28: ADD
00001a29: SLOAD
00001a2a: PUSH1 0x40
00001a2c: DUP1
00001a2d: DUP4
00001a2e: ADD
00001a2f: SWAP2
00001a30: SWAP1
00001a31: SWAP2
00001a32: MSTORE
00001a33: PUSH1 0x06
00001a35: SWAP1
00001a36: SWAP3
00001a37: ADD
00001a38: SLOAD
00001a39: PUSH1 0xff
00001a3b: AND
00001a3c: ISZERO
00001a3d: ISZERO
00001a3e: PUSH1 0x60
00001a40: SWAP1
00001a41: SWAP2
00001a42: ADD
00001a43: MSTORE
00001a44: DUP2
00001a45: ADD
00001a46: MLOAD
00001a47: SWAP1
00001a48: SWAP2
00001a49: POP
00001a4a: PUSH1 0x01
00001a4c: PUSH1 0x01
00001a4e: PUSH1 0xa0
00001a50: SHL
00001a51: SUB
00001a52: AND
00001a53: CALLER
00001a54: EQ
00001a55: PUSH2 0x1a8a
00001a58: JUMPI
00001a59: PUSH1 0x40
00001a5b: MLOAD
00001a5c: PUSH32 0x8858596300000000000000000000000000000000000000000000000000000000
00001a7d: DUP2
00001a7e: MSTORE
00001a7f: PUSH1 0x04
00001a81: ADD
00001a82: PUSH1 0x40
00001a84: MLOAD
00001a85: DUP1
00001a86: SWAP2
00001a87: SUB
00001a88: SWAP1
00001a89: REVERT
00001a8a: JUMPDEST
00001a8b: PUSH1 0x01
00001a8d: DUP2
00001a8e: PUSH1 0x60
00001a90: ADD
00001a91: MLOAD
00001a92: PUSH1 0x04
00001a94: DUP2
00001a95: GT
00001a96: ISZERO
00001a97: PUSH2 0x1aa2
00001a9a: JUMPI
00001a9b: PUSH2 0x1aa2
00001a9e: PUSH2 0x436a
00001aa1: JUMP
00001aa2: JUMPDEST
00001aa3: EQ
00001aa4: PUSH2 0x1ac0
00001aa7: JUMPI
00001aa8: PUSH1 0x40
00001aaa: MLOAD
00001aab: PUSH4 0x1458625d
00001ab0: PUSH1 0xe1
00001ab2: SHL
00001ab3: DUP2
00001ab4: MSTORE
00001ab5: PUSH1 0x04
00001ab7: ADD
00001ab8: PUSH1 0x40
00001aba: MLOAD
00001abb: DUP1
00001abc: SWAP2
00001abd: SUB
00001abe: SWAP1
00001abf: REVERT
00001ac0: JUMPDEST
00001ac1: PUSH2 0x1acb
00001ac4: DUP5
00001ac5: DUP5
00001ac6: DUP5
00001ac7: PUSH2 0x3d3e
00001aca: JUMP
00001acb: JUMPDEST
00001acc: POP
00001acd: PUSH2 0x1ad6
00001ad0: PUSH1 0x01
00001ad2: PUSH1 0x00
00001ad4: SSTORE
00001ad5: JUMP
00001ad6: JUMPDEST
00001ad7: POP
00001ad8: POP
00001ad9: POP
00001ada: JUMP
00001adb: JUMPDEST
00001adc: PUSH1 0x09
00001ade: SLOAD
00001adf: PUSH1 0x01
00001ae1: PUSH1 0x01
00001ae3: PUSH1 0xa0
00001ae5: SHL
00001ae6: SUB
00001ae7: AND
00001ae8: CALLER
00001ae9: EQ
00001aea: PUSH2 0x1b06
00001aed: JUMPI
00001aee: PUSH1 0x40
00001af0: MLOAD
00001af1: PUSH4 0x30cd7471
00001af6: PUSH1 0xe0
00001af8: SHL
00001af9: DUP2
00001afa: MSTORE
00001afb: PUSH1 0x04
00001afd: ADD
00001afe: PUSH1 0x40
00001b00: MLOAD
00001b01: DUP1
00001b02: SWAP2
00001b03: SUB
00001b04: SWAP1
00001b05: REVERT
00001b06: JUMPDEST
00001b07: PUSH1 0x04
00001b09: DUP1
00001b0a: SLOAD
00001b0b: SWAP1
00001b0c: DUP3
00001b0d: SWAP1
00001b0e: SSTORE
00001b0f: PUSH1 0x40
00001b11: DUP1
00001b12: MLOAD
00001b13: DUP3
00001b14: DUP2
00001b15: MSTORE
00001b16: PUSH1 0x20
00001b18: DUP2
00001b19: ADD
00001b1a: DUP5
00001b1b: SWAP1
00001b1c: MSTORE
00001b1d: PUSH32 0x648ffb12430ecbe2df85de53f1e896e7f07ff56ea8b721c9abf91bcc06133f3d
00001b3e: SWAP2
00001b3f: ADD
00001b40: PUSH2 0x0ef6
00001b43: JUMP
00001b44: JUMPDEST
00001b45: PUSH2 0x1b4c
00001b48: PUSH2 0x413e
00001b4b: JUMP
00001b4c: JUMPDEST
00001b4d: PUSH1 0x01
00001b4f: PUSH1 0x01
00001b51: PUSH1 0xa0
00001b53: SHL
00001b54: SUB
00001b55: DUP3
00001b56: AND
00001b57: PUSH1 0x00
00001b59: SWAP1
00001b5a: DUP2
00001b5b: MSTORE
00001b5c: PUSH1 0x0c
00001b5e: PUSH1 0x20
00001b60: MSTORE
00001b61: PUSH1 0x40
00001b63: SWAP1
00001b64: DUP2
00001b65: SWAP1
00001b66: KECCAK256
00001b67: DUP2
00001b68: MLOAD
00001b69: PUSH1 0x80
00001b6b: DUP2
00001b6c: ADD
00001b6d: SWAP3
00001b6e: DUP4
00001b6f: SWAP1
00001b70: MSTORE
00001b71: SWAP2
00001b72: PUSH1 0x04
00001b74: SWAP1
00001b75: DUP3
00001b76: DUP5
00001b77: JUMPDEST
00001b78: DUP2
00001b79: SLOAD
00001b7a: DUP2
00001b7b: MSTORE
00001b7c: PUSH1 0x20
00001b7e: ADD
00001b7f: SWAP1
00001b80: PUSH1 0x01
00001b82: ADD
00001b83: SWAP1
00001b84: DUP1
00001b85: DUP4
00001b86: GT
00001b87: PUSH2 0x1b77
00001b8a: JUMPI
00001b8b: POP
00001b8c: POP
00001b8d: POP
00001b8e: POP
00001b8f: POP
00001b90: SWAP1
00001b91: POP
00001b92: SWAP2
00001b93: SWAP1
00001b94: POP
00001b95: JUMP
00001b96: JUMPDEST
00001b97: PUSH1 0x00
00001b99: PUSH2 0x1ba0
00001b9c: PUSH2 0x3728
00001b9f: JUMP
00001ba0: JUMPDEST
00001ba1: PUSH1 0x07
00001ba3: SLOAD
00001ba4: DUP3
00001ba5: LT
00001ba6: ISZERO
00001ba7: PUSH2 0x1bdc
00001baa: JUMPI
00001bab: PUSH1 0x40
00001bad: MLOAD
00001bae: PUSH32 0xa8b9c37100000000000000000000000000000000000000000000000000000000
00001bcf: DUP2
00001bd0: MSTORE
00001bd1: PUSH1 0x04
00001bd3: ADD
00001bd4: PUSH1 0x40
00001bd6: MLOAD
00001bd7: DUP1
00001bd8: SWAP2
00001bd9: SUB
00001bda: SWAP1
00001bdb: REVERT
00001bdc: JUMPDEST
00001bdd: PUSH1 0x08
00001bdf: PUSH1 0x00
00001be1: DUP2
00001be2: SLOAD
00001be3: PUSH2 0x1beb
00001be6: SWAP1
00001be7: PUSH2 0x46ff
00001bea: JUMP
00001beb: JUMPDEST
00001bec: SWAP1
00001bed: SWAP2
00001bee: SSTORE
00001bef: POP
00001bf0: POP
00001bf1: PUSH1 0x08
00001bf3: SLOAD
00001bf4: DUP4
00001bf5: ISZERO
00001bf6: PUSH2 0x1eeb
00001bf9: JUMPI
00001bfa: PUSH1 0x00
00001bfc: JUMPDEST
00001bfd: DUP5
00001bfe: DUP2
00001bff: LT
00001c00: ISZERO
00001c01: PUSH2 0x1d8c
00001c04: JUMPI
00001c05: PUSH1 0x00
00001c07: PUSH1 0x0e
00001c09: PUSH1 0x00
00001c0b: DUP9
00001c0c: DUP9
00001c0d: DUP6
00001c0e: DUP2
00001c0f: DUP2
00001c10: LT
00001c11: PUSH2 0x1c1c
00001c14: JUMPI
00001c15: PUSH2 0x1c1c
00001c18: PUSH2 0x46e9
00001c1b: JUMP
00001c1c: JUMPDEST
00001c1d: SWAP1
00001c1e: POP
00001c1f: PUSH1 0x20
00001c21: MUL
00001c22: ADD
00001c23: PUSH1 0x20
00001c25: DUP2
00001c26: ADD
00001c27: SWAP1
00001c28: PUSH2 0x1c31
00001c2b: SWAP2
00001c2c: SWAP1
00001c2d: PUSH2 0x42ff
00001c30: JUMP
00001c31: JUMPDEST
00001c32: PUSH1 0x01
00001c34: PUSH1 0x01
00001c36: PUSH1 0xa0
00001c38: SHL
00001c39: SUB
00001c3a: SWAP1
00001c3b: DUP2
00001c3c: AND
00001c3d: DUP3
00001c3e: MSTORE
00001c3f: PUSH1 0x20
00001c41: DUP1
00001c42: DUP4
00001c43: ADD
00001c44: SWAP4
00001c45: SWAP1
00001c46: SWAP4
00001c47: MSTORE
00001c48: PUSH1 0x40
00001c4a: SWAP2
00001c4b: DUP3
00001c4c: ADD
00001c4d: PUSH1 0x00
00001c4f: KECCAK256
00001c50: DUP3
00001c51: MLOAD
00001c52: PUSH1 0x60
00001c54: DUP2
00001c55: ADD
00001c56: DUP5
00001c57: MSTORE
00001c58: DUP2
00001c59: SLOAD
00001c5a: SWAP3
00001c5b: DUP4
00001c5c: AND
00001c5d: DUP2
00001c5e: MSTORE
00001c5f: PUSH1 0x01
00001c61: PUSH1 0xa0
00001c63: SHL
00001c64: SWAP1
00001c65: SWAP3
00001c66: DIV
00001c67: PUSH1 0xff
00001c69: AND
00001c6a: ISZERO
00001c6b: DUP1
00001c6c: ISZERO
00001c6d: SWAP5
00001c6e: DUP4
00001c6f: ADD
00001c70: SWAP5
00001c71: SWAP1
00001c72: SWAP5
00001c73: MSTORE
00001c74: PUSH1 0x01
00001c76: ADD
00001c77: SLOAD
00001c78: SWAP2
00001c79: DUP2
00001c7a: ADD
00001c7b: SWAP2
00001c7c: SWAP1
00001c7d: SWAP2
00001c7e: MSTORE
00001c7f: SWAP2
00001c80: POP
00001c81: PUSH2 0x1c9d
00001c84: JUMPI
00001c85: PUSH1 0x40
00001c87: MLOAD
00001c88: PUSH4 0x64748e39
00001c8d: PUSH1 0xe1
00001c8f: SHL
00001c90: DUP2
00001c91: MSTORE
00001c92: PUSH1 0x04
00001c94: ADD
00001c95: PUSH1 0x40
00001c97: MLOAD
00001c98: DUP1
00001c99: SWAP2
00001c9a: SUB
00001c9b: SWAP1
00001c9c: REVERT
00001c9d: JUMPDEST
00001c9e: DUP1
00001c9f: MLOAD
00001ca0: PUSH1 0x01
00001ca2: PUSH1 0x01
00001ca4: PUSH1 0xa0
00001ca6: SHL
00001ca7: SUB
00001ca8: AND
00001ca9: CALLER
00001caa: EQ
00001cab: PUSH2 0x1cc6
00001cae: JUMPI
00001caf: PUSH1 0x40
00001cb1: MLOAD
00001cb2: PUSH3 0x7013f7
00001cb6: PUSH1 0xe3
00001cb8: SHL
00001cb9: DUP2
00001cba: MSTORE
00001cbb: PUSH1 0x04
00001cbd: ADD
00001cbe: PUSH1 0x40
00001cc0: MLOAD
00001cc1: DUP1
00001cc2: SWAP2
00001cc3: SUB
00001cc4: SWAP1
00001cc5: REVERT
00001cc6: JUMPDEST
00001cc7: PUSH1 0x01
00001cc9: PUSH1 0x0e
00001ccb: PUSH1 0x00
00001ccd: DUP10
00001cce: DUP10
00001ccf: DUP7
00001cd0: DUP2
00001cd1: DUP2
00001cd2: LT
00001cd3: PUSH2 0x1cde
00001cd6: JUMPI
00001cd7: PUSH2 0x1cde
00001cda: PUSH2 0x46e9
00001cdd: JUMP
00001cde: JUMPDEST
00001cdf: SWAP1
00001ce0: POP
00001ce1: PUSH1 0x20
00001ce3: MUL
00001ce4: ADD
00001ce5: PUSH1 0x20
00001ce7: DUP2
00001ce8: ADD
00001ce9: SWAP1
00001cea: PUSH2 0x1cf3
00001ced: SWAP2
00001cee: SWAP1
00001cef: PUSH2 0x42ff
00001cf2: JUMP
00001cf3: JUMPDEST
00001cf4: PUSH1 0x01
00001cf6: PUSH1 0x01
00001cf8: PUSH1 0xa0
00001cfa: SHL
00001cfb: SUB
00001cfc: AND
00001cfd: PUSH1 0x01
00001cff: PUSH1 0x01
00001d01: PUSH1 0xa0
00001d03: SHL
00001d04: SUB
00001d05: AND
00001d06: DUP2
00001d07: MSTORE
00001d08: PUSH1 0x20
00001d0a: ADD
00001d0b: SWAP1
00001d0c: DUP2
00001d0d: MSTORE
00001d0e: PUSH1 0x20
00001d10: ADD
00001d11: PUSH1 0x00
00001d13: KECCAK256
00001d14: PUSH1 0x00
00001d16: ADD
00001d17: PUSH1 0x14
00001d19: PUSH2 0x0100
00001d1c: EXP
00001d1d: DUP2
00001d1e: SLOAD
00001d1f: DUP2
00001d20: PUSH1 0xff
00001d22: MUL
00001d23: NOT
00001d24: AND
00001d25: SWAP1
00001d26: DUP4
00001d27: ISZERO
00001d28: ISZERO
00001d29: MUL
00001d2a: OR
00001d2b: SWAP1
00001d2c: SSTORE
00001d2d: POP
00001d2e: DUP3
00001d2f: PUSH1 0x0e
00001d31: PUSH1 0x00
00001d33: DUP10
00001d34: DUP10
00001d35: DUP7
00001d36: DUP2
00001d37: DUP2
00001d38: LT
00001d39: PUSH2 0x1d44
00001d3c: JUMPI
00001d3d: PUSH2 0x1d44
00001d40: PUSH2 0x46e9
00001d43: JUMP
00001d44: JUMPDEST
00001d45: SWAP1
00001d46: POP
00001d47: PUSH1 0x20
00001d49: MUL
00001d4a: ADD
00001d4b: PUSH1 0x20
00001d4d: DUP2
00001d4e: ADD
00001d4f: SWAP1
00001d50: PUSH2 0x1d59
00001d53: SWAP2
00001d54: SWAP1
00001d55: PUSH2 0x42ff
00001d58: JUMP
00001d59: JUMPDEST
00001d5a: PUSH1 0x01
00001d5c: PUSH1 0x01
00001d5e: PUSH1 0xa0
00001d60: SHL
00001d61: SUB
00001d62: AND
00001d63: PUSH1 0x01
00001d65: PUSH1 0x01
00001d67: PUSH1 0xa0
00001d69: SHL
00001d6a: SUB
00001d6b: AND
00001d6c: DUP2
00001d6d: MSTORE
00001d6e: PUSH1 0x20
00001d70: ADD
00001d71: SWAP1
00001d72: DUP2
00001d73: MSTORE
00001d74: PUSH1 0x20
00001d76: ADD
00001d77: PUSH1 0x00
00001d79: KECCAK256
00001d7a: PUSH1 0x01
00001d7c: ADD
00001d7d: DUP2
00001d7e: SWAP1
00001d7f: SSTORE
00001d80: POP
00001d81: POP
00001d82: DUP1
00001d83: PUSH1 0x01
00001d85: ADD
00001d86: SWAP1
00001d87: POP
00001d88: PUSH2 0x1bfc
00001d8b: JUMP
00001d8c: JUMPDEST
00001d8d: POP
00001d8e: DUP3
00001d8f: ISZERO
00001d90: PUSH2 0x1ed0
00001d93: JUMPI
00001d94: PUSH1 0x00
00001d96: DUP4
00001d97: DUP2
00001d98: MSTORE
00001d99: PUSH1 0x13
00001d9b: PUSH1 0x20
00001d9d: MSTORE
00001d9e: PUSH1 0x40
00001da0: SWAP1
00001da1: KECCAK256
00001da2: SLOAD
00001da3: TIMESTAMP
00001da4: LT
00001da5: ISZERO
00001da6: DUP1
00001da7: PUSH2 0x1dca
00001daa: JUMPI
00001dab: POP
00001dac: PUSH1 0x00
00001dae: DUP4
00001daf: DUP2
00001db0: MSTORE
00001db1: PUSH1 0x0f
00001db3: PUSH1 0x20
00001db5: MSTORE
00001db6: PUSH1 0x40
00001db8: SWAP1
00001db9: KECCAK256
00001dba: PUSH1 0x02
00001dbc: ADD
00001dbd: SLOAD
00001dbe: PUSH1 0x01
00001dc0: PUSH1 0x01
00001dc2: PUSH1 0xa0
00001dc4: SHL
00001dc5: SUB
00001dc6: AND
00001dc7: CALLER
00001dc8: EQ
00001dc9: ISZERO
00001dca: JUMPDEST
00001dcb: ISZERO
00001dcc: PUSH2 0x1e01
00001dcf: JUMPI
00001dd0: PUSH1 0x40
00001dd2: MLOAD
00001dd3: PUSH32 0x78a7fb4e00000000000000000000000000000000000000000000000000000000
00001df4: DUP2
00001df5: MSTORE
00001df6: PUSH1 0x04
00001df8: ADD
00001df9: PUSH1 0x40
00001dfb: MLOAD
00001dfc: DUP1
00001dfd: SWAP2
00001dfe: SUB
00001dff: SWAP1
00001e00: REVERT
00001e01: JUMPDEST
00001e02: PUSH1 0x00
00001e04: DUP4
00001e05: DUP2
00001e06: MSTORE
00001e07: PUSH1 0x0f
00001e09: PUSH1 0x20
00001e0b: MSTORE
00001e0c: PUSH1 0x40
00001e0e: DUP1
00001e0f: DUP3
00001e10: KECCAK256
00001e11: PUSH1 0x01
00001e13: SWAP1
00001e14: DUP2
00001e15: ADD
00001e16: SLOAD
00001e17: DUP5
00001e18: DUP5
00001e19: MSTORE
00001e1a: SWAP2
00001e1b: SWAP1
00001e1c: SWAP3
00001e1d: KECCAK256
00001e1e: SWAP1
00001e1f: SWAP2
00001e20: ADD
00001e21: DUP1
00001e22: SLOAD
00001e23: PUSH1 0x01
00001e25: PUSH1 0x01
00001e27: PUSH1 0xa0
00001e29: SHL
00001e2a: SUB
00001e2b: NOT
00001e2c: AND
00001e2d: PUSH1 0x01
00001e2f: PUSH1 0x01
00001e31: PUSH1 0xa0
00001e33: SHL
00001e34: SUB
00001e35: SWAP1
00001e36: SWAP3
00001e37: AND
00001e38: SWAP2
00001e39: SWAP1
00001e3a: SWAP2
00001e3b: OR
00001e3c: SWAP1
00001e3d: SSTORE
00001e3e: PUSH1 0x03
00001e40: SLOAD
00001e41: PUSH2 0x1e4a
00001e44: SWAP1
00001e45: TIMESTAMP
00001e46: PUSH2 0x46bf
00001e49: JUMP
00001e4a: JUMPDEST
00001e4b: PUSH1 0x00
00001e4d: DUP3
00001e4e: DUP2
00001e4f: MSTORE
00001e50: PUSH1 0x0f
00001e52: PUSH1 0x20
00001e54: SWAP1
00001e55: DUP2
00001e56: MSTORE
00001e57: PUSH1 0x40
00001e59: DUP1
00001e5a: DUP4
00001e5b: KECCAK256
00001e5c: PUSH1 0x04
00001e5e: ADD
00001e5f: SWAP4
00001e60: SWAP1
00001e61: SWAP4
00001e62: SSTORE
00001e63: DUP6
00001e64: DUP3
00001e65: MSTORE
00001e66: PUSH1 0x15
00001e68: SWAP1
00001e69: MSTORE
00001e6a: DUP2
00001e6b: DUP2
00001e6c: KECCAK256
00001e6d: DUP4
00001e6e: DUP3
00001e6f: MSTORE
00001e70: SWAP2
00001e71: SWAP1
00001e72: KECCAK256
00001e73: DUP2
00001e74: SLOAD
00001e75: PUSH2 0x1e7e
00001e78: SWAP3
00001e79: SWAP1
00001e7a: PUSH2 0x415c
00001e7d: JUMP
00001e7e: JUMPDEST
00001e7f: POP
00001e80: PUSH1 0x00
00001e82: DUP4
00001e83: DUP2
00001e84: MSTORE
00001e85: PUSH1 0x16
00001e87: PUSH1 0x20
00001e89: MSTORE
00001e8a: PUSH1 0x40
00001e8c: DUP1
00001e8d: DUP3
00001e8e: KECCAK256
00001e8f: DUP4
00001e90: DUP4
00001e91: MSTORE
00001e92: SWAP2
00001e93: KECCAK256
00001e94: DUP2
00001e95: SLOAD
00001e96: PUSH2 0x1e9f
00001e99: SWAP3
00001e9a: SWAP1
00001e9b: PUSH2 0x415c
00001e9e: JUMP
00001e9f: JUMPDEST
00001ea0: POP
00001ea1: PUSH1 0x00
00001ea3: DUP4
00001ea4: DUP2
00001ea5: MSTORE
00001ea6: PUSH1 0x12
00001ea8: PUSH1 0x20
00001eaa: SWAP1
00001eab: DUP2
00001eac: MSTORE
00001ead: PUSH1 0x40
00001eaf: DUP1
00001eb0: DUP4
00001eb1: KECCAK256
00001eb2: SLOAD
00001eb3: DUP5
00001eb4: DUP5
00001eb5: MSTORE
00001eb6: DUP2
00001eb7: DUP5
00001eb8: KECCAK256
00001eb9: SSTORE
00001eba: DUP6
00001ebb: DUP4
00001ebc: MSTORE
00001ebd: PUSH1 0x14
00001ebf: SWAP1
00001ec0: SWAP2
00001ec1: MSTORE
00001ec2: SWAP1
00001ec3: KECCAK256
00001ec4: DUP2
00001ec5: SWAP1
00001ec6: SSTORE
00001ec7: PUSH2 0x1ed0
00001eca: DUP4
00001ecb: DUP3
00001ecc: PUSH2 0x3e30
00001ecf: JUMP
00001ed0: JUMPDEST
00001ed1: PUSH1 0x00
00001ed3: DUP2
00001ed4: DUP2
00001ed5: MSTORE
00001ed6: PUSH1 0x0f
00001ed8: PUSH1 0x20
00001eda: MSTORE
00001edb: PUSH1 0x40
00001edd: SWAP1
00001ede: KECCAK256
00001edf: PUSH2 0x1ee9
00001ee2: SWAP1
00001ee3: DUP7
00001ee4: DUP7
00001ee5: PUSH2 0x41ac
00001ee8: JUMP
00001ee9: JUMPDEST
00001eea: POP
00001eeb: JUMPDEST
00001eec: PUSH1 0x00
00001eee: DUP2
00001eef: DUP2
00001ef0: MSTORE
00001ef1: PUSH1 0x0f
00001ef3: PUSH1 0x20
00001ef5: MSTORE
00001ef6: PUSH1 0x40
00001ef8: SWAP1
00001ef9: KECCAK256
00001efa: PUSH1 0x02
00001efc: ADD
00001efd: DUP1
00001efe: SLOAD
00001eff: PUSH21 0xffffffffffffffffffffffffffffffffffffffffff
00001f15: NOT
00001f16: AND
00001f17: CALLER
00001f18: PUSH1 0xff
00001f1a: PUSH1 0xa0
00001f1c: SHL
00001f1d: NOT
00001f1e: AND
00001f1f: OR
00001f20: PUSH1 0x01
00001f22: PUSH1 0xa0
00001f24: SHL
00001f25: OR
00001f26: SWAP1
00001f27: SSTORE
00001f28: PUSH1 0x06
00001f2a: SLOAD
00001f2b: PUSH2 0x1f35
00001f2e: SWAP1
00001f2f: TIMESTAMP
00001f30: SWAP1
00001f31: PUSH2 0x46bf
00001f34: JUMP
00001f35: JUMPDEST
00001f36: PUSH1 0x00
00001f38: DUP3
00001f39: DUP2
00001f3a: MSTORE
00001f3b: PUSH1 0x0f
00001f3d: PUSH1 0x20
00001f3f: MSTORE
00001f40: PUSH1 0x40
00001f42: SWAP1
00001f43: KECCAK256
00001f44: PUSH1 0x05
00001f46: ADD
00001f47: SSTORE
00001f48: DUP2
00001f49: ISZERO
00001f4a: PUSH2 0x1f78
00001f4d: JUMPI
00001f4e: PUSH2 0x1f78
00001f51: DUP2
00001f52: DUP4
00001f53: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00001f74: PUSH2 0x3d3e
00001f77: JUMP
00001f78: JUMPDEST
00001f79: CALLER
00001f7a: PUSH1 0x01
00001f7c: PUSH1 0x01
00001f7e: PUSH1 0xa0
00001f80: SHL
00001f81: SUB
00001f82: AND
00001f83: DUP4
00001f84: DUP3
00001f85: PUSH32 0x3d364f58fd792583625c7fbc2f4f24f77d3d2df986e7f6c4de06ba1ba02e59cf
00001fa6: DUP9
00001fa7: DUP9
00001fa8: PUSH1 0x40
00001faa: MLOAD
00001fab: PUSH2 0x1fb5
00001fae: SWAP3
00001faf: SWAP2
00001fb0: SWAP1
00001fb1: PUSH2 0x4718
00001fb4: JUMP
00001fb5: JUMPDEST
00001fb6: PUSH1 0x40
00001fb8: MLOAD
00001fb9: DUP1
00001fba: SWAP2
00001fbb: SUB
00001fbc: SWAP1
00001fbd: LOG4
00001fbe: PUSH2 0x1fc7
00001fc1: PUSH1 0x01
00001fc3: PUSH1 0x00
00001fc5: SSTORE
00001fc6: JUMP
00001fc7: JUMPDEST
00001fc8: SWAP5
00001fc9: SWAP4
00001fca: POP
00001fcb: POP
00001fcc: POP
00001fcd: POP
00001fce: JUMP
00001fcf: JUMPDEST
00001fd0: PUSH1 0x09
00001fd2: SLOAD
00001fd3: PUSH1 0x01
00001fd5: PUSH1 0x01
00001fd7: PUSH1 0xa0
00001fd9: SHL
00001fda: SUB
00001fdb: AND
00001fdc: CALLER
00001fdd: EQ
00001fde: PUSH2 0x1ffa
00001fe1: JUMPI
00001fe2: PUSH1 0x40
00001fe4: MLOAD
00001fe5: PUSH4 0x30cd7471
00001fea: PUSH1 0xe0
00001fec: SHL
00001fed: DUP2
00001fee: MSTORE
00001fef: PUSH1 0x04
00001ff1: ADD
00001ff2: PUSH1 0x40
00001ff4: MLOAD
00001ff5: DUP1
00001ff6: SWAP2
00001ff7: SUB
00001ff8: SWAP1
00001ff9: REVERT
00001ffa: JUMPDEST
00001ffb: PUSH1 0x0b
00001ffd: SLOAD
00001ffe: PUSH1 0x01
00002000: PUSH1 0x01
00002002: PUSH1 0xa0
00002004: SHL
00002005: SUB
00002006: AND
00002007: ISZERO
00002008: PUSH2 0x203d
0000200b: JUMPI
0000200c: PUSH1 0x40
0000200e: MLOAD
0000200f: PUSH32 0xa741a04500000000000000000000000000000000000000000000000000000000
00002030: DUP2
00002031: MSTORE
00002032: PUSH1 0x04
00002034: ADD
00002035: PUSH1 0x40
00002037: MLOAD
00002038: DUP1
00002039: SWAP2
0000203a: SUB
0000203b: SWAP1
0000203c: REVERT
0000203d: JUMPDEST
0000203e: PUSH1 0x0b
00002040: DUP1
00002041: SLOAD
00002042: PUSH1 0x01
00002044: PUSH1 0x01
00002046: PUSH1 0xa0
00002048: SHL
00002049: SUB
0000204a: NOT
0000204b: AND
0000204c: PUSH1 0x01
0000204e: PUSH1 0x01
00002050: PUSH1 0xa0
00002052: SHL
00002053: SUB
00002054: DUP4
00002055: AND
00002056: OR
00002057: SWAP1
00002058: SSTORE
00002059: PUSH1 0x00
0000205b: JUMPDEST
0000205c: PUSH1 0x0b
0000205e: PUSH1 0x00
00002060: SWAP1
00002061: SLOAD
00002062: SWAP1
00002063: PUSH2 0x0100
00002066: EXP
00002067: SWAP1
00002068: DIV
00002069: PUSH1 0x01
0000206b: PUSH1 0x01
0000206d: PUSH1 0xa0
0000206f: SHL
00002070: SUB
00002071: AND
00002072: PUSH1 0x01
00002074: PUSH1 0x01
00002076: PUSH1 0xa0
00002078: SHL
00002079: SUB
0000207a: AND
0000207b: PUSH4 0x18160ddd
00002080: PUSH1 0x40
00002082: MLOAD
00002083: DUP2
00002084: PUSH4 0xffffffff
00002089: AND
0000208a: PUSH1 0xe0
0000208c: SHL
0000208d: DUP2
0000208e: MSTORE
0000208f: PUSH1 0x04
00002091: ADD
00002092: PUSH1 0x20
00002094: PUSH1 0x40
00002096: MLOAD
00002097: DUP1
00002098: DUP4
00002099: SUB
0000209a: DUP2
0000209b: DUP7
0000209c: GAS
0000209d: STATICCALL
0000209e: ISZERO
0000209f: DUP1
000020a0: ISZERO
000020a1: PUSH2 0x20ae
000020a4: JUMPI
000020a5: RETURNDATASIZE
000020a6: PUSH1 0x00
000020a8: DUP1
000020a9: RETURNDATACOPY
000020aa: RETURNDATASIZE
000020ab: PUSH1 0x00
000020ad: REVERT
000020ae: JUMPDEST
000020af: POP
000020b0: POP
000020b1: POP
000020b2: POP
000020b3: PUSH1 0x40
000020b5: MLOAD
000020b6: RETURNDATASIZE
000020b7: PUSH1 0x1f
000020b9: NOT
000020ba: PUSH1 0x1f
000020bc: DUP3
000020bd: ADD
000020be: AND
000020bf: DUP3
000020c0: ADD
000020c1: DUP1
000020c2: PUSH1 0x40
000020c4: MSTORE
000020c5: POP
000020c6: DUP2
000020c7: ADD
000020c8: SWAP1
000020c9: PUSH2 0x20d2
000020cc: SWAP2
000020cd: SWAP1
000020ce: PUSH2 0x4765
000020d1: JUMP
000020d2: JUMPDEST
000020d3: DUP2
000020d4: LT
000020d5: ISZERO
000020d6: PUSH2 0x21f5
000020d9: JUMPI
000020da: PUSH1 0x0b
000020dc: SLOAD
000020dd: PUSH1 0x40
000020df: MLOAD
000020e0: PUSH32 0x6352211e00000000000000000000000000000000000000000000000000000000
00002101: DUP2
00002102: MSTORE
00002103: PUSH1 0x04
00002105: DUP2
00002106: ADD
00002107: DUP4
00002108: SWAP1
00002109: MSTORE
0000210a: PUSH2 0x21ec
0000210d: SWAP2
0000210e: PUSH1 0x01
00002110: PUSH1 0x01
00002112: PUSH1 0xa0
00002114: SHL
00002115: SUB
00002116: AND
00002117: SWAP1
00002118: PUSH4 0x6352211e
0000211d: SWAP1
0000211e: PUSH1 0x24
00002120: ADD
00002121: PUSH1 0x20
00002123: PUSH1 0x40
00002125: MLOAD
00002126: DUP1
00002127: DUP4
00002128: SUB
00002129: DUP2
0000212a: DUP7
0000212b: GAS
0000212c: STATICCALL
0000212d: ISZERO
0000212e: DUP1
0000212f: ISZERO
00002130: PUSH2 0x213d
00002133: JUMPI
00002134: RETURNDATASIZE
00002135: PUSH1 0x00
00002137: DUP1
00002138: RETURNDATACOPY
00002139: RETURNDATASIZE
0000213a: PUSH1 0x00
0000213c: REVERT
0000213d: JUMPDEST
0000213e: POP
0000213f: POP
00002140: POP
00002141: POP
00002142: PUSH1 0x40
00002144: MLOAD
00002145: RETURNDATASIZE
00002146: PUSH1 0x1f
00002148: NOT
00002149: PUSH1 0x1f
0000214b: DUP3
0000214c: ADD
0000214d: AND
0000214e: DUP3
0000214f: ADD
00002150: DUP1
00002151: PUSH1 0x40
00002153: MSTORE
00002154: POP
00002155: DUP2
00002156: ADD
00002157: SWAP1
00002158: PUSH2 0x2161
0000215b: SWAP2
0000215c: SWAP1
0000215d: PUSH2 0x477e
00002160: JUMP
00002161: JUMPDEST
00002162: PUSH1 0x0b
00002164: SLOAD
00002165: PUSH1 0x40
00002167: MLOAD
00002168: PUSH32 0x05c58df200000000000000000000000000000000000000000000000000000000
00002189: DUP2
0000218a: MSTORE
0000218b: PUSH1 0x04
0000218d: DUP2
0000218e: ADD
0000218f: DUP6
00002190: SWAP1
00002191: MSTORE
00002192: PUSH1 0x01
00002194: PUSH1 0x01
00002196: PUSH1 0xa0
00002198: SHL
00002199: SUB
0000219a: SWAP1
0000219b: SWAP2
0000219c: AND
0000219d: SWAP1
0000219e: PUSH4 0x05c58df2
000021a3: SWAP1
000021a4: PUSH1 0x24
000021a6: ADD
000021a7: PUSH1 0x20
000021a9: PUSH1 0x40
000021ab: MLOAD
000021ac: DUP1
000021ad: DUP4
000021ae: SUB
000021af: DUP2
000021b0: DUP7
000021b1: GAS
000021b2: STATICCALL
000021b3: ISZERO
000021b4: DUP1
000021b5: ISZERO
000021b6: PUSH2 0x21c3
000021b9: JUMPI
000021ba: RETURNDATASIZE
000021bb: PUSH1 0x00
000021bd: DUP1
000021be: RETURNDATACOPY
000021bf: RETURNDATASIZE
000021c0: PUSH1 0x00
000021c2: REVERT
000021c3: JUMPDEST
000021c4: POP
000021c5: POP
000021c6: POP
000021c7: POP
000021c8: PUSH1 0x40
000021ca: MLOAD
000021cb: RETURNDATASIZE
000021cc: PUSH1 0x1f
000021ce: NOT
000021cf: PUSH1 0x1f
000021d1: DUP3
000021d2: ADD
000021d3: AND
000021d4: DUP3
000021d5: ADD
000021d6: DUP1
000021d7: PUSH1 0x40
000021d9: MSTORE
000021da: POP
000021db: DUP2
000021dc: ADD
000021dd: SWAP1
000021de: PUSH2 0x21e7
000021e1: SWAP2
000021e2: SWAP1
000021e3: PUSH2 0x4765
000021e6: JUMP
000021e7: JUMPDEST
000021e8: PUSH2 0x34b7
000021eb: JUMP
000021ec: JUMPDEST
000021ed: POP
000021ee: PUSH1 0x01
000021f0: ADD
000021f1: PUSH2 0x205b
000021f4: JUMP
000021f5: JUMPDEST
000021f6: POP
000021f7: POP
000021f8: JUMP
000021f9: JUMPDEST
000021fa: PUSH1 0x0f
000021fc: PUSH1 0x20
000021fe: MSTORE
000021ff: PUSH1 0x00
00002201: SWAP1
00002202: DUP2
00002203: MSTORE
00002204: PUSH1 0x40
00002206: SWAP1
00002207: KECCAK256
00002208: PUSH1 0x01
0000220a: DUP2
0000220b: ADD
0000220c: SLOAD
0000220d: PUSH1 0x02
0000220f: DUP3
00002210: ADD
00002211: SLOAD
00002212: PUSH1 0x03
00002214: DUP4
00002215: ADD
00002216: DUP1
00002217: SLOAD
00002218: PUSH1 0x01
0000221a: PUSH1 0x01
0000221c: PUSH1 0xa0
0000221e: SHL
0000221f: SUB
00002220: SWAP4
00002221: DUP5
00002222: AND
00002223: SWAP5
00002224: SWAP4
00002225: DUP4
00002226: AND
00002227: SWAP4
00002228: PUSH1 0x01
0000222a: PUSH1 0xa0
0000222c: SHL
0000222d: SWAP1
0000222e: SWAP4
0000222f: DIV
00002230: PUSH1 0xff
00002232: AND
00002233: SWAP3
00002234: SWAP2
00002235: SWAP1
00002236: PUSH2 0x223e
00002239: SWAP1
0000223a: PUSH2 0x4675
0000223d: JUMP
0000223e: JUMPDEST
0000223f: DUP1
00002240: PUSH1 0x1f
00002242: ADD
00002243: PUSH1 0x20
00002245: DUP1
00002246: SWAP2
00002247: DIV
00002248: MUL
00002249: PUSH1 0x20
0000224b: ADD
0000224c: PUSH1 0x40
0000224e: MLOAD
0000224f: SWAP1
00002250: DUP2
00002251: ADD
00002252: PUSH1 0x40
00002254: MSTORE
00002255: DUP1
00002256: SWAP3
00002257: SWAP2
00002258: SWAP1
00002259: DUP2
0000225a: DUP2
0000225b: MSTORE
0000225c: PUSH1 0x20
0000225e: ADD
0000225f: DUP3
00002260: DUP1
00002261: SLOAD
00002262: PUSH2 0x226a
00002265: SWAP1
00002266: PUSH2 0x4675
00002269: JUMP
0000226a: JUMPDEST
0000226b: DUP1
0000226c: ISZERO
0000226d: PUSH2 0x22b7
00002270: JUMPI
00002271: DUP1
00002272: PUSH1 0x1f
00002274: LT
00002275: PUSH2 0x228c
00002278: JUMPI
00002279: PUSH2 0x0100
0000227c: DUP1
0000227d: DUP4
0000227e: SLOAD
0000227f: DIV
00002280: MUL
00002281: DUP4
00002282: MSTORE
00002283: SWAP2
00002284: PUSH1 0x20
00002286: ADD
00002287: SWAP2
00002288: PUSH2 0x22b7
0000228b: JUMP
0000228c: JUMPDEST
0000228d: DUP3
0000228e: ADD
0000228f: SWAP2
00002290: SWAP1
00002291: PUSH1 0x00
00002293: MSTORE
00002294: PUSH1 0x20
00002296: PUSH1 0x00
00002298: KECCAK256
00002299: SWAP1
0000229a: JUMPDEST
0000229b: DUP2
0000229c: SLOAD
0000229d: DUP2
0000229e: MSTORE
0000229f: SWAP1
000022a0: PUSH1 0x01
000022a2: ADD
000022a3: SWAP1
000022a4: PUSH1 0x20
000022a6: ADD
000022a7: DUP1
000022a8: DUP4
000022a9: GT
000022aa: PUSH2 0x229a
000022ad: JUMPI
000022ae: DUP3
000022af: SWAP1
000022b0: SUB
000022b1: PUSH1 0x1f
000022b3: AND
000022b4: DUP3
000022b5: ADD
000022b6: SWAP2
000022b7: JUMPDEST
000022b8: POP
000022b9: POP
000022ba: POP
000022bb: POP
000022bc: PUSH1 0x04
000022be: DUP4
000022bf: ADD
000022c0: SLOAD
000022c1: PUSH1 0x05
000022c3: DUP5
000022c4: ADD
000022c5: SLOAD
000022c6: PUSH1 0x06
000022c8: SWAP1
000022c9: SWAP5
000022ca: ADD
000022cb: SLOAD
000022cc: SWAP3
000022cd: SWAP4
000022ce: SWAP1
000022cf: SWAP3
000022d0: SWAP1
000022d1: SWAP2
000022d2: POP
000022d3: PUSH1 0xff
000022d5: AND
000022d6: DUP8
000022d7: JUMP
000022d8: JUMPDEST
000022d9: PUSH1 0x16
000022db: PUSH1 0x20
000022dd: MSTORE
000022de: DUP2
000022df: PUSH1 0x00
000022e1: MSTORE
000022e2: PUSH1 0x40
000022e4: PUSH1 0x00
000022e6: KECCAK256
000022e7: DUP2
000022e8: DUP2
000022e9: SLOAD
000022ea: DUP2
000022eb: LT
000022ec: PUSH2 0x22f4
000022ef: JUMPI
000022f0: PUSH1 0x00
000022f2: DUP1
000022f3: REVERT
000022f4: JUMPDEST
000022f5: SWAP1
000022f6: PUSH1 0x00
000022f8: MSTORE
000022f9: PUSH1 0x20
000022fb: PUSH1 0x00
000022fd: KECCAK256
000022fe: ADD
000022ff: PUSH1 0x00
00002301: SWAP2
00002302: POP
00002303: SWAP2
00002304: POP
00002305: POP
00002306: SLOAD
00002307: DUP2
00002308: JUMP
00002309: JUMPDEST
0000230a: PUSH1 0x00
0000230c: DUP3
0000230d: DUP2
0000230e: MSTORE
0000230f: PUSH1 0x0f
00002311: PUSH1 0x20
00002313: SWAP1
00002314: DUP2
00002315: MSTORE
00002316: PUSH1 0x40
00002318: DUP1
00002319: DUP4
0000231a: KECCAK256
0000231b: DUP2
0000231c: MLOAD
0000231d: DUP2
0000231e: SLOAD
0000231f: PUSH2 0x0120
00002322: SWAP5
00002323: DUP2
00002324: MUL
00002325: DUP3
00002326: ADD
00002327: DUP6
00002328: ADD
00002329: SWAP1
0000232a: SWAP4
0000232b: MSTORE
0000232c: PUSH2 0x0100
0000232f: DUP2
00002330: ADD
00002331: DUP4
00002332: DUP2
00002333: MSTORE
00002334: SWAP1
00002335: SWAP4
00002336: SWAP2
00002337: SWAP3
00002338: DUP5
00002339: SWAP3
0000233a: DUP5
0000233b: SWAP2
0000233c: SWAP1
0000233d: DUP5
0000233e: ADD
0000233f: DUP3
00002340: DUP3
00002341: DUP1
00002342: ISZERO
00002343: PUSH2 0x2375
00002346: JUMPI
00002347: PUSH1 0x20
00002349: MUL
0000234a: DUP3
0000234b: ADD
0000234c: SWAP2
0000234d: SWAP1
0000234e: PUSH1 0x00
00002350: MSTORE
00002351: PUSH1 0x20
00002353: PUSH1 0x00
00002355: KECCAK256
00002356: SWAP1
00002357: JUMPDEST
00002358: DUP2
00002359: SLOAD
0000235a: PUSH1 0x01
0000235c: PUSH1 0x01
0000235e: PUSH1 0xa0
00002360: SHL
00002361: SUB
00002362: AND
00002363: DUP2
00002364: MSTORE
00002365: PUSH1 0x01
00002367: SWAP1
00002368: SWAP2
00002369: ADD
0000236a: SWAP1
0000236b: PUSH1 0x20
0000236d: ADD
0000236e: DUP1
0000236f: DUP4
00002370: GT
00002371: PUSH2 0x2357
00002374: JUMPI
00002375: JUMPDEST
00002376: POP
00002377: POP
00002378: POP
00002379: SWAP2
0000237a: DUP4
0000237b: MSTORE
0000237c: POP
0000237d: POP
0000237e: PUSH1 0x01
00002380: DUP3
00002381: ADD
00002382: SLOAD
00002383: PUSH1 0x01
00002385: PUSH1 0x01
00002387: PUSH1 0xa0
00002389: SHL
0000238a: SUB
0000238b: SWAP1
0000238c: DUP2
0000238d: AND
0000238e: PUSH1 0x20
00002390: DUP4
00002391: ADD
00002392: MSTORE
00002393: PUSH1 0x02
00002395: DUP4
00002396: ADD
00002397: SLOAD
00002398: SWAP1
00002399: DUP2
0000239a: AND
0000239b: PUSH1 0x40
0000239d: DUP4
0000239e: ADD
0000239f: MSTORE
000023a0: PUSH1 0x60
000023a2: SWAP1
000023a3: SWAP2
000023a4: ADD
000023a5: SWAP1
000023a6: PUSH1 0x01
000023a8: PUSH1 0xa0
000023aa: SHL
000023ab: SWAP1
000023ac: DIV
000023ad: PUSH1 0xff
000023af: AND
000023b0: PUSH1 0x04
000023b2: DUP2
000023b3: GT
000023b4: ISZERO
000023b5: PUSH2 0x23c0
000023b8: JUMPI
000023b9: PUSH2 0x23c0
000023bc: PUSH2 0x436a
000023bf: JUMP
000023c0: JUMPDEST
000023c1: PUSH1 0x04
000023c3: DUP2
000023c4: GT
000023c5: ISZERO
000023c6: PUSH2 0x23d1
000023c9: JUMPI
000023ca: PUSH2 0x23d1
000023cd: PUSH2 0x436a
000023d0: JUMP
000023d1: JUMPDEST
000023d2: DUP2
000023d3: MSTORE
000023d4: PUSH1 0x20
000023d6: ADD
000023d7: PUSH1 0x03
000023d9: DUP3
000023da: ADD
000023db: DUP1
000023dc: SLOAD
000023dd: PUSH2 0x23e5
000023e0: SWAP1
000023e1: PUSH2 0x4675
000023e4: JUMP
000023e5: JUMPDEST
000023e6: DUP1
000023e7: PUSH1 0x1f
000023e9: ADD
000023ea: PUSH1 0x20
000023ec: DUP1
000023ed: SWAP2
000023ee: DIV
000023ef: MUL
000023f0: PUSH1 0x20
000023f2: ADD
000023f3: PUSH1 0x40
000023f5: MLOAD
000023f6: SWAP1
000023f7: DUP2
000023f8: ADD
000023f9: PUSH1 0x40
000023fb: MSTORE
000023fc: DUP1
000023fd: SWAP3
000023fe: SWAP2
000023ff: SWAP1
00002400: DUP2
00002401: DUP2
00002402: MSTORE
00002403: PUSH1 0x20
00002405: ADD
00002406: DUP3
00002407: DUP1
00002408: SLOAD
00002409: PUSH2 0x2411
0000240c: SWAP1
0000240d: PUSH2 0x4675
00002410: JUMP
00002411: JUMPDEST
00002412: DUP1
00002413: ISZERO
00002414: PUSH2 0x245e
00002417: JUMPI
00002418: DUP1
00002419: PUSH1 0x1f
0000241b: LT
0000241c: PUSH2 0x2433
0000241f: JUMPI
00002420: PUSH2 0x0100
00002423: DUP1
00002424: DUP4
00002425: SLOAD
00002426: DIV
00002427: MUL
00002428: DUP4
00002429: MSTORE
0000242a: SWAP2
0000242b: PUSH1 0x20
0000242d: ADD
0000242e: SWAP2
0000242f: PUSH2 0x245e
00002432: JUMP
00002433: JUMPDEST
00002434: DUP3
00002435: ADD
00002436: SWAP2
00002437: SWAP1
00002438: PUSH1 0x00
0000243a: MSTORE
0000243b: PUSH1 0x20
0000243d: PUSH1 0x00
0000243f: KECCAK256
00002440: SWAP1
00002441: JUMPDEST
00002442: DUP2
00002443: SLOAD
00002444: DUP2
00002445: MSTORE
00002446: SWAP1
00002447: PUSH1 0x01
00002449: ADD
0000244a: SWAP1
0000244b: PUSH1 0x20
0000244d: ADD
0000244e: DUP1
0000244f: DUP4
00002450: GT
00002451: PUSH2 0x2441
00002454: JUMPI
00002455: DUP3
00002456: SWAP1
00002457: SUB
00002458: PUSH1 0x1f
0000245a: AND
0000245b: DUP3
0000245c: ADD
0000245d: SWAP2
0000245e: JUMPDEST
0000245f: POP
00002460: POP
00002461: POP
00002462: SWAP2
00002463: DUP4
00002464: MSTORE
00002465: POP
00002466: POP
00002467: PUSH1 0x04
00002469: DUP3
0000246a: ADD
0000246b: SLOAD
0000246c: PUSH1 0x20
0000246e: DUP3
0000246f: ADD
00002470: MSTORE
00002471: PUSH1 0x05
00002473: DUP3
00002474: ADD
00002475: SLOAD
00002476: PUSH1 0x40
00002478: DUP3
00002479: ADD
0000247a: MSTORE
0000247b: PUSH1 0x06
0000247d: SWAP1
0000247e: SWAP2
0000247f: ADD
00002480: SLOAD
00002481: PUSH1 0xff
00002483: AND
00002484: ISZERO
00002485: ISZERO
00002486: PUSH1 0x60
00002488: SWAP1
00002489: SWAP2
0000248a: ADD
0000248b: MSTORE
0000248c: SWAP1
0000248d: POP
0000248e: PUSH1 0x02
00002490: DUP2
00002491: PUSH1 0x60
00002493: ADD
00002494: MLOAD
00002495: PUSH1 0x04
00002497: DUP2
00002498: GT
00002499: ISZERO
0000249a: PUSH2 0x24a5
0000249d: JUMPI
0000249e: PUSH2 0x24a5
000024a1: PUSH2 0x436a
000024a4: JUMP
000024a5: JUMPDEST
000024a6: EQ
000024a7: PUSH2 0x24dc
000024aa: JUMPI
000024ab: PUSH1 0x40
000024ad: MLOAD
000024ae: PUSH32 0xb26b5a6400000000000000000000000000000000000000000000000000000000
000024cf: DUP2
000024d0: MSTORE
000024d1: PUSH1 0x04
000024d3: ADD
000024d4: PUSH1 0x40
000024d6: MLOAD
000024d7: DUP1
000024d8: SWAP2
000024d9: SUB
000024da: SWAP1
000024db: REVERT
000024dc: JUMPDEST
000024dd: PUSH1 0x40
000024df: DUP2
000024e0: ADD
000024e1: MLOAD
000024e2: PUSH1 0x01
000024e4: PUSH1 0x01
000024e6: PUSH1 0xa0
000024e8: SHL
000024e9: SUB
000024ea: AND
000024eb: CALLER
000024ec: EQ
000024ed: PUSH2 0x2508
000024f0: JUMPI
000024f1: PUSH1 0x40
000024f3: MLOAD
000024f4: PUSH3 0x7013f7
000024f8: PUSH1 0xe3
000024fa: SHL
000024fb: DUP2
000024fc: MSTORE
000024fd: PUSH1 0x04
000024ff: ADD
00002500: PUSH1 0x40
00002502: MLOAD
00002503: DUP1
00002504: SWAP2
00002505: SUB
00002506: SWAP1
00002507: REVERT
00002508: JUMPDEST
00002509: DUP1
0000250a: PUSH1 0xe0
0000250c: ADD
0000250d: MLOAD
0000250e: ISZERO
0000250f: PUSH2 0x2544
00002512: JUMPI
00002513: PUSH1 0x40
00002515: MLOAD
00002516: PUSH32 0x5a4af0c800000000000000000000000000000000000000000000000000000000
00002537: DUP2
00002538: MSTORE
00002539: PUSH1 0x04
0000253b: ADD
0000253c: PUSH1 0x40
0000253e: MLOAD
0000253f: DUP1
00002540: SWAP2
00002541: SUB
00002542: SWAP1
00002543: REVERT
00002544: JUMPDEST
00002545: PUSH1 0x00
00002547: DUP4
00002548: DUP2
00002549: MSTORE
0000254a: PUSH1 0x0f
0000254c: PUSH1 0x20
0000254e: MSTORE
0000254f: PUSH1 0x40
00002551: SWAP1
00002552: KECCAK256
00002553: PUSH1 0x06
00002555: ADD
00002556: DUP1
00002557: SLOAD
00002558: PUSH1 0xff
0000255a: NOT
0000255b: AND
0000255c: PUSH1 0x01
0000255e: OR
0000255f: SWAP1
00002560: SSTORE
00002561: DUP2
00002562: ISZERO
00002563: PUSH2 0x259d
00002566: JUMPI
00002567: PUSH1 0x20
00002569: DUP1
0000256a: DUP3
0000256b: ADD
0000256c: MLOAD
0000256d: PUSH1 0x01
0000256f: PUSH1 0x01
00002571: PUSH1 0xa0
00002573: SHL
00002574: SUB
00002575: AND
00002576: PUSH1 0x00
00002578: SWAP1
00002579: DUP2
0000257a: MSTORE
0000257b: PUSH1 0x10
0000257d: SWAP1
0000257e: SWAP2
0000257f: MSTORE
00002580: PUSH1 0x40
00002582: DUP2
00002583: KECCAK256
00002584: PUSH1 0x01
00002586: ADD
00002587: DUP1
00002588: SLOAD
00002589: SWAP1
0000258a: SWAP2
0000258b: SWAP1
0000258c: PUSH2 0x2594
0000258f: SWAP1
00002590: PUSH2 0x46ff
00002593: JUMP
00002594: JUMPDEST
00002595: SWAP1
00002596: SWAP2
00002597: SSTORE
00002598: POP
00002599: PUSH2 0x25d0
0000259c: JUMP
0000259d: JUMPDEST
0000259e: PUSH1 0x20
000025a0: DUP1
000025a1: DUP3
000025a2: ADD
000025a3: MLOAD
000025a4: PUSH1 0x01
000025a6: PUSH1 0x01
000025a8: PUSH1 0xa0
000025aa: SHL
000025ab: SUB
000025ac: AND
000025ad: PUSH1 0x00
000025af: SWAP1
000025b0: DUP2
000025b1: MSTORE
000025b2: PUSH1 0x10
000025b4: SWAP1
000025b5: SWAP2
000025b6: MSTORE
000025b7: PUSH1 0x40
000025b9: DUP2
000025ba: KECCAK256
000025bb: PUSH1 0x02
000025bd: ADD
000025be: DUP1
000025bf: SLOAD
000025c0: SWAP1
000025c1: SWAP2
000025c2: SWAP1
000025c3: PUSH2 0x25cb
000025c6: SWAP1
000025c7: PUSH2 0x46ff
000025ca: JUMP
000025cb: JUMPDEST
000025cc: SWAP1
000025cd: SWAP2
000025ce: SSTORE
000025cf: POP
000025d0: JUMPDEST
000025d1: DUP1
000025d2: PUSH1 0x40
000025d4: ADD
000025d5: MLOAD
000025d6: PUSH1 0x01
000025d8: PUSH1 0x01
000025da: PUSH1 0xa0
000025dc: SHL
000025dd: SUB
000025de: AND
000025df: DUP2
000025e0: PUSH1 0x20
000025e2: ADD
000025e3: MLOAD
000025e4: PUSH1 0x01
000025e6: PUSH1 0x01
000025e8: PUSH1 0xa0
000025ea: SHL
000025eb: SUB
000025ec: AND
000025ed: DUP5
000025ee: PUSH32 0x841c5619cbe34128658a6ac2bb5abb9a6eebb47950d4667514efe8b67ce907c5
0000260f: DUP6
00002610: PUSH1 0x40
00002612: MLOAD
00002613: PUSH2 0x2620
00002616: SWAP2
00002617: ISZERO
00002618: ISZERO
00002619: DUP2
0000261a: MSTORE
0000261b: PUSH1 0x20
0000261d: ADD
0000261e: SWAP1
0000261f: JUMP
00002620: JUMPDEST
00002621: PUSH1 0x40
00002623: MLOAD
00002624: DUP1
00002625: SWAP2
00002626: SUB
00002627: SWAP1
00002628: LOG4
00002629: POP
0000262a: POP
0000262b: POP
0000262c: JUMP
0000262d: JUMPDEST
0000262e: PUSH2 0x2635
00002631: PUSH2 0x3728
00002634: JUMP
00002635: JUMPDEST
00002636: PUSH1 0x00
00002638: DUP4
00002639: DUP2
0000263a: MSTORE
0000263b: PUSH1 0x0f
0000263d: PUSH1 0x20
0000263f: SWAP1
00002640: DUP2
00002641: MSTORE
00002642: PUSH1 0x40
00002644: DUP1
00002645: DUP4
00002646: KECCAK256
00002647: DUP2
00002648: MLOAD
00002649: DUP2
0000264a: SLOAD
0000264b: PUSH2 0x0120
0000264e: SWAP5
0000264f: DUP2
00002650: MUL
00002651: DUP3
00002652: ADD
00002653: DUP6
00002654: ADD
00002655: SWAP1
00002656: SWAP4
00002657: MSTORE
00002658: PUSH2 0x0100
0000265b: DUP2
0000265c: ADD
0000265d: DUP4
0000265e: DUP2
0000265f: MSTORE
00002660: SWAP1
00002661: SWAP4
00002662: SWAP2
00002663: SWAP3
00002664: DUP5
00002665: SWAP3
00002666: DUP5
00002667: SWAP2
00002668: SWAP1
00002669: DUP5
0000266a: ADD
0000266b: DUP3
0000266c: DUP3
0000266d: DUP1
0000266e: ISZERO
0000266f: PUSH2 0x26a1
00002672: JUMPI
00002673: PUSH1 0x20
00002675: MUL
00002676: DUP3
00002677: ADD
00002678: SWAP2
00002679: SWAP1
0000267a: PUSH1 0x00
0000267c: MSTORE
0000267d: PUSH1 0x20
0000267f: PUSH1 0x00
00002681: KECCAK256
00002682: SWAP1
00002683: JUMPDEST
00002684: DUP2
00002685: SLOAD
00002686: PUSH1 0x01
00002688: PUSH1 0x01
0000268a: PUSH1 0xa0
0000268c: SHL
0000268d: SUB
0000268e: AND
0000268f: DUP2
00002690: MSTORE
00002691: PUSH1 0x01
00002693: SWAP1
00002694: SWAP2
00002695: ADD
00002696: SWAP1
00002697: PUSH1 0x20
00002699: ADD
0000269a: DUP1
0000269b: DUP4
0000269c: GT
0000269d: PUSH2 0x2683
000026a0: JUMPI
000026a1: JUMPDEST
000026a2: POP
000026a3: POP
000026a4: POP
000026a5: SWAP2
000026a6: DUP4
000026a7: MSTORE
000026a8: POP
000026a9: POP
000026aa: PUSH1 0x01
000026ac: DUP3
000026ad: ADD
000026ae: SLOAD
000026af: PUSH1 0x01
000026b1: PUSH1 0x01
000026b3: PUSH1 0xa0
000026b5: SHL
000026b6: SUB
000026b7: SWAP1
000026b8: DUP2
000026b9: AND
000026ba: PUSH1 0x20
000026bc: DUP4
000026bd: ADD
000026be: MSTORE
000026bf: PUSH1 0x02
000026c1: DUP4
000026c2: ADD
000026c3: SLOAD
000026c4: SWAP1
000026c5: DUP2
000026c6: AND
000026c7: PUSH1 0x40
000026c9: DUP4
000026ca: ADD
000026cb: MSTORE
000026cc: PUSH1 0x60
000026ce: SWAP1
000026cf: SWAP2
000026d0: ADD
000026d1: SWAP1
000026d2: PUSH1 0x01
000026d4: PUSH1 0xa0
000026d6: SHL
000026d7: SWAP1
000026d8: DIV
000026d9: PUSH1 0xff
000026db: AND
000026dc: PUSH1 0x04
000026de: DUP2
000026df: GT
000026e0: ISZERO
000026e1: PUSH2 0x26ec
000026e4: JUMPI
000026e5: PUSH2 0x26ec
000026e8: PUSH2 0x436a
000026eb: JUMP
000026ec: JUMPDEST
000026ed: PUSH1 0x04
000026ef: DUP2
000026f0: GT
000026f1: ISZERO
000026f2: PUSH2 0x26fd
000026f5: JUMPI
000026f6: PUSH2 0x26fd
000026f9: PUSH2 0x436a
000026fc: JUMP
000026fd: JUMPDEST
000026fe: DUP2
000026ff: MSTORE
00002700: PUSH1 0x20
00002702: ADD
00002703: PUSH1 0x03
00002705: DUP3
00002706: ADD
00002707: DUP1
00002708: SLOAD
00002709: PUSH2 0x2711
0000270c: SWAP1
0000270d: PUSH2 0x4675
00002710: JUMP
00002711: JUMPDEST
00002712: DUP1
00002713: PUSH1 0x1f
00002715: ADD
00002716: PUSH1 0x20
00002718: DUP1
00002719: SWAP2
0000271a: DIV
0000271b: MUL
0000271c: PUSH1 0x20
0000271e: ADD
0000271f: PUSH1 0x40
00002721: MLOAD
00002722: SWAP1
00002723: DUP2
00002724: ADD
00002725: PUSH1 0x40
00002727: MSTORE
00002728: DUP1
00002729: SWAP3
0000272a: SWAP2
0000272b: SWAP1
0000272c: DUP2
0000272d: DUP2
0000272e: MSTORE
0000272f: PUSH1 0x20
00002731: ADD
00002732: DUP3
00002733: DUP1
00002734: SLOAD
00002735: PUSH2 0x273d
00002738: SWAP1
00002739: PUSH2 0x4675
0000273c: JUMP
0000273d: JUMPDEST
0000273e: DUP1
0000273f: ISZERO
00002740: PUSH2 0x278a
00002743: JUMPI
00002744: DUP1
00002745: PUSH1 0x1f
00002747: LT
00002748: PUSH2 0x275f
0000274b: JUMPI
0000274c: PUSH2 0x0100
0000274f: DUP1
00002750: DUP4
00002751: SLOAD
00002752: DIV
00002753: MUL
00002754: DUP4
00002755: MSTORE
00002756: SWAP2
00002757: PUSH1 0x20
00002759: ADD
0000275a: SWAP2
0000275b: PUSH2 0x278a
0000275e: JUMP
0000275f: JUMPDEST
00002760: DUP3
00002761: ADD
00002762: SWAP2
00002763: SWAP1
00002764: PUSH1 0x00
00002766: MSTORE
00002767: PUSH1 0x20
00002769: PUSH1 0x00
0000276b: KECCAK256
0000276c: SWAP1
0000276d: JUMPDEST
0000276e: DUP2
0000276f: SLOAD
00002770: DUP2
00002771: MSTORE
00002772: SWAP1
00002773: PUSH1 0x01
00002775: ADD
00002776: SWAP1
00002777: PUSH1 0x20
00002779: ADD
0000277a: DUP1
0000277b: DUP4
0000277c: GT
0000277d: PUSH2 0x276d
00002780: JUMPI
00002781: DUP3
00002782: SWAP1
00002783: SUB
00002784: PUSH1 0x1f
00002786: AND
00002787: DUP3
00002788: ADD
00002789: SWAP2
0000278a: JUMPDEST
0000278b: POP
0000278c: POP
0000278d: POP
0000278e: SWAP2
0000278f: DUP4
00002790: MSTORE
00002791: POP
00002792: POP
00002793: PUSH1 0x04
00002795: DUP3
00002796: ADD
00002797: SLOAD
00002798: PUSH1 0x20
0000279a: DUP3
0000279b: ADD
0000279c: MSTORE
0000279d: PUSH1 0x05
0000279f: DUP3
000027a0: ADD
000027a1: SLOAD
000027a2: PUSH1 0x40
000027a4: DUP3
000027a5: ADD
000027a6: MSTORE
000027a7: PUSH1 0x06
000027a9: SWAP1
000027aa: SWAP2
000027ab: ADD
000027ac: SLOAD
000027ad: PUSH1 0xff
000027af: AND
000027b0: ISZERO
000027b1: ISZERO
000027b2: PUSH1 0x60
000027b4: SWAP1
000027b5: SWAP2
000027b6: ADD
000027b7: MSTORE
000027b8: SWAP1
000027b9: POP
000027ba: PUSH1 0x01
000027bc: DUP2
000027bd: PUSH1 0x60
000027bf: ADD
000027c0: MLOAD
000027c1: PUSH1 0x04
000027c3: DUP2
000027c4: GT
000027c5: ISZERO
000027c6: PUSH2 0x27d1
000027c9: JUMPI
000027ca: PUSH2 0x27d1
000027cd: PUSH2 0x436a
000027d0: JUMP
000027d1: JUMPDEST
000027d2: EQ
000027d3: PUSH2 0x27ef
000027d6: JUMPI
000027d7: PUSH1 0x40
000027d9: MLOAD
000027da: PUSH4 0x1458625d
000027df: PUSH1 0xe1
000027e1: SHL
000027e2: DUP2
000027e3: MSTORE
000027e4: PUSH1 0x04
000027e6: ADD
000027e7: PUSH1 0x40
000027e9: MLOAD
000027ea: DUP1
000027eb: SWAP2
000027ec: SUB
000027ed: SWAP1
000027ee: REVERT
000027ef: JUMPDEST
000027f0: PUSH1 0x20
000027f2: DUP2
000027f3: ADD
000027f4: MLOAD
000027f5: PUSH1 0x01
000027f7: PUSH1 0x01
000027f9: PUSH1 0xa0
000027fb: SHL
000027fc: SUB
000027fd: AND
000027fe: CALLER
000027ff: EQ
00002800: PUSH2 0x281c
00002803: JUMPI
00002804: PUSH1 0x40
00002806: MLOAD
00002807: PUSH4 0xf87c8669
0000280c: PUSH1 0xe0
0000280e: SHL
0000280f: DUP2
00002810: MSTORE
00002811: PUSH1 0x04
00002813: ADD
00002814: PUSH1 0x40
00002816: MLOAD
00002817: DUP1
00002818: SWAP2
00002819: SUB
0000281a: SWAP1
0000281b: REVERT
0000281c: JUMPDEST
0000281d: PUSH1 0x02
0000281f: DUP4
00002820: PUSH1 0x04
00002822: DUP2
00002823: GT
00002824: ISZERO
00002825: PUSH2 0x2830
00002828: JUMPI
00002829: PUSH2 0x2830
0000282c: PUSH2 0x436a
0000282f: JUMP
00002830: JUMPDEST
00002831: EQ
00002832: ISZERO
00002833: DUP1
00002834: ISZERO
00002835: PUSH2 0x2850
00002838: JUMPI
00002839: POP
0000283a: PUSH1 0x03
0000283c: DUP4
0000283d: PUSH1 0x04
0000283f: DUP2
00002840: GT
00002841: ISZERO
00002842: PUSH2 0x284d
00002845: JUMPI
00002846: PUSH2 0x284d
00002849: PUSH2 0x436a
0000284c: JUMP
0000284d: JUMPDEST
0000284e: EQ
0000284f: ISZERO
00002850: JUMPDEST
00002851: ISZERO
00002852: PUSH2 0x2887
00002855: JUMPI
00002856: PUSH1 0x40
00002858: MLOAD
00002859: PUSH32 0x7c599f8000000000000000000000000000000000000000000000000000000000
0000287a: DUP2
0000287b: MSTORE
0000287c: PUSH1 0x04
0000287e: ADD
0000287f: PUSH1 0x40
00002881: MLOAD
00002882: DUP1
00002883: SWAP2
00002884: SUB
00002885: SWAP1
00002886: REVERT
00002887: JUMPDEST
00002888: PUSH1 0x60
0000288a: DUP2
0000288b: ADD
0000288c: DUP4
0000288d: PUSH1 0x04
0000288f: DUP2
00002890: GT
00002891: ISZERO
00002892: PUSH2 0x289d
00002895: JUMPI
00002896: PUSH2 0x289d
00002899: PUSH2 0x436a
0000289c: JUMP
0000289d: JUMPDEST
0000289e: SWAP1
0000289f: DUP2
000028a0: PUSH1 0x04
000028a2: DUP2
000028a3: GT
000028a4: ISZERO
000028a5: PUSH2 0x28b0
000028a8: JUMPI
000028a9: PUSH2 0x28b0
000028ac: PUSH2 0x436a
000028af: JUMP
000028b0: JUMPDEST
000028b1: SWAP1
000028b2: MSTORE
000028b3: POP
000028b4: PUSH1 0x80
000028b6: DUP2
000028b7: ADD
000028b8: DUP3
000028b9: SWAP1
000028ba: MSTORE
000028bb: PUSH1 0x00
000028bd: DUP5
000028be: DUP2
000028bf: MSTORE
000028c0: PUSH1 0x0f
000028c2: PUSH1 0x20
000028c4: SWAP1
000028c5: DUP2
000028c6: MSTORE
000028c7: PUSH1 0x40
000028c9: SWAP1
000028ca: SWAP2
000028cb: KECCAK256
000028cc: DUP3
000028cd: MLOAD
000028ce: DUP1
000028cf: MLOAD
000028d0: DUP5
000028d1: SWAP4
000028d2: PUSH2 0x28df
000028d5: SWAP3
000028d6: DUP5
000028d7: SWAP3
000028d8: SWAP2
000028d9: ADD
000028da: SWAP1
000028db: PUSH2 0x41ff
000028de: JUMP
000028df: JUMPDEST
000028e0: POP
000028e1: PUSH1 0x20
000028e3: DUP3
000028e4: ADD
000028e5: MLOAD
000028e6: PUSH1 0x01
000028e8: DUP3
000028e9: ADD
000028ea: DUP1
000028eb: SLOAD
000028ec: PUSH1 0x01
000028ee: PUSH1 0x01
000028f0: PUSH1 0xa0
000028f2: SHL
000028f3: SUB
000028f4: NOT
000028f5: SWAP1
000028f6: DUP2
000028f7: AND
000028f8: PUSH1 0x01
000028fa: PUSH1 0x01
000028fc: PUSH1 0xa0
000028fe: SHL
000028ff: SUB
00002900: SWAP4
00002901: DUP5
00002902: AND
00002903: OR
00002904: SWAP1
00002905: SWAP2
00002906: SSTORE
00002907: PUSH1 0x40
00002909: DUP5
0000290a: ADD
0000290b: MLOAD
0000290c: PUSH1 0x02
0000290e: DUP5
0000290f: ADD
00002910: DUP1
00002911: SLOAD
00002912: SWAP3
00002913: DUP4
00002914: AND
00002915: SWAP2
00002916: SWAP1
00002917: SWAP4
00002918: AND
00002919: SWAP1
0000291a: DUP2
0000291b: OR
0000291c: DUP4
0000291d: SSTORE
0000291e: PUSH1 0x60
00002920: DUP6
00002921: ADD
00002922: MLOAD
00002923: SWAP3
00002924: SWAP2
00002925: PUSH21 0xffffffffffffffffffffffffffffffffffffffffff
0000293b: NOT
0000293c: AND
0000293d: OR
0000293e: PUSH1 0x01
00002940: PUSH1 0xa0
00002942: SHL
00002943: DUP4
00002944: PUSH1 0x04
00002946: DUP2
00002947: GT
00002948: ISZERO
00002949: PUSH2 0x2954
0000294c: JUMPI
0000294d: PUSH2 0x2954
00002950: PUSH2 0x436a
00002953: JUMP
00002954: JUMPDEST
00002955: MUL
00002956: OR
00002957: SWAP1
00002958: SSTORE
00002959: POP
0000295a: PUSH1 0x80
0000295c: DUP3
0000295d: ADD
0000295e: MLOAD
0000295f: PUSH1 0x03
00002961: DUP3
00002962: ADD
00002963: SWAP1
00002964: PUSH2 0x296d
00002967: SWAP1
00002968: DUP3
00002969: PUSH2 0x47e9
0000296c: JUMP
0000296d: JUMPDEST
0000296e: POP
0000296f: PUSH1 0xa0
00002971: DUP3
00002972: ADD
00002973: MLOAD
00002974: PUSH1 0x04
00002976: DUP3
00002977: ADD
00002978: SSTORE
00002979: PUSH1 0xc0
0000297b: DUP3
0000297c: ADD
0000297d: MLOAD
0000297e: PUSH1 0x05
00002980: DUP3
00002981: ADD
00002982: SSTORE
00002983: PUSH1 0xe0
00002985: SWAP1
00002986: SWAP2
00002987: ADD
00002988: MLOAD
00002989: PUSH1 0x06
0000298b: SWAP1
0000298c: SWAP2
0000298d: ADD
0000298e: DUP1
0000298f: SLOAD
00002990: PUSH1 0xff
00002992: NOT
00002993: AND
00002994: SWAP2
00002995: ISZERO
00002996: ISZERO
00002997: SWAP2
00002998: SWAP1
00002999: SWAP2
0000299a: OR
0000299b: SWAP1
0000299c: SSTORE
0000299d: PUSH1 0x02
0000299f: DUP4
000029a0: PUSH1 0x04
000029a2: DUP2
000029a3: GT
000029a4: ISZERO
000029a5: PUSH2 0x29b0
000029a8: JUMPI
000029a9: PUSH2 0x29b0
000029ac: PUSH2 0x436a
000029af: JUMP
000029b0: JUMPDEST
000029b1: SUB
000029b2: PUSH2 0x2a0a
000029b5: JUMPI
000029b6: PUSH1 0x00
000029b8: PUSH2 0x29c0
000029bb: DUP6
000029bc: PUSH2 0x3786
000029bf: JUMP
000029c0: JUMPDEST
000029c1: PUSH1 0x20
000029c3: DUP1
000029c4: DUP5
000029c5: ADD
000029c6: MLOAD
000029c7: PUSH1 0x01
000029c9: PUSH1 0x01
000029cb: PUSH1 0xa0
000029cd: SHL
000029ce: SUB
000029cf: AND
000029d0: PUSH1 0x00
000029d2: SWAP1
000029d3: DUP2
000029d4: MSTORE
000029d5: PUSH1 0x0c
000029d7: SWAP1
000029d8: SWAP2
000029d9: MSTORE
000029da: PUSH1 0x40
000029dc: SWAP1
000029dd: KECCAK256
000029de: SWAP1
000029df: SWAP2
000029e0: POP
000029e1: DUP2
000029e2: PUSH1 0x04
000029e4: DUP2
000029e5: LT
000029e6: PUSH2 0x29f1
000029e9: JUMPI
000029ea: PUSH2 0x29f1
000029ed: PUSH2 0x46e9
000029f0: JUMP
000029f1: JUMPDEST
000029f2: ADD
000029f3: PUSH1 0x00
000029f5: DUP2
000029f6: SLOAD
000029f7: PUSH2 0x29ff
000029fa: SWAP1
000029fb: PUSH2 0x46ff
000029fe: JUMP
000029ff: JUMPDEST
00002a00: SWAP1
00002a01: SWAP2
00002a02: SSTORE
00002a03: POP
00002a04: PUSH2 0x2a27
00002a07: SWAP1
00002a08: POP
00002a09: JUMP
00002a0a: JUMPDEST
00002a0b: PUSH1 0x05
00002a0d: SLOAD
00002a0e: PUSH2 0x2a17
00002a11: SWAP1
00002a12: TIMESTAMP
00002a13: PUSH2 0x46bf
00002a16: JUMP
00002a17: JUMPDEST
00002a18: PUSH1 0x00
00002a1a: DUP6
00002a1b: DUP2
00002a1c: MSTORE
00002a1d: PUSH1 0x13
00002a1f: PUSH1 0x20
00002a21: MSTORE
00002a22: PUSH1 0x40
00002a24: SWAP1
00002a25: KECCAK256
00002a26: SSTORE
00002a27: JUMPDEST
00002a28: DUP4
00002a29: DUP2
00002a2a: PUSH1 0x40
00002a2c: ADD
00002a2d: MLOAD
00002a2e: PUSH1 0x01
00002a30: PUSH1 0x01
00002a32: PUSH1 0xa0
00002a34: SHL
00002a35: SUB
00002a36: AND
00002a37: DUP3
00002a38: PUSH1 0x20
00002a3a: ADD
00002a3b: MLOAD
00002a3c: PUSH1 0x01
00002a3e: PUSH1 0x01
00002a40: PUSH1 0xa0
00002a42: SHL
00002a43: SUB
00002a44: AND
00002a45: PUSH32 0xfb5bb8637cebbfe3f455d9317d5356931f835691d8ee63bc8cbfd7571177d124
00002a66: DUP7
00002a67: PUSH1 0x40
00002a69: MLOAD
00002a6a: PUSH2 0x2a73
00002a6d: SWAP2
00002a6e: SWAP1
00002a6f: PUSH2 0x43a2
00002a72: JUMP
00002a73: JUMPDEST
00002a74: PUSH1 0x40
00002a76: MLOAD
00002a77: DUP1
00002a78: SWAP2
00002a79: SUB
00002a7a: SWAP1
00002a7b: LOG4
00002a7c: POP
00002a7d: PUSH2 0x1ad6
00002a80: PUSH1 0x01
00002a82: PUSH1 0x00
00002a84: SSTORE
00002a85: JUMP
00002a86: JUMPDEST
00002a87: PUSH1 0x00
00002a89: DUP2
00002a8a: DUP2
00002a8b: MSTORE
00002a8c: PUSH1 0x19
00002a8e: PUSH1 0x20
00002a90: SWAP1
00002a91: DUP2
00002a92: MSTORE
00002a93: PUSH1 0x40
00002a95: DUP1
00002a96: DUP4
00002a97: KECCAK256
00002a98: PUSH1 0x01
00002a9a: PUSH1 0x01
00002a9c: PUSH1 0xa0
00002a9e: SHL
00002a9f: SUB
00002aa0: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00002ac1: AND
00002ac2: DUP1
00002ac3: DUP6
00002ac4: MSTORE
00002ac5: SWAP1
00002ac6: DUP4
00002ac7: MSTORE
00002ac8: DUP2
00002ac9: DUP5
00002aca: KECCAK256
00002acb: SLOAD
00002acc: DUP3
00002acd: MLOAD
00002ace: PUSH32 0x313ce56700000000000000000000000000000000000000000000000000000000
00002aef: DUP2
00002af0: MSTORE
00002af1: SWAP3
00002af2: MLOAD
00002af3: SWAP1
00002af4: SWAP4
00002af5: DUP6
00002af6: SWAP4
00002af7: PUSH4 0x313ce567
00002afc: SWAP3
00002afd: PUSH1 0x04
00002aff: DUP1
00002b00: DUP4
00002b01: ADD
00002b02: SWAP4
00002b03: SWAP3
00002b04: DUP3
00002b05: SWAP1
00002b06: SUB
00002b07: ADD
00002b08: DUP2
00002b09: DUP7
00002b0a: GAS
00002b0b: STATICCALL
00002b0c: ISZERO
00002b0d: DUP1
00002b0e: ISZERO
00002b0f: PUSH2 0x2b1c
00002b12: JUMPI
00002b13: RETURNDATASIZE
00002b14: PUSH1 0x00
00002b16: DUP1
00002b17: RETURNDATACOPY
00002b18: RETURNDATASIZE
00002b19: PUSH1 0x00
00002b1b: REVERT
00002b1c: JUMPDEST
00002b1d: POP
00002b1e: POP
00002b1f: POP
00002b20: POP
00002b21: PUSH1 0x40
00002b23: MLOAD
00002b24: RETURNDATASIZE
00002b25: PUSH1 0x1f
00002b27: NOT
00002b28: PUSH1 0x1f
00002b2a: DUP3
00002b2b: ADD
00002b2c: AND
00002b2d: DUP3
00002b2e: ADD
00002b2f: DUP1
00002b30: PUSH1 0x40
00002b32: MSTORE
00002b33: POP
00002b34: DUP2
00002b35: ADD
00002b36: SWAP1
00002b37: PUSH2 0x2b40
00002b3a: SWAP2
00002b3b: SWAP1
00002b3c: PUSH2 0x48a8
00002b3f: JUMP
00002b40: JUMPDEST
00002b41: PUSH2 0x2b4b
00002b44: SWAP1
00002b45: PUSH1 0x0a
00002b47: PUSH2 0x49b2
00002b4a: JUMP
00002b4b: JUMPDEST
00002b4c: SWAP1
00002b4d: POP
00002b4e: PUSH2 0x2b59
00002b51: DUP2
00002b52: PUSH2 0x03e8
00002b55: PUSH2 0x49c1
00002b58: JUMP
00002b59: JUMPDEST
00002b5a: DUP3
00002b5b: LT
00002b5c: PUSH2 0x2b9d
00002b5f: JUMPI
00002b60: PUSH2 0x2b6b
00002b63: DUP2
00002b64: PUSH2 0x2710
00002b67: PUSH2 0x49c1
00002b6a: JUMP
00002b6b: JUMPDEST
00002b6c: DUP3
00002b6d: LT
00002b6e: ISZERO
00002b6f: PUSH2 0x2b7b
00002b72: JUMPI
00002b73: PUSH1 0x01
00002b75: SWAP3
00002b76: POP
00002b77: PUSH2 0x2b9d
00002b7a: JUMP
00002b7b: JUMPDEST
00002b7c: PUSH2 0x2b88
00002b7f: DUP2
00002b80: PUSH3 0x0186a0
00002b84: PUSH2 0x49c1
00002b87: JUMP
00002b88: JUMPDEST
00002b89: DUP3
00002b8a: LT
00002b8b: ISZERO
00002b8c: PUSH2 0x2b98
00002b8f: JUMPI
00002b90: PUSH1 0x02
00002b92: SWAP3
00002b93: POP
00002b94: PUSH2 0x2b9d
00002b97: JUMP
00002b98: JUMPDEST
00002b99: PUSH1 0x03
00002b9b: SWAP3
00002b9c: POP
00002b9d: JUMPDEST
00002b9e: POP
00002b9f: SWAP2
00002ba0: POP
00002ba1: SWAP2
00002ba2: JUMP
00002ba3: JUMPDEST
00002ba4: PUSH1 0x09
00002ba6: SLOAD
00002ba7: PUSH1 0x01
00002ba9: PUSH1 0x01
00002bab: PUSH1 0xa0
00002bad: SHL
00002bae: SUB
00002baf: AND
00002bb0: CALLER
00002bb1: EQ
00002bb2: PUSH2 0x2bce
00002bb5: JUMPI
00002bb6: PUSH1 0x40
00002bb8: MLOAD
00002bb9: PUSH4 0x30cd7471
00002bbe: PUSH1 0xe0
00002bc0: SHL
00002bc1: DUP2
00002bc2: MSTORE
00002bc3: PUSH1 0x04
00002bc5: ADD
00002bc6: PUSH1 0x40
00002bc8: MLOAD
00002bc9: DUP1
00002bca: SWAP2
00002bcb: SUB
00002bcc: SWAP1
00002bcd: REVERT
00002bce: JUMPDEST
00002bcf: PUSH1 0x06
00002bd1: DUP2
00002bd2: SWAP1
00002bd3: SSTORE
00002bd4: PUSH1 0x40
00002bd6: MLOAD
00002bd7: DUP2
00002bd8: DUP2
00002bd9: MSTORE
00002bda: PUSH32 0xce6e22835ebf356cf3a20deb5a407d543dffeedb59411be3daa1474107602883
00002bfb: SWAP1
00002bfc: PUSH1 0x20
00002bfe: ADD
00002bff: PUSH2 0x09ff
00002c02: JUMP
00002c03: JUMPDEST
00002c04: PUSH1 0x02
00002c06: SLOAD
00002c07: PUSH1 0x00
00002c09: SWAP1
00002c0a: ISZERO
00002c0b: PUSH2 0x2c50
00002c0e: JUMPI
00002c0f: PUSH1 0x0a
00002c11: SLOAD
00002c12: PUSH1 0x02
00002c14: SLOAD
00002c15: PUSH2 0x2c50
00002c18: SWAP2
00002c19: PUSH1 0x01
00002c1b: PUSH1 0x01
00002c1d: PUSH1 0xa0
00002c1f: SHL
00002c20: SUB
00002c21: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00002c42: DUP2
00002c43: AND
00002c44: SWAP3
00002c45: CALLER
00002c46: SWAP3
00002c47: SWAP2
00002c48: SWAP1
00002c49: SWAP2
00002c4a: AND
00002c4b: SWAP1
00002c4c: PUSH2 0x3edc
00002c4f: JUMP
00002c50: JUMPDEST
00002c51: PUSH1 0x40
00002c53: MLOAD
00002c54: PUSH4 0x70a08231
00002c59: PUSH1 0xe0
00002c5b: SHL
00002c5c: DUP2
00002c5d: MSTORE
00002c5e: CALLER
00002c5f: PUSH1 0x04
00002c61: DUP3
00002c62: ADD
00002c63: MSTORE
00002c64: PUSH1 0x00
00002c66: SWAP1
00002c67: PUSH32 0x000000000000000000000000724e56b0555a3898de205cb55fca228bcbb6d8a3
00002c88: PUSH1 0x01
00002c8a: PUSH1 0x01
00002c8c: PUSH1 0xa0
00002c8e: SHL
00002c8f: SUB
00002c90: AND
00002c91: SWAP1
00002c92: PUSH4 0x70a08231
00002c97: SWAP1
00002c98: PUSH1 0x24
00002c9a: ADD
00002c9b: PUSH1 0x20
00002c9d: PUSH1 0x40
00002c9f: MLOAD
00002ca0: DUP1
00002ca1: DUP4
00002ca2: SUB
00002ca3: DUP2
00002ca4: DUP7
00002ca5: GAS
00002ca6: STATICCALL
00002ca7: ISZERO
00002ca8: DUP1
00002ca9: ISZERO
00002caa: PUSH2 0x2cb7
00002cad: JUMPI
00002cae: RETURNDATASIZE
00002caf: PUSH1 0x00
00002cb1: DUP1
00002cb2: RETURNDATACOPY
00002cb3: RETURNDATASIZE
00002cb4: PUSH1 0x00
00002cb6: REVERT
00002cb7: JUMPDEST
00002cb8: POP
00002cb9: POP
00002cba: POP
00002cbb: POP
00002cbc: PUSH1 0x40
00002cbe: MLOAD
00002cbf: RETURNDATASIZE
00002cc0: PUSH1 0x1f
00002cc2: NOT
00002cc3: PUSH1 0x1f
00002cc5: DUP3
00002cc6: ADD
00002cc7: AND
00002cc8: DUP3
00002cc9: ADD
00002cca: DUP1
00002ccb: PUSH1 0x40
00002ccd: MSTORE
00002cce: POP
00002ccf: DUP2
00002cd0: ADD
00002cd1: SWAP1
00002cd2: PUSH2 0x2cdb
00002cd5: SWAP2
00002cd6: SWAP1
00002cd7: PUSH2 0x4765
00002cda: JUMP
00002cdb: JUMPDEST
00002cdc: GT
00002cdd: ISZERO
00002cde: PUSH2 0x2d13
00002ce1: JUMPI
00002ce2: PUSH1 0x40
00002ce4: MLOAD
00002ce5: PUSH32 0x6ae387e100000000000000000000000000000000000000000000000000000000
00002d06: DUP2
00002d07: MSTORE
00002d08: PUSH1 0x04
00002d0a: ADD
00002d0b: PUSH1 0x40
00002d0d: MLOAD
00002d0e: DUP1
00002d0f: SWAP2
00002d10: SUB
00002d11: SWAP1
00002d12: REVERT
00002d13: JUMPDEST
00002d14: PUSH1 0x40
00002d16: MLOAD
00002d17: PUSH4 0x35313c21
00002d1c: PUSH1 0xe1
00002d1e: SHL
00002d1f: DUP2
00002d20: MSTORE
00002d21: CALLER
00002d22: PUSH1 0x04
00002d24: DUP3
00002d25: ADD
00002d26: MSTORE
00002d27: PUSH32 0x000000000000000000000000724e56b0555a3898de205cb55fca228bcbb6d8a3
00002d48: PUSH1 0x01
00002d4a: PUSH1 0x01
00002d4c: PUSH1 0xa0
00002d4e: SHL
00002d4f: SUB
00002d50: AND
00002d51: SWAP1
00002d52: PUSH4 0x6a627842
00002d57: SWAP1
00002d58: PUSH1 0x24
00002d5a: ADD
00002d5b: PUSH1 0x20
00002d5d: PUSH1 0x40
00002d5f: MLOAD
00002d60: DUP1
00002d61: DUP4
00002d62: SUB
00002d63: DUP2
00002d64: PUSH1 0x00
00002d66: DUP8
00002d67: GAS
00002d68: CALL
00002d69: ISZERO
00002d6a: DUP1
00002d6b: ISZERO
00002d6c: PUSH2 0x2d79
00002d6f: JUMPI
00002d70: RETURNDATASIZE
00002d71: PUSH1 0x00
00002d73: DUP1
00002d74: RETURNDATACOPY
00002d75: RETURNDATASIZE
00002d76: PUSH1 0x00
00002d78: REVERT
00002d79: JUMPDEST
00002d7a: POP
00002d7b: POP
00002d7c: POP
00002d7d: POP
00002d7e: PUSH1 0x40
00002d80: MLOAD
00002d81: RETURNDATASIZE
00002d82: PUSH1 0x1f
00002d84: NOT
00002d85: PUSH1 0x1f
00002d87: DUP3
00002d88: ADD
00002d89: AND
00002d8a: DUP3
00002d8b: ADD
00002d8c: DUP1
00002d8d: PUSH1 0x40
00002d8f: MSTORE
00002d90: POP
00002d91: DUP2
00002d92: ADD
00002d93: SWAP1
00002d94: PUSH2 0x2d9d
00002d97: SWAP2
00002d98: SWAP1
00002d99: PUSH2 0x4765
00002d9c: JUMP
00002d9d: JUMPDEST
00002d9e: PUSH1 0x40
00002da0: MLOAD
00002da1: DUP2
00002da2: DUP2
00002da3: MSTORE
00002da4: SWAP1
00002da5: SWAP2
00002da6: POP
00002da7: CALLER
00002da8: SWAP1
00002da9: PUSH32 0x6b3849217980a0c0ca50eb90017e531044f102c347eebcaafd2dc4ec751ef3b7
00002dca: SWAP1
00002dcb: PUSH1 0x20
00002dcd: ADD
00002dce: PUSH1 0x40
00002dd0: MLOAD
00002dd1: DUP1
00002dd2: SWAP2
00002dd3: SUB
00002dd4: SWAP1
00002dd5: LOG2
00002dd6: PUSH1 0x01
00002dd8: PUSH1 0x01
00002dda: PUSH1 0xa0
00002ddc: SHL
00002ddd: SUB
00002dde: DUP3
00002ddf: AND
00002de0: ISZERO
00002de1: DUP1
00002de2: ISZERO
00002de3: SWAP1
00002de4: PUSH2 0x2df6
00002de7: JUMPI
00002de8: POP
00002de9: PUSH1 0x01
00002deb: PUSH1 0x01
00002ded: PUSH1 0xa0
00002def: SHL
00002df0: SUB
00002df1: DUP3
00002df2: AND
00002df3: CALLER
00002df4: EQ
00002df5: ISZERO
00002df6: JUMPDEST
00002df7: ISZERO
00002df8: PUSH2 0x2e5d
00002dfb: JUMPI
00002dfc: CALLER
00002dfd: PUSH1 0x00
00002dff: DUP2
00002e00: DUP2
00002e01: MSTORE
00002e02: PUSH1 0x0d
00002e04: PUSH1 0x20
00002e06: SWAP1
00002e07: DUP2
00002e08: MSTORE
00002e09: PUSH1 0x40
00002e0b: SWAP2
00002e0c: DUP3
00002e0d: SWAP1
00002e0e: KECCAK256
00002e0f: DUP1
00002e10: SLOAD
00002e11: PUSH1 0x01
00002e13: PUSH1 0x01
00002e15: PUSH1 0xa0
00002e17: SHL
00002e18: SUB
00002e19: NOT
00002e1a: AND
00002e1b: PUSH1 0x01
00002e1d: PUSH1 0x01
00002e1f: PUSH1 0xa0
00002e21: SHL
00002e22: SUB
00002e23: DUP8
00002e24: AND
00002e25: SWAP1
00002e26: DUP2
00002e27: OR
00002e28: SWAP1
00002e29: SWAP2
00002e2a: SSTORE
00002e2b: SWAP2
00002e2c: MLOAD
00002e2d: SWAP3
00002e2e: DUP4
00002e2f: MSTORE
00002e30: SWAP1
00002e31: SWAP2
00002e32: PUSH32 0x931c8839c3e631e44464085b75ca058507b7620c3b7bec2ec41665e37e8b2972
00002e53: SWAP2
00002e54: ADD
00002e55: PUSH1 0x40
00002e57: MLOAD
00002e58: DUP1
00002e59: SWAP2
00002e5a: SUB
00002e5b: SWAP1
00002e5c: LOG2
00002e5d: JUMPDEST
00002e5e: SWAP2
00002e5f: SWAP1
00002e60: POP
00002e61: JUMP
00002e62: JUMPDEST
00002e63: PUSH1 0x00
00002e65: DUP3
00002e66: DUP2
00002e67: MSTORE
00002e68: PUSH1 0x0f
00002e6a: PUSH1 0x20
00002e6c: MSTORE
00002e6d: PUSH1 0x40
00002e6f: SWAP1
00002e70: KECCAK256
00002e71: PUSH1 0x02
00002e73: ADD
00002e74: SLOAD
00002e75: PUSH1 0x01
00002e77: PUSH1 0x01
00002e79: PUSH1 0xa0
00002e7b: SHL
00002e7c: SUB
00002e7d: AND
00002e7e: CALLER
00002e7f: EQ
00002e80: PUSH2 0x2e9b
00002e83: JUMPI
00002e84: PUSH1 0x40
00002e86: MLOAD
00002e87: PUSH3 0x7013f7
00002e8b: PUSH1 0xe3
00002e8d: SHL
00002e8e: DUP2
00002e8f: MSTORE
00002e90: PUSH1 0x04
00002e92: ADD
00002e93: PUSH1 0x40
00002e95: MLOAD
00002e96: DUP1
00002e97: SWAP2
00002e98: SUB
00002e99: SWAP1
00002e9a: REVERT
00002e9b: JUMPDEST
00002e9c: PUSH1 0x00
00002e9e: DUP3
00002e9f: DUP2
00002ea0: MSTORE
00002ea1: PUSH1 0x0f
00002ea3: PUSH1 0x20
00002ea5: MSTORE
00002ea6: PUSH1 0x40
00002ea8: SWAP1
00002ea9: KECCAK256
00002eaa: PUSH1 0x01
00002eac: ADD
00002ead: SLOAD
00002eae: PUSH1 0x01
00002eb0: PUSH1 0x01
00002eb2: PUSH1 0xa0
00002eb4: SHL
00002eb5: SUB
00002eb6: AND
00002eb7: ISZERO
00002eb8: PUSH2 0x2ed4
00002ebb: JUMPI
00002ebc: PUSH1 0x40
00002ebe: MLOAD
00002ebf: PUSH4 0x047d97a9
00002ec4: PUSH1 0xe3
00002ec6: SHL
00002ec7: DUP2
00002ec8: MSTORE
00002ec9: PUSH1 0x04
00002ecb: ADD
00002ecc: PUSH1 0x40
00002ece: MLOAD
00002ecf: DUP1
00002ed0: SWAP2
00002ed1: SUB
00002ed2: SWAP1
00002ed3: REVERT
00002ed4: JUMPDEST
00002ed5: PUSH1 0x01
00002ed7: PUSH1 0x01
00002ed9: PUSH1 0xa0
00002edb: SHL
00002edc: SUB
00002edd: DUP2
00002ede: AND
00002edf: PUSH1 0x00
00002ee1: SWAP1
00002ee2: DUP2
00002ee3: MSTORE
00002ee4: PUSH1 0x10
00002ee6: PUSH1 0x20
00002ee8: MSTORE
00002ee9: PUSH1 0x40
00002eeb: SWAP1
00002eec: KECCAK256
00002eed: SLOAD
00002eee: PUSH1 0x04
00002ef0: SLOAD
00002ef1: GT
00002ef2: PUSH2 0x2f0e
00002ef5: JUMPI
00002ef6: PUSH1 0x40
00002ef8: MLOAD
00002ef9: PUSH4 0x745219b3
00002efe: PUSH1 0xe0
00002f00: SHL
00002f01: DUP2
00002f02: MSTORE
00002f03: PUSH1 0x04
00002f05: ADD
00002f06: PUSH1 0x40
00002f08: MLOAD
00002f09: DUP1
00002f0a: SWAP2
00002f0b: SUB
00002f0c: SWAP1
00002f0d: REVERT
00002f0e: JUMPDEST
00002f0f: PUSH1 0x00
00002f11: DUP3
00002f12: DUP2
00002f13: MSTORE
00002f14: PUSH1 0x18
00002f16: PUSH1 0x20
00002f18: SWAP1
00002f19: DUP2
00002f1a: MSTORE
00002f1b: PUSH1 0x40
00002f1d: DUP1
00002f1e: DUP4
00002f1f: KECCAK256
00002f20: PUSH1 0x01
00002f22: PUSH1 0x01
00002f24: PUSH1 0xa0
00002f26: SHL
00002f27: SUB
00002f28: DUP6
00002f29: AND
00002f2a: DUP5
00002f2b: MSTORE
00002f2c: SWAP1
00002f2d: SWAP2
00002f2e: MSTORE
00002f2f: SWAP1
00002f30: KECCAK256
00002f31: SLOAD
00002f32: PUSH1 0xff
00002f34: AND
00002f35: PUSH2 0x2f6a
00002f38: JUMPI
00002f39: PUSH1 0x40
00002f3b: MLOAD
00002f3c: PUSH32 0x807ef7a700000000000000000000000000000000000000000000000000000000
00002f5d: DUP2
00002f5e: MSTORE
00002f5f: PUSH1 0x04
00002f61: ADD
00002f62: PUSH1 0x40
00002f64: MLOAD
00002f65: DUP1
00002f66: SWAP2
00002f67: SUB
00002f68: SWAP1
00002f69: REVERT
00002f6a: JUMPDEST
00002f6b: PUSH1 0x01
00002f6d: PUSH1 0x01
00002f6f: PUSH1 0xa0
00002f71: SHL
00002f72: SUB
00002f73: DUP2
00002f74: AND
00002f75: PUSH1 0x00
00002f77: SWAP1
00002f78: DUP2
00002f79: MSTORE
00002f7a: PUSH1 0x10
00002f7c: PUSH1 0x20
00002f7e: MSTORE
00002f7f: PUSH1 0x40
00002f81: DUP2
00002f82: KECCAK256
00002f83: DUP1
00002f84: SLOAD
00002f85: SWAP1
00002f86: SWAP2
00002f87: SWAP1
00002f88: PUSH2 0x2f90
00002f8b: SWAP1
00002f8c: PUSH2 0x46ff
00002f8f: JUMP
00002f90: JUMPDEST
00002f91: SWAP1
00002f92: SWAP2
00002f93: SSTORE
00002f94: POP
00002f95: PUSH1 0x00
00002f97: DUP3
00002f98: DUP2
00002f99: MSTORE
00002f9a: PUSH1 0x0f
00002f9c: PUSH1 0x20
00002f9e: MSTORE
00002f9f: PUSH1 0x40
00002fa1: SWAP1
00002fa2: KECCAK256
00002fa3: PUSH1 0x01
00002fa5: ADD
00002fa6: DUP1
00002fa7: SLOAD
00002fa8: PUSH1 0x01
00002faa: PUSH1 0x01
00002fac: PUSH1 0xa0
00002fae: SHL
00002faf: SUB
00002fb0: NOT
00002fb1: AND
00002fb2: PUSH1 0x01
00002fb4: PUSH1 0x01
00002fb6: PUSH1 0xa0
00002fb8: SHL
00002fb9: SUB
00002fba: DUP4
00002fbb: AND
00002fbc: OR
00002fbd: SWAP1
00002fbe: SSTORE
00002fbf: PUSH1 0x03
00002fc1: SLOAD
00002fc2: PUSH2 0x2fcb
00002fc5: SWAP1
00002fc6: TIMESTAMP
00002fc7: PUSH2 0x46bf
00002fca: JUMP
00002fcb: JUMPDEST
00002fcc: PUSH1 0x00
00002fce: DUP4
00002fcf: DUP2
00002fd0: MSTORE
00002fd1: PUSH1 0x0f
00002fd3: PUSH1 0x20
00002fd5: SWAP1
00002fd6: DUP2
00002fd7: MSTORE
00002fd8: PUSH1 0x40
00002fda: DUP1
00002fdb: DUP4
00002fdc: KECCAK256
00002fdd: PUSH1 0x04
00002fdf: ADD
00002fe0: SWAP4
00002fe1: SWAP1
00002fe2: SWAP4
00002fe3: SSTORE
00002fe4: PUSH1 0x1c
00002fe6: DUP2
00002fe7: MSTORE
00002fe8: DUP3
00002fe9: DUP3
00002fea: KECCAK256
00002feb: PUSH1 0x01
00002fed: PUSH1 0x01
00002fef: PUSH1 0xa0
00002ff1: SHL
00002ff2: SUB
00002ff3: DUP1
00002ff4: DUP7
00002ff5: AND
00002ff6: DUP5
00002ff7: MSTORE
00002ff8: SWAP1
00002ff9: DUP3
00002ffa: MSTORE
00002ffb: DUP4
00002ffc: DUP4
00002ffd: KECCAK256
00002ffe: SLOAD
00002fff: DUP7
00003000: DUP5
00003001: MSTORE
00003002: PUSH1 0x19
00003004: DUP4
00003005: MSTORE
00003006: DUP5
00003007: DUP5
00003008: KECCAK256
00003009: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
0000302a: SWAP1
0000302b: SWAP3
0000302c: AND
0000302d: DUP5
0000302e: MSTORE
0000302f: SWAP2
00003030: MSTORE
00003031: SWAP2
00003032: DUP2
00003033: KECCAK256
00003034: SLOAD
00003035: PUSH2 0x303f
00003038: SWAP1
00003039: DUP4
0000303a: SWAP1
0000303b: PUSH2 0x49d8
0000303e: JUMP
0000303f: JUMPDEST
00003040: SWAP1
00003041: POP
00003042: DUP1
00003043: ISZERO
00003044: PUSH2 0x311f
00003047: JUMPI
00003048: PUSH1 0x40
0000304a: MLOAD
0000304b: PUSH4 0xa9059cbb
00003050: PUSH1 0xe0
00003052: SHL
00003053: DUP2
00003054: MSTORE
00003055: CALLER
00003056: PUSH1 0x04
00003058: DUP3
00003059: ADD
0000305a: MSTORE
0000305b: PUSH1 0x24
0000305d: DUP2
0000305e: ADD
0000305f: DUP3
00003060: SWAP1
00003061: MSTORE
00003062: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00003083: PUSH1 0x01
00003085: PUSH1 0x01
00003087: PUSH1 0xa0
00003089: SHL
0000308a: SUB
0000308b: AND
0000308c: SWAP1
0000308d: PUSH4 0xa9059cbb
00003092: SWAP1
00003093: PUSH1 0x44
00003095: ADD
00003096: PUSH1 0x20
00003098: PUSH1 0x40
0000309a: MLOAD
0000309b: DUP1
0000309c: DUP4
0000309d: SUB
0000309e: DUP2
0000309f: PUSH1 0x00
000030a1: DUP8
000030a2: GAS
000030a3: CALL
000030a4: ISZERO
000030a5: DUP1
000030a6: ISZERO
000030a7: PUSH2 0x30b4
000030aa: JUMPI
000030ab: RETURNDATASIZE
000030ac: PUSH1 0x00
000030ae: DUP1
000030af: RETURNDATACOPY
000030b0: RETURNDATASIZE
000030b1: PUSH1 0x00
000030b3: REVERT
000030b4: JUMPDEST
000030b5: POP
000030b6: POP
000030b7: POP
000030b8: POP
000030b9: PUSH1 0x40
000030bb: MLOAD
000030bc: RETURNDATASIZE
000030bd: PUSH1 0x1f
000030bf: NOT
000030c0: PUSH1 0x1f
000030c2: DUP3
000030c3: ADD
000030c4: AND
000030c5: DUP3
000030c6: ADD
000030c7: DUP1
000030c8: PUSH1 0x40
000030ca: MSTORE
000030cb: POP
000030cc: DUP2
000030cd: ADD
000030ce: SWAP1
000030cf: PUSH2 0x30d8
000030d2: SWAP2
000030d3: SWAP1
000030d4: PUSH2 0x49eb
000030d7: JUMP
000030d8: JUMPDEST
000030d9: POP
000030da: PUSH1 0x00
000030dc: DUP5
000030dd: DUP2
000030de: MSTORE
000030df: PUSH1 0x19
000030e1: PUSH1 0x20
000030e3: SWAP1
000030e4: DUP2
000030e5: MSTORE
000030e6: PUSH1 0x40
000030e8: DUP1
000030e9: DUP4
000030ea: KECCAK256
000030eb: PUSH1 0x01
000030ed: PUSH1 0x01
000030ef: PUSH1 0xa0
000030f1: SHL
000030f2: SUB
000030f3: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00003114: AND
00003115: DUP5
00003116: MSTORE
00003117: SWAP1
00003118: SWAP2
00003119: MSTORE
0000311a: SWAP1
0000311b: KECCAK256
0000311c: DUP3
0000311d: SWAP1
0000311e: SSTORE
0000311f: JUMPDEST
00003120: PUSH1 0x40
00003122: MLOAD
00003123: DUP5
00003124: SWAP1
00003125: PUSH1 0x01
00003127: PUSH1 0x01
00003129: PUSH1 0xa0
0000312b: SHL
0000312c: SUB
0000312d: DUP6
0000312e: AND
0000312f: SWAP1
00003130: CALLER
00003131: SWAP1
00003132: PUSH32 0x4b0bed974df4459d53356182bc0966683bea5a9eba848cd3095b855459a517bf
00003153: SWAP1
00003154: PUSH1 0x00
00003156: SWAP1
00003157: LOG4
00003158: POP
00003159: POP
0000315a: POP
0000315b: POP
0000315c: JUMP
0000315d: JUMPDEST
0000315e: PUSH1 0x09
00003160: SLOAD
00003161: PUSH1 0x01
00003163: PUSH1 0x01
00003165: PUSH1 0xa0
00003167: SHL
00003168: SUB
00003169: AND
0000316a: CALLER
0000316b: EQ
0000316c: PUSH2 0x3188
0000316f: JUMPI
00003170: PUSH1 0x40
00003172: MLOAD
00003173: PUSH4 0x30cd7471
00003178: PUSH1 0xe0
0000317a: SHL
0000317b: DUP2
0000317c: MSTORE
0000317d: PUSH1 0x04
0000317f: ADD
00003180: PUSH1 0x40
00003182: MLOAD
00003183: DUP1
00003184: SWAP2
00003185: SUB
00003186: SWAP1
00003187: REVERT
00003188: JUMPDEST
00003189: PUSH1 0x01
0000318b: PUSH1 0x01
0000318d: PUSH1 0xa0
0000318f: SHL
00003190: SUB
00003191: DUP2
00003192: AND
00003193: PUSH1 0x00
00003195: DUP2
00003196: DUP2
00003197: MSTORE
00003198: PUSH1 0x11
0000319a: PUSH1 0x20
0000319c: SWAP1
0000319d: DUP2
0000319e: MSTORE
0000319f: PUSH1 0x40
000031a1: SWAP2
000031a2: DUP3
000031a3: SWAP1
000031a4: KECCAK256
000031a5: DUP1
000031a6: SLOAD
000031a7: PUSH1 0xff
000031a9: NOT
000031aa: AND
000031ab: SWAP1
000031ac: SSTORE
000031ad: SWAP1
000031ae: MLOAD
000031af: SWAP2
000031b0: DUP3
000031b1: MSTORE
000031b2: PUSH32 0xd3e803f2dfdacd206b7d19aa46d847206386d84e3dc6b8de0926e54affa6fddc
000031d3: SWAP2
000031d4: ADD
000031d5: PUSH2 0x09ff
000031d8: JUMP
000031d9: JUMPDEST
000031da: PUSH1 0x09
000031dc: SLOAD
000031dd: PUSH1 0x01
000031df: PUSH1 0x01
000031e1: PUSH1 0xa0
000031e3: SHL
000031e4: SUB
000031e5: AND
000031e6: CALLER
000031e7: EQ
000031e8: PUSH2 0x3204
000031eb: JUMPI
000031ec: PUSH1 0x40
000031ee: MLOAD
000031ef: PUSH4 0x30cd7471
000031f4: PUSH1 0xe0
000031f6: SHL
000031f7: DUP2
000031f8: MSTORE
000031f9: PUSH1 0x04
000031fb: ADD
000031fc: PUSH1 0x40
000031fe: MLOAD
000031ff: DUP1
00003200: SWAP2
00003201: SUB
00003202: SWAP1
00003203: REVERT
00003204: JUMPDEST
00003205: PUSH1 0x03
00003207: DUP2
00003208: SWAP1
00003209: SSTORE
0000320a: PUSH1 0x40
0000320c: MLOAD
0000320d: DUP2
0000320e: DUP2
0000320f: MSTORE
00003210: PUSH32 0x3dfb4a74af4c292af6b1354e17f1a5383cc3403798e5a3465a12812a308399c3
00003231: SWAP1
00003232: PUSH1 0x20
00003234: ADD
00003235: PUSH2 0x09ff
00003238: JUMP
00003239: JUMPDEST
0000323a: PUSH1 0x09
0000323c: SLOAD
0000323d: PUSH1 0x01
0000323f: PUSH1 0x01
00003241: PUSH1 0xa0
00003243: SHL
00003244: SUB
00003245: AND
00003246: CALLER
00003247: EQ
00003248: PUSH2 0x3264
0000324b: JUMPI
0000324c: PUSH1 0x40
0000324e: MLOAD
0000324f: PUSH4 0x30cd7471
00003254: PUSH1 0xe0
00003256: SHL
00003257: DUP2
00003258: MSTORE
00003259: PUSH1 0x04
0000325b: ADD
0000325c: PUSH1 0x40
0000325e: MLOAD
0000325f: DUP1
00003260: SWAP2
00003261: SUB
00003262: SWAP1
00003263: REVERT
00003264: JUMPDEST
00003265: PUSH1 0x02
00003267: DUP2
00003268: SWAP1
00003269: SSTORE
0000326a: PUSH1 0x40
0000326c: MLOAD
0000326d: DUP2
0000326e: DUP2
0000326f: MSTORE
00003270: PUSH32 0x97aee230ba41961438e908e115df76fa8113f85a0586d85b19ba5be50e6a2274
00003291: SWAP1
00003292: PUSH1 0x20
00003294: ADD
00003295: PUSH2 0x09ff
00003298: JUMP
00003299: JUMPDEST
0000329a: PUSH1 0x15
0000329c: PUSH1 0x20
0000329e: MSTORE
0000329f: DUP2
000032a0: PUSH1 0x00
000032a2: MSTORE
000032a3: PUSH1 0x40
000032a5: PUSH1 0x00
000032a7: KECCAK256
000032a8: DUP2
000032a9: DUP2
000032aa: SLOAD
000032ab: DUP2
000032ac: LT
000032ad: PUSH2 0x126b
000032b0: JUMPI
000032b1: PUSH1 0x00
000032b3: DUP1
000032b4: REVERT
000032b5: JUMPDEST
000032b6: PUSH1 0x09
000032b8: SLOAD
000032b9: PUSH1 0x01
000032bb: PUSH1 0x01
000032bd: PUSH1 0xa0
000032bf: SHL
000032c0: SUB
000032c1: AND
000032c2: CALLER
000032c3: EQ
000032c4: PUSH2 0x32e0
000032c7: JUMPI
000032c8: PUSH1 0x40
000032ca: MLOAD
000032cb: PUSH4 0x30cd7471
000032d0: PUSH1 0xe0
000032d2: SHL
000032d3: DUP2
000032d4: MSTORE
000032d5: PUSH1 0x04
000032d7: ADD
000032d8: PUSH1 0x40
000032da: MLOAD
000032db: DUP1
000032dc: SWAP2
000032dd: SUB
000032de: SWAP1
000032df: REVERT
000032e0: JUMPDEST
000032e1: PUSH1 0x09
000032e3: DUP1
000032e4: SLOAD
000032e5: PUSH1 0x01
000032e7: PUSH1 0x01
000032e9: PUSH1 0xa0
000032eb: SHL
000032ec: SUB
000032ed: DUP4
000032ee: DUP2
000032ef: AND
000032f0: PUSH1 0x01
000032f2: PUSH1 0x01
000032f4: PUSH1 0xa0
000032f6: SHL
000032f7: SUB
000032f8: NOT
000032f9: DUP4
000032fa: AND
000032fb: DUP2
000032fc: OR
000032fd: SWAP1
000032fe: SWAP4
000032ff: SSTORE
00003300: PUSH1 0x40
00003302: MLOAD
00003303: SWAP2
00003304: AND
00003305: SWAP2
00003306: SWAP1
00003307: DUP3
00003308: SWAP1
00003309: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
0000332a: SWAP1
0000332b: PUSH1 0x00
0000332d: SWAP1
0000332e: LOG3
0000332f: POP
00003330: POP
00003331: JUMP
00003332: JUMPDEST
00003333: PUSH1 0x40
00003335: MLOAD
00003336: PUSH4 0x70a08231
0000333b: PUSH1 0xe0
0000333d: SHL
0000333e: DUP2
0000333f: MSTORE
00003340: ORIGIN
00003341: PUSH1 0x04
00003343: DUP3
00003344: ADD
00003345: MSTORE
00003346: PUSH32 0x000000000000000000000000724e56b0555a3898de205cb55fca228bcbb6d8a3
00003367: PUSH1 0x01
00003369: PUSH1 0x01
0000336b: PUSH1 0xa0
0000336d: SHL
0000336e: SUB
0000336f: AND
00003370: SWAP1
00003371: PUSH4 0x70a08231
00003376: SWAP1
00003377: PUSH1 0x24
00003379: ADD
0000337a: PUSH1 0x20
0000337c: PUSH1 0x40
0000337e: MLOAD
0000337f: DUP1
00003380: DUP4
00003381: SUB
00003382: DUP2
00003383: DUP7
00003384: GAS
00003385: STATICCALL
00003386: ISZERO
00003387: DUP1
00003388: ISZERO
00003389: PUSH2 0x3396
0000338c: JUMPI
0000338d: RETURNDATASIZE
0000338e: PUSH1 0x00
00003390: DUP1
00003391: RETURNDATACOPY
00003392: RETURNDATASIZE
00003393: PUSH1 0x00
00003395: REVERT
00003396: JUMPDEST
00003397: POP
00003398: POP
00003399: POP
0000339a: POP
0000339b: PUSH1 0x40
0000339d: MLOAD
0000339e: RETURNDATASIZE
0000339f: PUSH1 0x1f
000033a1: NOT
000033a2: PUSH1 0x1f
000033a4: DUP3
000033a5: ADD
000033a6: AND
000033a7: DUP3
000033a8: ADD
000033a9: DUP1
000033aa: PUSH1 0x40
000033ac: MSTORE
000033ad: POP
000033ae: DUP2
000033af: ADD
000033b0: SWAP1
000033b1: PUSH2 0x33ba
000033b4: SWAP2
000033b5: SWAP1
000033b6: PUSH2 0x4765
000033b9: JUMP
000033ba: JUMPDEST
000033bb: PUSH1 0x00
000033bd: SUB
000033be: PUSH2 0x33f3
000033c1: JUMPI
000033c2: PUSH1 0x40
000033c4: MLOAD
000033c5: PUSH32 0x15fce27a00000000000000000000000000000000000000000000000000000000
000033e6: DUP2
000033e7: MSTORE
000033e8: PUSH1 0x04
000033ea: ADD
000033eb: PUSH1 0x40
000033ed: MLOAD
000033ee: DUP1
000033ef: SWAP2
000033f0: SUB
000033f1: SWAP1
000033f2: REVERT
000033f3: JUMPDEST
000033f4: ORIGIN
000033f5: CALLER
000033f6: SUB
000033f7: PUSH2 0x342c
000033fa: JUMPI
000033fb: PUSH1 0x40
000033fd: MLOAD
000033fe: PUSH32 0x09ee12d500000000000000000000000000000000000000000000000000000000
0000341f: DUP2
00003420: MSTORE
00003421: PUSH1 0x04
00003423: ADD
00003424: PUSH1 0x40
00003426: MLOAD
00003427: DUP1
00003428: SWAP2
00003429: SUB
0000342a: SWAP1
0000342b: REVERT
0000342c: JUMPDEST
0000342d: CALLER
0000342e: PUSH1 0x00
00003430: SWAP1
00003431: DUP2
00003432: MSTORE
00003433: PUSH1 0x0e
00003435: PUSH1 0x20
00003437: SWAP1
00003438: DUP2
00003439: MSTORE
0000343a: PUSH1 0x40
0000343c: SWAP2
0000343d: DUP3
0000343e: SWAP1
0000343f: KECCAK256
00003440: DUP3
00003441: MLOAD
00003442: PUSH1 0x60
00003444: DUP2
00003445: ADD
00003446: DUP5
00003447: MSTORE
00003448: DUP2
00003449: SLOAD
0000344a: PUSH1 0x01
0000344c: PUSH1 0x01
0000344e: PUSH1 0xa0
00003450: SHL
00003451: SUB
00003452: DUP2
00003453: AND
00003454: DUP1
00003455: DUP4
00003456: MSTORE
00003457: PUSH1 0x01
00003459: PUSH1 0xa0
0000345b: SHL
0000345c: SWAP1
0000345d: SWAP2
0000345e: DIV
0000345f: PUSH1 0xff
00003461: AND
00003462: ISZERO
00003463: ISZERO
00003464: SWAP4
00003465: DUP3
00003466: ADD
00003467: SWAP4
00003468: SWAP1
00003469: SWAP4
0000346a: MSTORE
0000346b: PUSH1 0x01
0000346d: SWAP1
0000346e: SWAP2
0000346f: ADD
00003470: SLOAD
00003471: SWAP3
00003472: DUP2
00003473: ADD
00003474: SWAP3
00003475: SWAP1
00003476: SWAP3
00003477: MSTORE
00003478: ISZERO
00003479: PUSH2 0x3495
0000347c: JUMPI
0000347d: PUSH1 0x40
0000347f: MLOAD
00003480: PUSH4 0x64748e39
00003485: PUSH1 0xe1
00003487: SHL
00003488: DUP2
00003489: MSTORE
0000348a: PUSH1 0x04
0000348c: ADD
0000348d: PUSH1 0x40
0000348f: MLOAD
00003490: DUP1
00003491: SWAP2
00003492: SUB
00003493: SWAP1
00003494: REVERT
00003495: JUMPDEST
00003496: POP
00003497: CALLER
00003498: PUSH1 0x00
0000349a: SWAP1
0000349b: DUP2
0000349c: MSTORE
0000349d: PUSH1 0x0e
0000349f: PUSH1 0x20
000034a1: MSTORE
000034a2: PUSH1 0x40
000034a4: SWAP1
000034a5: KECCAK256
000034a6: DUP1
000034a7: SLOAD
000034a8: PUSH1 0x01
000034aa: PUSH1 0x01
000034ac: PUSH1 0xa0
000034ae: SHL
000034af: SUB
000034b0: NOT
000034b1: AND
000034b2: ORIGIN
000034b3: OR
000034b4: SWAP1
000034b5: SSTORE
000034b6: JUMP
000034b7: JUMPDEST
000034b8: PUSH1 0x00
000034ba: PUSH1 0x03
000034bc: DUP3
000034bd: GT
000034be: ISZERO
000034bf: PUSH2 0x34f4
000034c2: JUMPI
000034c3: PUSH1 0x40
000034c5: MLOAD
000034c6: PUSH32 0xd1459f7900000000000000000000000000000000000000000000000000000000
000034e7: DUP2
000034e8: MSTORE
000034e9: PUSH1 0x04
000034eb: ADD
000034ec: PUSH1 0x40
000034ee: MLOAD
000034ef: DUP1
000034f0: SWAP2
000034f1: SUB
000034f2: SWAP1
000034f3: REVERT
000034f4: JUMPDEST
000034f5: PUSH1 0x40
000034f7: MLOAD
000034f8: PUSH4 0x70a08231
000034fd: PUSH1 0xe0
000034ff: SHL
00003500: DUP2
00003501: MSTORE
00003502: PUSH1 0x01
00003504: PUSH1 0x01
00003506: PUSH1 0xa0
00003508: SHL
00003509: SUB
0000350a: DUP5
0000350b: DUP2
0000350c: AND
0000350d: PUSH1 0x04
0000350f: DUP4
00003510: ADD
00003511: MSTORE
00003512: PUSH32 0x00000000000000000000000004e99152d348ecfe03d616bbb77a74d921145923
00003533: AND
00003534: SWAP1
00003535: PUSH4 0x70a08231
0000353a: SWAP1
0000353b: PUSH1 0x24
0000353d: ADD
0000353e: PUSH1 0x20
00003540: PUSH1 0x40
00003542: MLOAD
00003543: DUP1
00003544: DUP4
00003545: SUB
00003546: DUP2
00003547: DUP7
00003548: GAS
00003549: STATICCALL
0000354a: ISZERO
0000354b: DUP1
0000354c: ISZERO
0000354d: PUSH2 0x355a
00003550: JUMPI
00003551: RETURNDATASIZE
00003552: PUSH1 0x00
00003554: DUP1
00003555: RETURNDATACOPY
00003556: RETURNDATASIZE
00003557: PUSH1 0x00
00003559: REVERT
0000355a: JUMPDEST
0000355b: POP
0000355c: POP
0000355d: POP
0000355e: POP
0000355f: PUSH1 0x40
00003561: MLOAD
00003562: RETURNDATASIZE
00003563: PUSH1 0x1f
00003565: NOT
00003566: PUSH1 0x1f
00003568: DUP3
00003569: ADD
0000356a: AND
0000356b: DUP3
0000356c: ADD
0000356d: DUP1
0000356e: PUSH1 0x40
00003570: MSTORE
00003571: POP
00003572: DUP2
00003573: ADD
00003574: SWAP1
00003575: PUSH2 0x357e
00003578: SWAP2
00003579: SWAP1
0000357a: PUSH2 0x4765
0000357d: JUMP
0000357e: JUMPDEST
0000357f: PUSH1 0x00
00003581: SUB
00003582: PUSH2 0x3618
00003585: JUMPI
00003586: PUSH1 0x40
00003588: MLOAD
00003589: PUSH4 0x35313c21
0000358e: PUSH1 0xe1
00003590: SHL
00003591: DUP2
00003592: MSTORE
00003593: PUSH1 0x01
00003595: PUSH1 0x01
00003597: PUSH1 0xa0
00003599: SHL
0000359a: SUB
0000359b: DUP5
0000359c: DUP2
0000359d: AND
0000359e: PUSH1 0x04
000035a0: DUP4
000035a1: ADD
000035a2: MSTORE
000035a3: PUSH32 0x00000000000000000000000004e99152d348ecfe03d616bbb77a74d921145923
000035c4: AND
000035c5: SWAP1
000035c6: PUSH4 0x6a627842
000035cb: SWAP1
000035cc: PUSH1 0x24
000035ce: ADD
000035cf: PUSH1 0x20
000035d1: PUSH1 0x40
000035d3: MLOAD
000035d4: DUP1
000035d5: DUP4
000035d6: SUB
000035d7: DUP2
000035d8: PUSH1 0x00
000035da: DUP8
000035db: GAS
000035dc: CALL
000035dd: ISZERO
000035de: DUP1
000035df: ISZERO
000035e0: PUSH2 0x35ed
000035e3: JUMPI
000035e4: RETURNDATASIZE
000035e5: PUSH1 0x00
000035e7: DUP1
000035e8: RETURNDATACOPY
000035e9: RETURNDATASIZE
000035ea: PUSH1 0x00
000035ec: REVERT
000035ed: JUMPDEST
000035ee: POP
000035ef: POP
000035f0: POP
000035f1: POP
000035f2: PUSH1 0x40
000035f4: MLOAD
000035f5: RETURNDATASIZE
000035f6: PUSH1 0x1f
000035f8: NOT
000035f9: PUSH1 0x1f
000035fb: DUP3
000035fc: ADD
000035fd: AND
000035fe: DUP3
000035ff: ADD
00003600: DUP1
00003601: PUSH1 0x40
00003603: MSTORE
00003604: POP
00003605: DUP2
00003606: ADD
00003607: SWAP1
00003608: PUSH2 0x3611
0000360b: SWAP2
0000360c: SWAP1
0000360d: PUSH2 0x4765
00003610: JUMP
00003611: JUMPDEST
00003612: SWAP1
00003613: POP
00003614: PUSH2 0x36be
00003617: JUMP
00003618: JUMPDEST
00003619: PUSH1 0x40
0000361b: MLOAD
0000361c: PUSH32 0x03199b2500000000000000000000000000000000000000000000000000000000
0000363d: DUP2
0000363e: MSTORE
0000363f: PUSH1 0x01
00003641: PUSH1 0x01
00003643: PUSH1 0xa0
00003645: SHL
00003646: SUB
00003647: DUP5
00003648: DUP2
00003649: AND
0000364a: PUSH1 0x04
0000364c: DUP4
0000364d: ADD
0000364e: MSTORE
0000364f: PUSH32 0x00000000000000000000000004e99152d348ecfe03d616bbb77a74d921145923
00003670: AND
00003671: SWAP1
00003672: PUSH4 0x03199b25
00003677: SWAP1
00003678: PUSH1 0x24
0000367a: ADD
0000367b: PUSH1 0x20
0000367d: PUSH1 0x40
0000367f: MLOAD
00003680: DUP1
00003681: DUP4
00003682: SUB
00003683: DUP2
00003684: DUP7
00003685: GAS
00003686: STATICCALL
00003687: ISZERO
00003688: DUP1
00003689: ISZERO
0000368a: PUSH2 0x3697
0000368d: JUMPI
0000368e: RETURNDATASIZE
0000368f: PUSH1 0x00
00003691: DUP1
00003692: RETURNDATACOPY
00003693: RETURNDATASIZE
00003694: PUSH1 0x00
00003696: REVERT
00003697: JUMPDEST
00003698: POP
00003699: POP
0000369a: POP
0000369b: POP
0000369c: PUSH1 0x40
0000369e: MLOAD
0000369f: RETURNDATASIZE
000036a0: PUSH1 0x1f
000036a2: NOT
000036a3: PUSH1 0x1f
000036a5: DUP3
000036a6: ADD
000036a7: AND
000036a8: DUP3
000036a9: ADD
000036aa: DUP1
000036ab: PUSH1 0x40
000036ad: MSTORE
000036ae: POP
000036af: DUP2
000036b0: ADD
000036b1: SWAP1
000036b2: PUSH2 0x36bb
000036b5: SWAP2
000036b6: SWAP1
000036b7: PUSH2 0x4765
000036ba: JUMP
000036bb: JUMPDEST
000036bc: SWAP1
000036bd: POP
000036be: JUMPDEST
000036bf: PUSH1 0x01
000036c1: PUSH1 0x01
000036c3: PUSH1 0xa0
000036c5: SHL
000036c6: SUB
000036c7: DUP4
000036c8: AND
000036c9: PUSH1 0x00
000036cb: DUP2
000036cc: DUP2
000036cd: MSTORE
000036ce: PUSH1 0x10
000036d0: PUSH1 0x20
000036d2: SWAP1
000036d3: DUP2
000036d4: MSTORE
000036d5: PUSH1 0x40
000036d7: DUP1
000036d8: DUP4
000036d9: KECCAK256
000036da: PUSH1 0x03
000036dc: ADD
000036dd: DUP7
000036de: SWAP1
000036df: SSTORE
000036e0: PUSH1 0x11
000036e2: DUP3
000036e3: MSTORE
000036e4: SWAP2
000036e5: DUP3
000036e6: SWAP1
000036e7: KECCAK256
000036e8: DUP1
000036e9: SLOAD
000036ea: PUSH1 0xff
000036ec: NOT
000036ed: AND
000036ee: PUSH1 0x01
000036f0: OR
000036f1: SWAP1
000036f2: SSTORE
000036f3: SWAP1
000036f4: MLOAD
000036f5: SWAP2
000036f6: DUP3
000036f7: MSTORE
000036f8: PUSH32 0x2c31044378cc14466459f09320dd4057d7ad6e99b194c0800c78227383a25296
00003719: SWAP2
0000371a: ADD
0000371b: PUSH1 0x40
0000371d: MLOAD
0000371e: DUP1
0000371f: SWAP2
00003720: SUB
00003721: SWAP1
00003722: LOG1
00003723: SWAP3
00003724: SWAP2
00003725: POP
00003726: POP
00003727: JUMP
00003728: JUMPDEST
00003729: PUSH1 0x02
0000372b: PUSH1 0x00
0000372d: SLOAD
0000372e: SUB
0000372f: PUSH2 0x377f
00003732: JUMPI
00003733: PUSH1 0x40
00003735: MLOAD
00003736: PUSH3 0x461bcd
0000373a: PUSH1 0xe5
0000373c: SHL
0000373d: DUP2
0000373e: MSTORE
0000373f: PUSH1 0x20
00003741: PUSH1 0x04
00003743: DUP3
00003744: ADD
00003745: MSTORE
00003746: PUSH1 0x1f
00003748: PUSH1 0x24
0000374a: DUP3
0000374b: ADD
0000374c: MSTORE
0000374d: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
0000376e: PUSH1 0x44
00003770: DUP3
00003771: ADD
00003772: MSTORE
00003773: PUSH1 0x64
00003775: ADD
00003776: JUMPDEST
00003777: PUSH1 0x40
00003779: MLOAD
0000377a: DUP1
0000377b: SWAP2
0000377c: SUB
0000377d: SWAP1
0000377e: REVERT
0000377f: JUMPDEST
00003780: PUSH1 0x02
00003782: PUSH1 0x00
00003784: SSTORE
00003785: JUMP
00003786: JUMPDEST
00003787: PUSH1 0x00
00003789: DUP2
0000378a: DUP2
0000378b: MSTORE
0000378c: PUSH1 0x1b
0000378e: PUSH1 0x20
00003790: MSTORE
00003791: PUSH1 0x40
00003793: DUP2
00003794: KECCAK256
00003795: SLOAD
00003796: PUSH1 0xff
00003798: AND
00003799: ISZERO
0000379a: PUSH2 0x37cf
0000379d: JUMPI
0000379e: PUSH1 0x40
000037a0: MLOAD
000037a1: PUSH32 0x0e92da9000000000000000000000000000000000000000000000000000000000
000037c2: DUP2
000037c3: MSTORE
000037c4: PUSH1 0x04
000037c6: ADD
000037c7: PUSH1 0x40
000037c9: MLOAD
000037ca: DUP1
000037cb: SWAP2
000037cc: SUB
000037cd: SWAP1
000037ce: REVERT
000037cf: JUMPDEST
000037d0: PUSH1 0x00
000037d2: DUP3
000037d3: DUP2
000037d4: MSTORE
000037d5: PUSH1 0x15
000037d7: PUSH1 0x20
000037d9: SWAP1
000037da: DUP2
000037db: MSTORE
000037dc: PUSH1 0x40
000037de: DUP1
000037df: DUP4
000037e0: KECCAK256
000037e1: DUP1
000037e2: SLOAD
000037e3: DUP3
000037e4: MLOAD
000037e5: DUP2
000037e6: DUP6
000037e7: MUL
000037e8: DUP2
000037e9: ADD
000037ea: DUP6
000037eb: ADD
000037ec: SWAP1
000037ed: SWAP4
000037ee: MSTORE
000037ef: DUP1
000037f0: DUP4
000037f1: MSTORE
000037f2: SWAP2
000037f3: SWAP3
000037f4: SWAP1
000037f5: SWAP2
000037f6: SWAP1
000037f7: DUP4
000037f8: ADD
000037f9: DUP3
000037fa: DUP3
000037fb: DUP1
000037fc: ISZERO
000037fd: PUSH2 0x382f
00003800: JUMPI
00003801: PUSH1 0x20
00003803: MUL
00003804: DUP3
00003805: ADD
00003806: SWAP2
00003807: SWAP1
00003808: PUSH1 0x00
0000380a: MSTORE
0000380b: PUSH1 0x20
0000380d: PUSH1 0x00
0000380f: KECCAK256
00003810: SWAP1
00003811: JUMPDEST
00003812: DUP2
00003813: SLOAD
00003814: PUSH1 0x01
00003816: PUSH1 0x01
00003818: PUSH1 0xa0
0000381a: SHL
0000381b: SUB
0000381c: AND
0000381d: DUP2
0000381e: MSTORE
0000381f: PUSH1 0x01
00003821: SWAP1
00003822: SWAP2
00003823: ADD
00003824: SWAP1
00003825: PUSH1 0x20
00003827: ADD
00003828: DUP1
00003829: DUP4
0000382a: GT
0000382b: PUSH2 0x3811
0000382e: JUMPI
0000382f: JUMPDEST
00003830: POP
00003831: POP
00003832: POP
00003833: POP
00003834: POP
00003835: SWAP1
00003836: POP
00003837: PUSH1 0x00
00003839: PUSH1 0x16
0000383b: PUSH1 0x00
0000383d: DUP6
0000383e: DUP2
0000383f: MSTORE
00003840: PUSH1 0x20
00003842: ADD
00003843: SWAP1
00003844: DUP2
00003845: MSTORE
00003846: PUSH1 0x20
00003848: ADD
00003849: PUSH1 0x00
0000384b: KECCAK256
0000384c: DUP1
0000384d: SLOAD
0000384e: DUP1
0000384f: PUSH1 0x20
00003851: MUL
00003852: PUSH1 0x20
00003854: ADD
00003855: PUSH1 0x40
00003857: MLOAD
00003858: SWAP1
00003859: DUP2
0000385a: ADD
0000385b: PUSH1 0x40
0000385d: MSTORE
0000385e: DUP1
0000385f: SWAP3
00003860: SWAP2
00003861: SWAP1
00003862: DUP2
00003863: DUP2
00003864: MSTORE
00003865: PUSH1 0x20
00003867: ADD
00003868: DUP3
00003869: DUP1
0000386a: SLOAD
0000386b: DUP1
0000386c: ISZERO
0000386d: PUSH2 0x3895
00003870: JUMPI
00003871: PUSH1 0x20
00003873: MUL
00003874: DUP3
00003875: ADD
00003876: SWAP2
00003877: SWAP1
00003878: PUSH1 0x00
0000387a: MSTORE
0000387b: PUSH1 0x20
0000387d: PUSH1 0x00
0000387f: KECCAK256
00003880: SWAP1
00003881: JUMPDEST
00003882: DUP2
00003883: SLOAD
00003884: DUP2
00003885: MSTORE
00003886: PUSH1 0x20
00003888: ADD
00003889: SWAP1
0000388a: PUSH1 0x01
0000388c: ADD
0000388d: SWAP1
0000388e: DUP1
0000388f: DUP4
00003890: GT
00003891: PUSH2 0x3881
00003894: JUMPI
00003895: JUMPDEST
00003896: POP
00003897: POP
00003898: POP
00003899: PUSH1 0x00
0000389b: DUP8
0000389c: DUP2
0000389d: MSTORE
0000389e: PUSH1 0x1b
000038a0: PUSH1 0x20
000038a2: SWAP1
000038a3: DUP2
000038a4: MSTORE
000038a5: PUSH1 0x40
000038a7: DUP1
000038a8: DUP4
000038a9: KECCAK256
000038aa: DUP1
000038ab: SLOAD
000038ac: PUSH1 0xff
000038ae: NOT
000038af: AND
000038b0: PUSH1 0x01
000038b2: OR
000038b3: SWAP1
000038b4: SSTORE
000038b5: PUSH1 0x0f
000038b7: DUP3
000038b8: MSTORE
000038b9: DUP1
000038ba: DUP4
000038bb: KECCAK256
000038bc: DUP2
000038bd: MLOAD
000038be: DUP2
000038bf: SLOAD
000038c0: PUSH2 0x0120
000038c3: SWAP5
000038c4: DUP2
000038c5: MUL
000038c6: DUP3
000038c7: ADD
000038c8: DUP6
000038c9: ADD
000038ca: SWAP1
000038cb: SWAP4
000038cc: MSTORE
000038cd: PUSH2 0x0100
000038d0: DUP2
000038d1: ADD
000038d2: DUP4
000038d3: DUP2
000038d4: MSTORE
000038d5: SWAP8
000038d6: SWAP9
000038d7: POP
000038d8: SWAP4
000038d9: SWAP7
000038da: SWAP4
000038db: SWAP6
000038dc: POP
000038dd: SWAP4
000038de: POP
000038df: DUP5
000038e0: SWAP3
000038e1: SWAP2
000038e2: DUP5
000038e3: SWAP2
000038e4: SWAP1
000038e5: DUP5
000038e6: ADD
000038e7: DUP3
000038e8: DUP3
000038e9: DUP1
000038ea: ISZERO
000038eb: PUSH2 0x391d
000038ee: JUMPI
000038ef: PUSH1 0x20
000038f1: MUL
000038f2: DUP3
000038f3: ADD
000038f4: SWAP2
000038f5: SWAP1
000038f6: PUSH1 0x00
000038f8: MSTORE
000038f9: PUSH1 0x20
000038fb: PUSH1 0x00
000038fd: KECCAK256
000038fe: SWAP1
000038ff: JUMPDEST
00003900: DUP2
00003901: SLOAD
00003902: PUSH1 0x01
00003904: PUSH1 0x01
00003906: PUSH1 0xa0
00003908: SHL
00003909: SUB
0000390a: AND
0000390b: DUP2
0000390c: MSTORE
0000390d: PUSH1 0x01
0000390f: SWAP1
00003910: SWAP2
00003911: ADD
00003912: SWAP1
00003913: PUSH1 0x20
00003915: ADD
00003916: DUP1
00003917: DUP4
00003918: GT
00003919: PUSH2 0x38ff
0000391c: JUMPI
0000391d: JUMPDEST
0000391e: POP
0000391f: POP
00003920: POP
00003921: SWAP2
00003922: DUP4
00003923: MSTORE
00003924: POP
00003925: POP
00003926: PUSH1 0x01
00003928: DUP3
00003929: ADD
0000392a: SLOAD
0000392b: PUSH1 0x01
0000392d: PUSH1 0x01
0000392f: PUSH1 0xa0
00003931: SHL
00003932: SUB
00003933: SWAP1
00003934: DUP2
00003935: AND
00003936: PUSH1 0x20
00003938: DUP4
00003939: ADD
0000393a: MSTORE
0000393b: PUSH1 0x02
0000393d: DUP4
0000393e: ADD
0000393f: SLOAD
00003940: SWAP1
00003941: DUP2
00003942: AND
00003943: PUSH1 0x40
00003945: DUP4
00003946: ADD
00003947: MSTORE
00003948: PUSH1 0x60
0000394a: SWAP1
0000394b: SWAP2
0000394c: ADD
0000394d: SWAP1
0000394e: PUSH1 0x01
00003950: PUSH1 0xa0
00003952: SHL
00003953: SWAP1
00003954: DIV
00003955: PUSH1 0xff
00003957: AND
00003958: PUSH1 0x04
0000395a: DUP2
0000395b: GT
0000395c: ISZERO
0000395d: PUSH2 0x3968
00003960: JUMPI
00003961: PUSH2 0x3968
00003964: PUSH2 0x436a
00003967: JUMP
00003968: JUMPDEST
00003969: PUSH1 0x04
0000396b: DUP2
0000396c: GT
0000396d: ISZERO
0000396e: PUSH2 0x3979
00003971: JUMPI
00003972: PUSH2 0x3979
00003975: PUSH2 0x436a
00003978: JUMP
00003979: JUMPDEST
0000397a: DUP2
0000397b: MSTORE
0000397c: PUSH1 0x20
0000397e: ADD
0000397f: PUSH1 0x03
00003981: DUP3
00003982: ADD
00003983: DUP1
00003984: SLOAD
00003985: PUSH2 0x398d
00003988: SWAP1
00003989: PUSH2 0x4675
0000398c: JUMP
0000398d: JUMPDEST
0000398e: DUP1
0000398f: PUSH1 0x1f
00003991: ADD
00003992: PUSH1 0x20
00003994: DUP1
00003995: SWAP2
00003996: DIV
00003997: MUL
00003998: PUSH1 0x20
0000399a: ADD
0000399b: PUSH1 0x40
0000399d: MLOAD
0000399e: SWAP1
0000399f: DUP2
000039a0: ADD
000039a1: PUSH1 0x40
000039a3: MSTORE
000039a4: DUP1
000039a5: SWAP3
000039a6: SWAP2
000039a7: SWAP1
000039a8: DUP2
000039a9: DUP2
000039aa: MSTORE
000039ab: PUSH1 0x20
000039ad: ADD
000039ae: DUP3
000039af: DUP1
000039b0: SLOAD
000039b1: PUSH2 0x39b9
000039b4: SWAP1
000039b5: PUSH2 0x4675
000039b8: JUMP
000039b9: JUMPDEST
000039ba: DUP1
000039bb: ISZERO
000039bc: PUSH2 0x3a06
000039bf: JUMPI
000039c0: DUP1
000039c1: PUSH1 0x1f
000039c3: LT
000039c4: PUSH2 0x39db
000039c7: JUMPI
000039c8: PUSH2 0x0100
000039cb: DUP1
000039cc: DUP4
000039cd: SLOAD
000039ce: DIV
000039cf: MUL
000039d0: DUP4
000039d1: MSTORE
000039d2: SWAP2
000039d3: PUSH1 0x20
000039d5: ADD
000039d6: SWAP2
000039d7: PUSH2 0x3a06
000039da: JUMP
000039db: JUMPDEST
000039dc: DUP3
000039dd: ADD
000039de: SWAP2
000039df: SWAP1
000039e0: PUSH1 0x00
000039e2: MSTORE
000039e3: PUSH1 0x20
000039e5: PUSH1 0x00
000039e7: KECCAK256
000039e8: SWAP1
000039e9: JUMPDEST
000039ea: DUP2
000039eb: SLOAD
000039ec: DUP2
000039ed: MSTORE
000039ee: SWAP1
000039ef: PUSH1 0x01
000039f1: ADD
000039f2: SWAP1
000039f3: PUSH1 0x20
000039f5: ADD
000039f6: DUP1
000039f7: DUP4
000039f8: GT
000039f9: PUSH2 0x39e9
000039fc: JUMPI
000039fd: DUP3
000039fe: SWAP1
000039ff: SUB
00003a00: PUSH1 0x1f
00003a02: AND
00003a03: DUP3
00003a04: ADD
00003a05: SWAP2
00003a06: JUMPDEST
00003a07: POP
00003a08: POP
00003a09: POP
00003a0a: SWAP2
00003a0b: DUP4
00003a0c: MSTORE
00003a0d: POP
00003a0e: POP
00003a0f: PUSH1 0x04
00003a11: DUP3
00003a12: ADD
00003a13: SLOAD
00003a14: PUSH1 0x20
00003a16: DUP3
00003a17: ADD
00003a18: MSTORE
00003a19: PUSH1 0x05
00003a1b: DUP3
00003a1c: ADD
00003a1d: SLOAD
00003a1e: PUSH1 0x40
00003a20: DUP3
00003a21: ADD
00003a22: MSTORE
00003a23: PUSH1 0x06
00003a25: SWAP1
00003a26: SWAP2
00003a27: ADD
00003a28: SLOAD
00003a29: PUSH1 0xff
00003a2b: AND
00003a2c: ISZERO
00003a2d: ISZERO
00003a2e: PUSH1 0x60
00003a30: SWAP1
00003a31: SWAP2
00003a32: ADD
00003a33: MSTORE
00003a34: SWAP1
00003a35: POP
00003a36: PUSH2 0x3a3e
00003a39: DUP6
00003a3a: PUSH2 0x2a86
00003a3d: JUMP
00003a3e: JUMPDEST
00003a3f: POP
00003a40: SWAP4
00003a41: POP
00003a42: PUSH1 0x00
00003a44: JUMPDEST
00003a45: PUSH1 0x00
00003a47: DUP7
00003a48: DUP2
00003a49: MSTORE
00003a4a: PUSH1 0x1a
00003a4c: PUSH1 0x20
00003a4e: MSTORE
00003a4f: PUSH1 0x40
00003a51: SWAP1
00003a52: KECCAK256
00003a53: SLOAD
00003a54: DUP2
00003a55: LT
00003a56: ISZERO
00003a57: PUSH2 0x3c83
00003a5a: JUMPI
00003a5b: PUSH1 0x00
00003a5d: DUP7
00003a5e: DUP2
00003a5f: MSTORE
00003a60: PUSH1 0x1a
00003a62: PUSH1 0x20
00003a64: MSTORE
00003a65: PUSH1 0x40
00003a67: DUP2
00003a68: KECCAK256
00003a69: DUP1
00003a6a: SLOAD
00003a6b: DUP4
00003a6c: SWAP1
00003a6d: DUP2
00003a6e: LT
00003a6f: PUSH2 0x3a7a
00003a72: JUMPI
00003a73: PUSH2 0x3a7a
00003a76: PUSH2 0x46e9
00003a79: JUMP
00003a7a: JUMPDEST
00003a7b: PUSH1 0x00
00003a7d: SWAP2
00003a7e: DUP3
00003a7f: MSTORE
00003a80: PUSH1 0x20
00003a82: DUP1
00003a83: DUP4
00003a84: KECCAK256
00003a85: SWAP2
00003a86: SWAP1
00003a87: SWAP2
00003a88: ADD
00003a89: SLOAD
00003a8a: DUP10
00003a8b: DUP4
00003a8c: MSTORE
00003a8d: PUSH1 0x19
00003a8f: DUP3
00003a90: MSTORE
00003a91: PUSH1 0x40
00003a93: DUP1
00003a94: DUP5
00003a95: KECCAK256
00003a96: PUSH1 0x01
00003a98: PUSH1 0x01
00003a9a: PUSH1 0xa0
00003a9c: SHL
00003a9d: SUB
00003a9e: SWAP1
00003a9f: SWAP3
00003aa0: AND
00003aa1: DUP1
00003aa2: DUP6
00003aa3: MSTORE
00003aa4: SWAP2
00003aa5: SWAP1
00003aa6: SWAP3
00003aa7: MSTORE
00003aa8: SWAP1
00003aa9: DUP3
00003aaa: KECCAK256
00003aab: DUP1
00003aac: SLOAD
00003aad: SWAP1
00003aae: DUP4
00003aaf: SWAP1
00003ab0: SSTORE
00003ab1: PUSH1 0x01
00003ab3: SLOAD
00003ab4: SWAP2
00003ab5: SWAP4
00003ab6: POP
00003ab7: SWAP2
00003ab8: SWAP1
00003ab9: PUSH1 0x64
00003abb: SWAP1
00003abc: PUSH2 0x3ac5
00003abf: SWAP1
00003ac0: DUP3
00003ac1: PUSH2 0x49d8
00003ac4: JUMP
00003ac5: JUMPDEST
00003ac6: PUSH2 0x3acf
00003ac9: SWAP1
00003aca: DUP5
00003acb: PUSH2 0x49c1
00003ace: JUMP
00003acf: JUMPDEST
00003ad0: PUSH2 0x3ad9
00003ad3: SWAP2
00003ad4: SWAP1
00003ad5: PUSH2 0x4a08
00003ad8: JUMP
00003ad9: JUMPDEST
00003ada: SWAP1
00003adb: POP
00003adc: PUSH1 0x00
00003ade: PUSH2 0x3ae7
00003ae1: DUP3
00003ae2: DUP5
00003ae3: PUSH2 0x49d8
00003ae6: JUMP
00003ae7: JUMPDEST
00003ae8: PUSH1 0x0a
00003aea: SLOAD
00003aeb: SWAP1
00003aec: SWAP2
00003aed: POP
00003aee: PUSH2 0x3b04
00003af1: SWAP1
00003af2: PUSH1 0x01
00003af4: PUSH1 0x01
00003af6: PUSH1 0xa0
00003af8: SHL
00003af9: SUB
00003afa: DUP7
00003afb: DUP2
00003afc: AND
00003afd: SWAP2
00003afe: AND
00003aff: DUP4
00003b00: PUSH2 0x3cae
00003b03: JUMP
00003b04: JUMPDEST
00003b05: PUSH1 0x40
00003b07: DUP1
00003b08: DUP8
00003b09: ADD
00003b0a: MLOAD
00003b0b: PUSH1 0x01
00003b0d: PUSH1 0x01
00003b0f: PUSH1 0xa0
00003b11: SHL
00003b12: SUB
00003b13: SWAP1
00003b14: DUP2
00003b15: AND
00003b16: PUSH1 0x00
00003b18: SWAP1
00003b19: DUP2
00003b1a: MSTORE
00003b1b: PUSH1 0x0d
00003b1d: PUSH1 0x20
00003b1f: MSTORE
00003b20: SWAP2
00003b21: SWAP1
00003b22: SWAP2
00003b23: KECCAK256
00003b24: SLOAD
00003b25: AND
00003b26: DUP1
00003b27: ISZERO
00003b28: PUSH2 0x3bb9
00003b2b: JUMPI
00003b2c: PUSH1 0x00
00003b2e: PUSH1 0x64
00003b30: PUSH2 0x3b3a
00003b33: PUSH1 0x05
00003b35: DUP8
00003b36: PUSH2 0x49c1
00003b39: JUMP
00003b3a: JUMPDEST
00003b3b: PUSH2 0x3b44
00003b3e: SWAP2
00003b3f: SWAP1
00003b40: PUSH2 0x4a08
00003b43: JUMP
00003b44: JUMPDEST
00003b45: SWAP1
00003b46: POP
00003b47: PUSH2 0x3b5a
00003b4a: PUSH1 0x01
00003b4c: PUSH1 0x01
00003b4e: PUSH1 0xa0
00003b50: SHL
00003b51: SUB
00003b52: DUP8
00003b53: AND
00003b54: DUP4
00003b55: DUP4
00003b56: PUSH2 0x3cae
00003b59: JUMP
00003b5a: JUMPDEST
00003b5b: DUP2
00003b5c: PUSH1 0x01
00003b5e: PUSH1 0x01
00003b60: PUSH1 0xa0
00003b62: SHL
00003b63: SUB
00003b64: AND
00003b65: DUP9
00003b66: PUSH1 0x40
00003b68: ADD
00003b69: MLOAD
00003b6a: PUSH1 0x01
00003b6c: PUSH1 0x01
00003b6e: PUSH1 0xa0
00003b70: SHL
00003b71: SUB
00003b72: AND
00003b73: PUSH32 0x0a721ab4682ceb61c7e4d264ef879fc419a6d764b136e7d96ef54b2053c75673
00003b94: DUP4
00003b95: PUSH1 0x40
00003b97: MLOAD
00003b98: PUSH2 0x3ba3
00003b9b: SWAP2
00003b9c: DUP2
00003b9d: MSTORE
00003b9e: PUSH1 0x20
00003ba0: ADD
00003ba1: SWAP1
00003ba2: JUMP
00003ba3: JUMPDEST
00003ba4: PUSH1 0x40
00003ba6: MLOAD
00003ba7: DUP1
00003ba8: SWAP2
00003ba9: SUB
00003baa: SWAP1
00003bab: LOG3
00003bac: PUSH2 0x3bb5
00003baf: DUP2
00003bb0: DUP5
00003bb1: PUSH2 0x49d8
00003bb4: JUMP
00003bb5: JUMPDEST
00003bb6: SWAP3
00003bb7: POP
00003bb8: POP
00003bb9: JUMPDEST
00003bba: PUSH1 0x00
00003bbc: DUP1
00003bbd: JUMPDEST
00003bbe: DUP11
00003bbf: MLOAD
00003bc0: DUP2
00003bc1: LT
00003bc2: ISZERO
00003bc3: PUSH2 0x3c47
00003bc6: JUMPI
00003bc7: PUSH1 0x00
00003bc9: PUSH1 0x64
00003bcb: DUP12
00003bcc: DUP4
00003bcd: DUP2
00003bce: MLOAD
00003bcf: DUP2
00003bd0: LT
00003bd1: PUSH2 0x3bdc
00003bd4: JUMPI
00003bd5: PUSH2 0x3bdc
00003bd8: PUSH2 0x46e9
00003bdb: JUMP
00003bdc: JUMPDEST
00003bdd: PUSH1 0x20
00003bdf: MUL
00003be0: PUSH1 0x20
00003be2: ADD
00003be3: ADD
00003be4: MLOAD
00003be5: DUP8
00003be6: PUSH2 0x3bef
00003be9: SWAP2
00003bea: SWAP1
00003beb: PUSH2 0x49c1
00003bee: JUMP
00003bef: JUMPDEST
00003bf0: PUSH2 0x3bf9
00003bf3: SWAP2
00003bf4: SWAP1
00003bf5: PUSH2 0x4a08
00003bf8: JUMP
00003bf9: JUMPDEST
00003bfa: SWAP1
00003bfb: POP
00003bfc: PUSH2 0x3c32
00003bff: DUP13
00003c00: DUP4
00003c01: DUP2
00003c02: MLOAD
00003c03: DUP2
00003c04: LT
00003c05: PUSH2 0x3c10
00003c08: JUMPI
00003c09: PUSH2 0x3c10
00003c0c: PUSH2 0x46e9
00003c0f: JUMP
00003c10: JUMPDEST
00003c11: PUSH1 0x20
00003c13: MUL
00003c14: PUSH1 0x20
00003c16: ADD
00003c17: ADD
00003c18: MLOAD
00003c19: DUP3
00003c1a: DUP11
00003c1b: PUSH1 0x01
00003c1d: PUSH1 0x01
00003c1f: PUSH1 0xa0
00003c21: SHL
00003c22: SUB
00003c23: AND
00003c24: PUSH2 0x3cae
00003c27: SWAP1
00003c28: SWAP3
00003c29: SWAP2
00003c2a: SWAP1
00003c2b: PUSH4 0xffffffff
00003c30: AND
00003c31: JUMP
00003c32: JUMPDEST
00003c33: PUSH2 0x3c3c
00003c36: DUP2
00003c37: DUP5
00003c38: PUSH2 0x46bf
00003c3b: JUMP
00003c3c: JUMPDEST
00003c3d: SWAP3
00003c3e: POP
00003c3f: POP
00003c40: PUSH1 0x01
00003c42: ADD
00003c43: PUSH2 0x3bbd
00003c46: JUMP
00003c47: JUMPDEST
00003c48: POP
00003c49: PUSH1 0x00
00003c4b: PUSH2 0x3c54
00003c4e: DUP3
00003c4f: DUP7
00003c50: PUSH2 0x49d8
00003c53: JUMP
00003c54: JUMPDEST
00003c55: PUSH1 0x20
00003c57: DUP11
00003c58: ADD
00003c59: MLOAD
00003c5a: SWAP1
00003c5b: SWAP2
00003c5c: POP
00003c5d: PUSH2 0x3c71
00003c60: SWAP1
00003c61: PUSH1 0x01
00003c63: PUSH1 0x01
00003c65: PUSH1 0xa0
00003c67: SHL
00003c68: SUB
00003c69: DUP10
00003c6a: AND
00003c6b: SWAP1
00003c6c: DUP4
00003c6d: PUSH2 0x3cae
00003c70: JUMP
00003c71: JUMPDEST
00003c72: POP
00003c73: POP
00003c74: POP
00003c75: POP
00003c76: POP
00003c77: POP
00003c78: POP
00003c79: DUP1
00003c7a: PUSH1 0x01
00003c7c: ADD
00003c7d: SWAP1
00003c7e: POP
00003c7f: PUSH2 0x3a44
00003c82: JUMP
00003c83: JUMPDEST
00003c84: POP
00003c85: CALLER
00003c86: PUSH1 0x00
00003c88: SWAP1
00003c89: DUP2
00003c8a: MSTORE
00003c8b: PUSH1 0x10
00003c8d: PUSH1 0x20
00003c8f: MSTORE
00003c90: PUSH1 0x40
00003c92: DUP2
00003c93: KECCAK256
00003c94: DUP1
00003c95: SLOAD
00003c96: SWAP1
00003c97: SWAP2
00003c98: SWAP1
00003c99: PUSH2 0x3ca1
00003c9c: SWAP1
00003c9d: PUSH2 0x46d2
00003ca0: JUMP
00003ca1: JUMPDEST
00003ca2: SWAP1
00003ca3: SWAP2
00003ca4: SSTORE
00003ca5: POP
00003ca6: SWAP3
00003ca7: SWAP5
00003ca8: SWAP4
00003ca9: POP
00003caa: POP
00003cab: POP
00003cac: POP
00003cad: JUMP
00003cae: JUMPDEST
00003caf: PUSH1 0x40
00003cb1: MLOAD
00003cb2: PUSH1 0x01
00003cb4: PUSH1 0x01
00003cb6: PUSH1 0xa0
00003cb8: SHL
00003cb9: SUB
00003cba: DUP4
00003cbb: AND
00003cbc: PUSH1 0x24
00003cbe: DUP3
00003cbf: ADD
00003cc0: MSTORE
00003cc1: PUSH1 0x44
00003cc3: DUP2
00003cc4: ADD
00003cc5: DUP3
00003cc6: SWAP1
00003cc7: MSTORE
00003cc8: PUSH2 0x1ad6
00003ccb: SWAP1
00003ccc: DUP5
00003ccd: SWAP1
00003cce: PUSH4 0xa9059cbb
00003cd3: PUSH1 0xe0
00003cd5: SHL
00003cd6: SWAP1
00003cd7: PUSH1 0x64
00003cd9: ADD
00003cda: JUMPDEST
00003cdb: PUSH1 0x40
00003cdd: DUP1
00003cde: MLOAD
00003cdf: PUSH1 0x1f
00003ce1: NOT
00003ce2: DUP2
00003ce3: DUP5
00003ce4: SUB
00003ce5: ADD
00003ce6: DUP2
00003ce7: MSTORE
00003ce8: SWAP2
00003ce9: SWAP1
00003cea: MSTORE
00003ceb: PUSH1 0x20
00003ced: DUP2
00003cee: ADD
00003cef: DUP1
00003cf0: MLOAD
00003cf1: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003d0e: AND
00003d0f: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00003d30: SWAP1
00003d31: SWAP4
00003d32: AND
00003d33: SWAP3
00003d34: SWAP1
00003d35: SWAP3
00003d36: OR
00003d37: SWAP1
00003d38: SWAP2
00003d39: MSTORE
00003d3a: PUSH2 0x3f33
00003d3d: JUMP
00003d3e: JUMPDEST
00003d3f: PUSH2 0x3d53
00003d42: PUSH1 0x01
00003d44: PUSH1 0x01
00003d46: PUSH1 0xa0
00003d48: SHL
00003d49: SUB
00003d4a: DUP3
00003d4b: AND
00003d4c: CALLER
00003d4d: ADDRESS
00003d4e: DUP6
00003d4f: PUSH2 0x3edc
00003d52: JUMP
00003d53: JUMPDEST
00003d54: PUSH1 0x00
00003d56: DUP4
00003d57: DUP2
00003d58: MSTORE
00003d59: PUSH1 0x19
00003d5b: PUSH1 0x20
00003d5d: SWAP1
00003d5e: DUP2
00003d5f: MSTORE
00003d60: PUSH1 0x40
00003d62: DUP1
00003d63: DUP4
00003d64: KECCAK256
00003d65: PUSH1 0x01
00003d67: PUSH1 0x01
00003d69: PUSH1 0xa0
00003d6b: SHL
00003d6c: SUB
00003d6d: DUP6
00003d6e: AND
00003d6f: DUP5
00003d70: MSTORE
00003d71: SWAP1
00003d72: SWAP2
00003d73: MSTORE
00003d74: DUP2
00003d75: KECCAK256
00003d76: SLOAD
00003d77: SWAP1
00003d78: SUB
00003d79: PUSH2 0x3db4
00003d7c: JUMPI
00003d7d: PUSH1 0x00
00003d7f: DUP4
00003d80: DUP2
00003d81: MSTORE
00003d82: PUSH1 0x1a
00003d84: PUSH1 0x20
00003d86: SWAP1
00003d87: DUP2
00003d88: MSTORE
00003d89: PUSH1 0x40
00003d8b: DUP3
00003d8c: KECCAK256
00003d8d: DUP1
00003d8e: SLOAD
00003d8f: PUSH1 0x01
00003d91: DUP2
00003d92: ADD
00003d93: DUP3
00003d94: SSTORE
00003d95: SWAP1
00003d96: DUP4
00003d97: MSTORE
00003d98: SWAP2
00003d99: KECCAK256
00003d9a: ADD
00003d9b: DUP1
00003d9c: SLOAD
00003d9d: PUSH1 0x01
00003d9f: PUSH1 0x01
00003da1: PUSH1 0xa0
00003da3: SHL
00003da4: SUB
00003da5: NOT
00003da6: AND
00003da7: PUSH1 0x01
00003da9: PUSH1 0x01
00003dab: PUSH1 0xa0
00003dad: SHL
00003dae: SUB
00003daf: DUP4
00003db0: AND
00003db1: OR
00003db2: SWAP1
00003db3: SSTORE
00003db4: JUMPDEST
00003db5: PUSH1 0x00
00003db7: DUP4
00003db8: DUP2
00003db9: MSTORE
00003dba: PUSH1 0x19
00003dbc: PUSH1 0x20
00003dbe: SWAP1
00003dbf: DUP2
00003dc0: MSTORE
00003dc1: PUSH1 0x40
00003dc3: DUP1
00003dc4: DUP4
00003dc5: KECCAK256
00003dc6: PUSH1 0x01
00003dc8: PUSH1 0x01
00003dca: PUSH1 0xa0
00003dcc: SHL
00003dcd: SUB
00003dce: DUP6
00003dcf: AND
00003dd0: DUP5
00003dd1: MSTORE
00003dd2: SWAP1
00003dd3: SWAP2
00003dd4: MSTORE
00003dd5: DUP2
00003dd6: KECCAK256
00003dd7: DUP1
00003dd8: SLOAD
00003dd9: DUP5
00003dda: SWAP3
00003ddb: SWAP1
00003ddc: PUSH2 0x3de6
00003ddf: SWAP1
00003de0: DUP5
00003de1: SWAP1
00003de2: PUSH2 0x46bf
00003de5: JUMP
00003de6: JUMPDEST
00003de7: SWAP1
00003de8: SWAP2
00003de9: SSTORE
00003dea: POP
00003deb: POP
00003dec: PUSH1 0x40
00003dee: MLOAD
00003def: DUP3
00003df0: DUP2
00003df1: MSTORE
00003df2: DUP4
00003df3: SWAP1
00003df4: PUSH1 0x01
00003df6: PUSH1 0x01
00003df8: PUSH1 0xa0
00003dfa: SHL
00003dfb: SUB
00003dfc: DUP4
00003dfd: AND
00003dfe: SWAP1
00003dff: PUSH32 0x05fd9f298229187174fe5cb048a207631aa73738f574b2c2a7b8dcd6da9957e6
00003e20: SWAP1
00003e21: PUSH1 0x20
00003e23: ADD
00003e24: PUSH1 0x40
00003e26: MLOAD
00003e27: DUP1
00003e28: SWAP2
00003e29: SUB
00003e2a: SWAP1
00003e2b: LOG3
00003e2c: POP
00003e2d: POP
00003e2e: POP
00003e2f: JUMP
00003e30: JUMPDEST
00003e31: PUSH1 0x00
00003e33: JUMPDEST
00003e34: PUSH1 0x00
00003e36: DUP4
00003e37: DUP2
00003e38: MSTORE
00003e39: PUSH1 0x1a
00003e3b: PUSH1 0x20
00003e3d: MSTORE
00003e3e: PUSH1 0x40
00003e40: SWAP1
00003e41: KECCAK256
00003e42: SLOAD
00003e43: DUP2
00003e44: LT
00003e45: ISZERO
00003e46: PUSH2 0x3ebb
00003e49: JUMPI
00003e4a: PUSH1 0x00
00003e4c: DUP4
00003e4d: DUP2
00003e4e: MSTORE
00003e4f: PUSH1 0x1a
00003e51: PUSH1 0x20
00003e53: MSTORE
00003e54: PUSH1 0x40
00003e56: DUP2
00003e57: KECCAK256
00003e58: DUP1
00003e59: SLOAD
00003e5a: DUP4
00003e5b: SWAP1
00003e5c: DUP2
00003e5d: LT
00003e5e: PUSH2 0x3e69
00003e61: JUMPI
00003e62: PUSH2 0x3e69
00003e65: PUSH2 0x46e9
00003e68: JUMP
00003e69: JUMPDEST
00003e6a: PUSH1 0x00
00003e6c: SWAP2
00003e6d: DUP3
00003e6e: MSTORE
00003e6f: PUSH1 0x20
00003e71: DUP1
00003e72: DUP4
00003e73: KECCAK256
00003e74: SWAP1
00003e75: SWAP2
00003e76: ADD
00003e77: SLOAD
00003e78: DUP7
00003e79: DUP4
00003e7a: MSTORE
00003e7b: PUSH1 0x19
00003e7d: DUP1
00003e7e: DUP4
00003e7f: MSTORE
00003e80: PUSH1 0x40
00003e82: DUP1
00003e83: DUP6
00003e84: KECCAK256
00003e85: PUSH1 0x01
00003e87: PUSH1 0x01
00003e89: PUSH1 0xa0
00003e8b: SHL
00003e8c: SUB
00003e8d: SWAP1
00003e8e: SWAP4
00003e8f: AND
00003e90: DUP1
00003e91: DUP7
00003e92: MSTORE
00003e93: SWAP3
00003e94: DUP5
00003e95: MSTORE
00003e96: DUP1
00003e97: DUP6
00003e98: KECCAK256
00003e99: DUP1
00003e9a: SLOAD
00003e9b: SWAP1
00003e9c: DUP7
00003e9d: SWAP1
00003e9e: SSTORE
00003e9f: DUP9
00003ea0: DUP7
00003ea1: MSTORE
00003ea2: SWAP2
00003ea3: DUP5
00003ea4: MSTORE
00003ea5: DUP1
00003ea6: DUP6
00003ea7: KECCAK256
00003ea8: SWAP3
00003ea9: DUP6
00003eaa: MSTORE
00003eab: SWAP2
00003eac: SWAP1
00003ead: SWAP3
00003eae: MSTORE
00003eaf: SWAP1
00003eb0: SWAP2
00003eb1: KECCAK256
00003eb2: SSTORE
00003eb3: POP
00003eb4: PUSH1 0x01
00003eb6: ADD
00003eb7: PUSH2 0x3e33
00003eba: JUMP
00003ebb: JUMPDEST
00003ebc: POP
00003ebd: PUSH1 0x00
00003ebf: DUP3
00003ec0: DUP2
00003ec1: MSTORE
00003ec2: PUSH1 0x1a
00003ec4: PUSH1 0x20
00003ec6: MSTORE
00003ec7: PUSH1 0x40
00003ec9: DUP1
00003eca: DUP3
00003ecb: KECCAK256
00003ecc: DUP4
00003ecd: DUP4
00003ece: MSTORE
00003ecf: SWAP2
00003ed0: KECCAK256
00003ed1: DUP2
00003ed2: SLOAD
00003ed3: PUSH2 0x1ad6
00003ed6: SWAP3
00003ed7: SWAP1
00003ed8: PUSH2 0x415c
00003edb: JUMP
00003edc: JUMPDEST
00003edd: PUSH1 0x40
00003edf: MLOAD
00003ee0: PUSH1 0x01
00003ee2: PUSH1 0x01
00003ee4: PUSH1 0xa0
00003ee6: SHL
00003ee7: SUB
00003ee8: DUP1
00003ee9: DUP6
00003eea: AND
00003eeb: PUSH1 0x24
00003eed: DUP4
00003eee: ADD
00003eef: MSTORE
00003ef0: DUP4
00003ef1: AND
00003ef2: PUSH1 0x44
00003ef4: DUP3
00003ef5: ADD
00003ef6: MSTORE
00003ef7: PUSH1 0x64
00003ef9: DUP2
00003efa: ADD
00003efb: DUP3
00003efc: SWAP1
00003efd: MSTORE
00003efe: PUSH2 0x3f2d
00003f01: SWAP1
00003f02: DUP6
00003f03: SWAP1
00003f04: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
00003f25: SWAP1
00003f26: PUSH1 0x84
00003f28: ADD
00003f29: PUSH2 0x3cda
00003f2c: JUMP
00003f2d: JUMPDEST
00003f2e: POP
00003f2f: POP
00003f30: POP
00003f31: POP
00003f32: JUMP
00003f33: JUMPDEST
00003f34: PUSH1 0x00
00003f36: PUSH2 0x3f88
00003f39: DUP3
00003f3a: PUSH1 0x40
00003f3c: MLOAD
00003f3d: DUP1
00003f3e: PUSH1 0x40
00003f40: ADD
00003f41: PUSH1 0x40
00003f43: MSTORE
00003f44: DUP1
00003f45: PUSH1 0x20
00003f47: DUP2
00003f48: MSTORE
00003f49: PUSH1 0x20
00003f4b: ADD
00003f4c: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00003f6d: DUP2
00003f6e: MSTORE
00003f6f: POP
00003f70: DUP6
00003f71: PUSH1 0x01
00003f73: PUSH1 0x01
00003f75: PUSH1 0xa0
00003f77: SHL
00003f78: SUB
00003f79: AND
00003f7a: PUSH2 0x401b
00003f7d: SWAP1
00003f7e: SWAP3
00003f7f: SWAP2
00003f80: SWAP1
00003f81: PUSH4 0xffffffff
00003f86: AND
00003f87: JUMP
00003f88: JUMPDEST
00003f89: SWAP1
00003f8a: POP
00003f8b: DUP1
00003f8c: MLOAD
00003f8d: PUSH1 0x00
00003f8f: EQ
00003f90: DUP1
00003f91: PUSH2 0x3fa9
00003f94: JUMPI
00003f95: POP
00003f96: DUP1
00003f97: DUP1
00003f98: PUSH1 0x20
00003f9a: ADD
00003f9b: SWAP1
00003f9c: MLOAD
00003f9d: DUP2
00003f9e: ADD
00003f9f: SWAP1
00003fa0: PUSH2 0x3fa9
00003fa3: SWAP2
00003fa4: SWAP1
00003fa5: PUSH2 0x49eb
00003fa8: JUMP
00003fa9: JUMPDEST
00003faa: PUSH2 0x1ad6
00003fad: JUMPI
00003fae: PUSH1 0x40
00003fb0: MLOAD
00003fb1: PUSH3 0x461bcd
00003fb5: PUSH1 0xe5
00003fb7: SHL
00003fb8: DUP2
00003fb9: MSTORE
00003fba: PUSH1 0x20
00003fbc: PUSH1 0x04
00003fbe: DUP3
00003fbf: ADD
00003fc0: MSTORE
00003fc1: PUSH1 0x2a
00003fc3: PUSH1 0x24
00003fc5: DUP3
00003fc6: ADD
00003fc7: MSTORE
00003fc8: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00003fe9: PUSH1 0x44
00003feb: DUP3
00003fec: ADD
00003fed: MSTORE
00003fee: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000
0000400f: PUSH1 0x64
00004011: DUP3
00004012: ADD
00004013: MSTORE
00004014: PUSH1 0x84
00004016: ADD
00004017: PUSH2 0x3776
0000401a: JUMP
0000401b: JUMPDEST
0000401c: PUSH1 0x60
0000401e: PUSH2 0x1fc7
00004021: DUP5
00004022: DUP5
00004023: PUSH1 0x00
00004025: DUP6
00004026: DUP6
00004027: PUSH1 0x00
00004029: DUP1
0000402a: DUP7
0000402b: PUSH1 0x01
0000402d: PUSH1 0x01
0000402f: PUSH1 0xa0
00004031: SHL
00004032: SUB
00004033: AND
00004034: DUP6
00004035: DUP8
00004036: PUSH1 0x40
00004038: MLOAD
00004039: PUSH2 0x4042
0000403c: SWAP2
0000403d: SWAP1
0000403e: PUSH2 0x4a2a
00004041: JUMP
00004042: JUMPDEST
00004043: PUSH1 0x00
00004045: PUSH1 0x40
00004047: MLOAD
00004048: DUP1
00004049: DUP4
0000404a: SUB
0000404b: DUP2
0000404c: DUP6
0000404d: DUP8
0000404e: GAS
0000404f: CALL
00004050: SWAP3
00004051: POP
00004052: POP
00004053: POP
00004054: RETURNDATASIZE
00004055: DUP1
00004056: PUSH1 0x00
00004058: DUP2
00004059: EQ
0000405a: PUSH2 0x407f
0000405d: JUMPI
0000405e: PUSH1 0x40
00004060: MLOAD
00004061: SWAP2
00004062: POP
00004063: PUSH1 0x1f
00004065: NOT
00004066: PUSH1 0x3f
00004068: RETURNDATASIZE
00004069: ADD
0000406a: AND
0000406b: DUP3
0000406c: ADD
0000406d: PUSH1 0x40
0000406f: MSTORE
00004070: RETURNDATASIZE
00004071: DUP3
00004072: MSTORE
00004073: RETURNDATASIZE
00004074: PUSH1 0x00
00004076: PUSH1 0x20
00004078: DUP5
00004079: ADD
0000407a: RETURNDATACOPY
0000407b: PUSH2 0x4084
0000407e: JUMP
0000407f: JUMPDEST
00004080: PUSH1 0x60
00004082: SWAP2
00004083: POP
00004084: JUMPDEST
00004085: POP
00004086: SWAP2
00004087: POP
00004088: SWAP2
00004089: POP
0000408a: PUSH2 0x4095
0000408d: DUP8
0000408e: DUP4
0000408f: DUP4
00004090: DUP8
00004091: PUSH2 0x40a0
00004094: JUMP
00004095: JUMPDEST
00004096: SWAP8
00004097: SWAP7
00004098: POP
00004099: POP
0000409a: POP
0000409b: POP
0000409c: POP
0000409d: POP
0000409e: POP
0000409f: JUMP
000040a0: JUMPDEST
000040a1: PUSH1 0x60
000040a3: DUP4
000040a4: ISZERO
000040a5: PUSH2 0x410f
000040a8: JUMPI
000040a9: DUP3
000040aa: MLOAD
000040ab: PUSH1 0x00
000040ad: SUB
000040ae: PUSH2 0x4108
000040b1: JUMPI
000040b2: PUSH1 0x01
000040b4: PUSH1 0x01
000040b6: PUSH1 0xa0
000040b8: SHL
000040b9: SUB
000040ba: DUP6
000040bb: AND
000040bc: EXTCODESIZE
000040bd: PUSH2 0x4108
000040c0: JUMPI
000040c1: PUSH1 0x40
000040c3: MLOAD
000040c4: PUSH3 0x461bcd
000040c8: PUSH1 0xe5
000040ca: SHL
000040cb: DUP2
000040cc: MSTORE
000040cd: PUSH1 0x20
000040cf: PUSH1 0x04
000040d1: DUP3
000040d2: ADD
000040d3: MSTORE
000040d4: PUSH1 0x1d
000040d6: PUSH1 0x24
000040d8: DUP3
000040d9: ADD
000040da: MSTORE
000040db: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
000040fc: PUSH1 0x44
000040fe: DUP3
000040ff: ADD
00004100: MSTORE
00004101: PUSH1 0x64
00004103: ADD
00004104: PUSH2 0x3776
00004107: JUMP
00004108: JUMPDEST
00004109: POP
0000410a: DUP2
0000410b: PUSH2 0x1fc7
0000410e: JUMP
0000410f: JUMPDEST
00004110: PUSH2 0x1fc7
00004113: DUP4
00004114: DUP4
00004115: DUP2
00004116: MLOAD
00004117: ISZERO
00004118: PUSH2 0x4124
0000411b: JUMPI
0000411c: DUP2
0000411d: MLOAD
0000411e: DUP1
0000411f: DUP4
00004120: PUSH1 0x20
00004122: ADD
00004123: REVERT
00004124: JUMPDEST
00004125: DUP1
00004126: PUSH1 0x40
00004128: MLOAD
00004129: PUSH3 0x461bcd
0000412d: PUSH1 0xe5
0000412f: SHL
00004130: DUP2
00004131: MSTORE
00004132: PUSH1 0x04
00004134: ADD
00004135: PUSH2 0x3776
00004138: SWAP2
00004139: SWAP1
0000413a: PUSH2 0x4a46
0000413d: JUMP
0000413e: JUMPDEST
0000413f: PUSH1 0x40
00004141: MLOAD
00004142: DUP1
00004143: PUSH1 0x80
00004145: ADD
00004146: PUSH1 0x40
00004148: MSTORE
00004149: DUP1
0000414a: PUSH1 0x04
0000414c: SWAP1
0000414d: PUSH1 0x20
0000414f: DUP3
00004150: MUL
00004151: DUP1
00004152: CALLDATASIZE
00004153: DUP4
00004154: CALLDATACOPY
00004155: POP
00004156: SWAP2
00004157: SWAP3
00004158: SWAP2
00004159: POP
0000415a: POP
0000415b: JUMP
0000415c: JUMPDEST
0000415d: DUP3
0000415e: DUP1
0000415f: SLOAD
00004160: DUP3
00004161: DUP3
00004162: SSTORE
00004163: SWAP1
00004164: PUSH1 0x00
00004166: MSTORE
00004167: PUSH1 0x20
00004169: PUSH1 0x00
0000416b: KECCAK256
0000416c: SWAP1
0000416d: DUP2
0000416e: ADD
0000416f: SWAP3
00004170: DUP3
00004171: ISZERO
00004172: PUSH2 0x419c
00004175: JUMPI
00004176: PUSH1 0x00
00004178: MSTORE
00004179: PUSH1 0x20
0000417b: PUSH1 0x00
0000417d: KECCAK256
0000417e: SWAP2
0000417f: DUP3
00004180: ADD
00004181: JUMPDEST
00004182: DUP3
00004183: DUP2
00004184: GT
00004185: ISZERO
00004186: PUSH2 0x419c
00004189: JUMPI
0000418a: DUP3
0000418b: SLOAD
0000418c: DUP3
0000418d: SSTORE
0000418e: SWAP2
0000418f: PUSH1 0x01
00004191: ADD
00004192: SWAP2
00004193: SWAP1
00004194: PUSH1 0x01
00004196: ADD
00004197: SWAP1
00004198: PUSH2 0x4181
0000419b: JUMP
0000419c: JUMPDEST
0000419d: POP
0000419e: PUSH2 0x41a8
000041a1: SWAP3
000041a2: SWAP2
000041a3: POP
000041a4: PUSH2 0x4254
000041a7: JUMP
000041a8: JUMPDEST
000041a9: POP
000041aa: SWAP1
000041ab: JUMP
000041ac: JUMPDEST
000041ad: DUP3
000041ae: DUP1
000041af: SLOAD
000041b0: DUP3
000041b1: DUP3
000041b2: SSTORE
000041b3: SWAP1
000041b4: PUSH1 0x00
000041b6: MSTORE
000041b7: PUSH1 0x20
000041b9: PUSH1 0x00
000041bb: KECCAK256
000041bc: SWAP1
000041bd: DUP2
000041be: ADD
000041bf: SWAP3
000041c0: DUP3
000041c1: ISZERO
000041c2: PUSH2 0x419c
000041c5: JUMPI
000041c6: SWAP2
000041c7: PUSH1 0x20
000041c9: MUL
000041ca: DUP3
000041cb: ADD
000041cc: JUMPDEST
000041cd: DUP3
000041ce: DUP2
000041cf: GT
000041d0: ISZERO
000041d1: PUSH2 0x419c
000041d4: JUMPI
000041d5: DUP2
000041d6: SLOAD
000041d7: PUSH1 0x01
000041d9: PUSH1 0x01
000041db: PUSH1 0xa0
000041dd: SHL
000041de: SUB
000041df: NOT
000041e0: AND
000041e1: PUSH1 0x01
000041e3: PUSH1 0x01
000041e5: PUSH1 0xa0
000041e7: SHL
000041e8: SUB
000041e9: DUP5
000041ea: CALLDATALOAD
000041eb: AND
000041ec: OR
000041ed: DUP3
000041ee: SSTORE
000041ef: PUSH1 0x20
000041f1: SWAP1
000041f2: SWAP3
000041f3: ADD
000041f4: SWAP2
000041f5: PUSH1 0x01
000041f7: SWAP1
000041f8: SWAP2
000041f9: ADD
000041fa: SWAP1
000041fb: PUSH2 0x41cc
000041fe: JUMP
000041ff: JUMPDEST
00004200: DUP3
00004201: DUP1
00004202: SLOAD
00004203: DUP3
00004204: DUP3
00004205: SSTORE
00004206: SWAP1
00004207: PUSH1 0x00
00004209: MSTORE
0000420a: PUSH1 0x20
0000420c: PUSH1 0x00
0000420e: KECCAK256
0000420f: SWAP1
00004210: DUP2
00004211: ADD
00004212: SWAP3
00004213: DUP3
00004214: ISZERO
00004215: PUSH2 0x419c
00004218: JUMPI
00004219: SWAP2
0000421a: PUSH1 0x20
0000421c: MUL
0000421d: DUP3
0000421e: ADD
0000421f: JUMPDEST
00004220: DUP3
00004221: DUP2
00004222: GT
00004223: ISZERO
00004224: PUSH2 0x419c
00004227: JUMPI
00004228: DUP3
00004229: MLOAD
0000422a: DUP3
0000422b: SLOAD
0000422c: PUSH1 0x01
0000422e: PUSH1 0x01
00004230: PUSH1 0xa0
00004232: SHL
00004233: SUB
00004234: NOT
00004235: AND
00004236: PUSH1 0x01
00004238: PUSH1 0x01
0000423a: PUSH1 0xa0
0000423c: SHL
0000423d: SUB
0000423e: SWAP1
0000423f: SWAP2
00004240: AND
00004241: OR
00004242: DUP3
00004243: SSTORE
00004244: PUSH1 0x20
00004246: SWAP1
00004247: SWAP3
00004248: ADD
00004249: SWAP2
0000424a: PUSH1 0x01
0000424c: SWAP1
0000424d: SWAP2
0000424e: ADD
0000424f: SWAP1
00004250: PUSH2 0x421f
00004253: JUMP
00004254: JUMPDEST
00004255: JUMPDEST
00004256: DUP1
00004257: DUP3
00004258: GT
00004259: ISZERO
0000425a: PUSH2 0x41a8
0000425d: JUMPI
0000425e: PUSH1 0x00
00004260: DUP2
00004261: SSTORE
00004262: PUSH1 0x01
00004264: ADD
00004265: PUSH2 0x4255
00004268: JUMP
00004269: JUMPDEST
0000426a: PUSH1 0x00
0000426c: PUSH1 0x20
0000426e: DUP3
0000426f: DUP5
00004270: SUB
00004271: SLT
00004272: ISZERO
00004273: PUSH2 0x427b
00004276: JUMPI
00004277: PUSH1 0x00
00004279: DUP1
0000427a: REVERT
0000427b: JUMPDEST
0000427c: POP
0000427d: CALLDATALOAD
0000427e: SWAP2
0000427f: SWAP1
00004280: POP
00004281: JUMP
00004282: JUMPDEST
00004283: PUSH1 0x01
00004285: PUSH1 0x01
00004287: PUSH1 0xa0
00004289: SHL
0000428a: SUB
0000428b: DUP2
0000428c: AND
0000428d: DUP2
0000428e: EQ
0000428f: PUSH2 0x124c
00004292: JUMPI
00004293: PUSH1 0x00
00004295: DUP1
00004296: REVERT
00004297: JUMPDEST
00004298: PUSH1 0x00
0000429a: DUP1
0000429b: PUSH1 0x00
0000429d: PUSH1 0x60
0000429f: DUP5
000042a0: DUP7
000042a1: SUB
000042a2: SLT
000042a3: ISZERO
000042a4: PUSH2 0x42ac
000042a7: JUMPI
000042a8: PUSH1 0x00
000042aa: DUP1
000042ab: REVERT
000042ac: JUMPDEST
000042ad: DUP4
000042ae: CALLDATALOAD
000042af: SWAP3
000042b0: POP
000042b1: PUSH1 0x20
000042b3: DUP5
000042b4: ADD
000042b5: CALLDATALOAD
000042b6: PUSH2 0x42be
000042b9: DUP2
000042ba: PUSH2 0x4282
000042bd: JUMP
000042be: JUMPDEST
000042bf: SWAP3
000042c0: SWAP6
000042c1: SWAP3
000042c2: SWAP5
000042c3: POP
000042c4: POP
000042c5: POP
000042c6: PUSH1 0x40
000042c8: SWAP2
000042c9: SWAP1
000042ca: SWAP2
000042cb: ADD
000042cc: CALLDATALOAD
000042cd: SWAP1
000042ce: JUMP
000042cf: JUMPDEST
000042d0: PUSH1 0x00
000042d2: DUP1
000042d3: PUSH1 0x40
000042d5: DUP4
000042d6: DUP6
000042d7: SUB
000042d8: SLT
000042d9: ISZERO
000042da: PUSH2 0x42e2
000042dd: JUMPI
000042de: PUSH1 0x00
000042e0: DUP1
000042e1: REVERT
000042e2: JUMPDEST
000042e3: DUP3
000042e4: CALLDATALOAD
000042e5: SWAP2
000042e6: POP
000042e7: PUSH1 0x20
000042e9: DUP4
000042ea: ADD
000042eb: CALLDATALOAD
000042ec: PUSH2 0x42f4
000042ef: DUP2
000042f0: PUSH2 0x4282
000042f3: JUMP
000042f4: JUMPDEST
000042f5: DUP1
000042f6: SWAP2
000042f7: POP
000042f8: POP
000042f9: SWAP3
000042fa: POP
000042fb: SWAP3
000042fc: SWAP1
000042fd: POP
000042fe: JUMP
000042ff: JUMPDEST
00004300: PUSH1 0x00
00004302: PUSH1 0x20
00004304: DUP3
00004305: DUP5
00004306: SUB
00004307: SLT
00004308: ISZERO
00004309: PUSH2 0x4311
0000430c: JUMPI
0000430d: PUSH1 0x00
0000430f: DUP1
00004310: REVERT
00004311: JUMPDEST
00004312: DUP2
00004313: CALLDATALOAD
00004314: PUSH2 0x0f3a
00004317: DUP2
00004318: PUSH2 0x4282
0000431b: JUMP
0000431c: JUMPDEST
0000431d: PUSH1 0x00
0000431f: DUP1
00004320: PUSH1 0x40
00004322: DUP4
00004323: DUP6
00004324: SUB
00004325: SLT
00004326: ISZERO
00004327: PUSH2 0x432f
0000432a: JUMPI
0000432b: PUSH1 0x00
0000432d: DUP1
0000432e: REVERT
0000432f: JUMPDEST
00004330: DUP3
00004331: CALLDATALOAD
00004332: PUSH2 0x433a
00004335: DUP2
00004336: PUSH2 0x4282
00004339: JUMP
0000433a: JUMPDEST
0000433b: SWAP5
0000433c: PUSH1 0x20
0000433e: SWAP4
0000433f: SWAP1
00004340: SWAP4
00004341: ADD
00004342: CALLDATALOAD
00004343: SWAP4
00004344: POP
00004345: POP
00004346: POP
00004347: JUMP
00004348: JUMPDEST
00004349: PUSH1 0x00
0000434b: DUP1
0000434c: PUSH1 0x40
0000434e: DUP4
0000434f: DUP6
00004350: SUB
00004351: SLT
00004352: ISZERO
00004353: PUSH2 0x435b
00004356: JUMPI
00004357: PUSH1 0x00
00004359: DUP1
0000435a: REVERT
0000435b: JUMPDEST
0000435c: POP
0000435d: POP
0000435e: DUP1
0000435f: CALLDATALOAD
00004360: SWAP3
00004361: PUSH1 0x20
00004363: SWAP1
00004364: SWAP2
00004365: ADD
00004366: CALLDATALOAD
00004367: SWAP2
00004368: POP
00004369: JUMP
0000436a: JUMPDEST
0000436b: PUSH4 0x4e487b71
00004370: PUSH1 0xe0
00004372: SHL
00004373: PUSH1 0x00
00004375: MSTORE
00004376: PUSH1 0x21
00004378: PUSH1 0x04
0000437a: MSTORE
0000437b: PUSH1 0x24
0000437d: PUSH1 0x00
0000437f: REVERT
00004380: JUMPDEST
00004381: PUSH1 0x05
00004383: DUP2
00004384: LT
00004385: PUSH2 0x439e
00004388: JUMPI
00004389: PUSH4 0x4e487b71
0000438e: PUSH1 0xe0
00004390: SHL
00004391: PUSH1 0x00
00004393: MSTORE
00004394: PUSH1 0x21
00004396: PUSH1 0x04
00004398: MSTORE
00004399: PUSH1 0x24
0000439b: PUSH1 0x00
0000439d: REVERT
0000439e: JUMPDEST
0000439f: SWAP1
000043a0: MSTORE
000043a1: JUMP
000043a2: JUMPDEST
000043a3: PUSH1 0x20
000043a5: DUP2
000043a6: ADD
000043a7: PUSH2 0x43b0
000043aa: DUP3
000043ab: DUP5
000043ac: PUSH2 0x4380
000043af: JUMP
000043b0: JUMPDEST
000043b1: SWAP3
000043b2: SWAP2
000043b3: POP
000043b4: POP
000043b5: JUMP
000043b6: JUMPDEST
000043b7: PUSH1 0x00
000043b9: DUP1
000043ba: PUSH1 0x00
000043bc: PUSH1 0x60
000043be: DUP5
000043bf: DUP7
000043c0: SUB
000043c1: SLT
000043c2: ISZERO
000043c3: PUSH2 0x43cb
000043c6: JUMPI
000043c7: PUSH1 0x00
000043c9: DUP1
000043ca: REVERT
000043cb: JUMPDEST
000043cc: DUP4
000043cd: CALLDATALOAD
000043ce: SWAP3
000043cf: POP
000043d0: PUSH1 0x20
000043d2: DUP5
000043d3: ADD
000043d4: CALLDATALOAD
000043d5: SWAP2
000043d6: POP
000043d7: PUSH1 0x40
000043d9: DUP5
000043da: ADD
000043db: CALLDATALOAD
000043dc: PUSH2 0x43e4
000043df: DUP2
000043e0: PUSH2 0x4282
000043e3: JUMP
000043e4: JUMPDEST
000043e5: DUP1
000043e6: SWAP2
000043e7: POP
000043e8: POP
000043e9: SWAP3
000043ea: POP
000043eb: SWAP3
000043ec: POP
000043ed: SWAP3
000043ee: JUMP
000043ef: JUMPDEST
000043f0: PUSH1 0x80
000043f2: DUP2
000043f3: ADD
000043f4: DUP2
000043f5: DUP4
000043f6: PUSH1 0x00
000043f8: JUMPDEST
000043f9: PUSH1 0x04
000043fb: DUP2
000043fc: LT
000043fd: ISZERO
000043fe: PUSH2 0x4417
00004401: JUMPI
00004402: DUP2
00004403: MLOAD
00004404: DUP4
00004405: MSTORE
00004406: PUSH1 0x20
00004408: SWAP3
00004409: DUP4
0000440a: ADD
0000440b: SWAP3
0000440c: SWAP1
0000440d: SWAP2
0000440e: ADD
0000440f: SWAP1
00004410: PUSH1 0x01
00004412: ADD
00004413: PUSH2 0x43f8
00004416: JUMP
00004417: JUMPDEST
00004418: POP
00004419: POP
0000441a: POP
0000441b: SWAP3
0000441c: SWAP2
0000441d: POP
0000441e: POP
0000441f: JUMP
00004420: JUMPDEST
00004421: PUSH1 0x00
00004423: DUP1
00004424: PUSH1 0x00
00004426: DUP1
00004427: PUSH1 0x60
00004429: DUP6
0000442a: DUP8
0000442b: SUB
0000442c: SLT
0000442d: ISZERO
0000442e: PUSH2 0x4436
00004431: JUMPI
00004432: PUSH1 0x00
00004434: DUP1
00004435: REVERT
00004436: JUMPDEST
00004437: DUP5
00004438: CALLDATALOAD
00004439: PUSH8 0xffffffffffffffff
00004442: DUP2
00004443: GT
00004444: ISZERO
00004445: PUSH2 0x444d
00004448: JUMPI
00004449: PUSH1 0x00
0000444b: DUP1
0000444c: REVERT
0000444d: JUMPDEST
0000444e: DUP6
0000444f: ADD
00004450: PUSH1 0x1f
00004452: DUP2
00004453: ADD
00004454: DUP8
00004455: SGT
00004456: PUSH2 0x445e
00004459: JUMPI
0000445a: PUSH1 0x00
0000445c: DUP1
0000445d: REVERT
0000445e: JUMPDEST
0000445f: DUP1
00004460: CALLDATALOAD
00004461: PUSH8 0xffffffffffffffff
0000446a: DUP2
0000446b: GT
0000446c: ISZERO
0000446d: PUSH2 0x4475
00004470: JUMPI
00004471: PUSH1 0x00
00004473: DUP1
00004474: REVERT
00004475: JUMPDEST
00004476: DUP8
00004477: PUSH1 0x20
00004479: DUP3
0000447a: PUSH1 0x05
0000447c: SHL
0000447d: DUP5
0000447e: ADD
0000447f: ADD
00004480: GT
00004481: ISZERO
00004482: PUSH2 0x448a
00004485: JUMPI
00004486: PUSH1 0x00
00004488: DUP1
00004489: REVERT
0000448a: JUMPDEST
0000448b: PUSH1 0x20
0000448d: SWAP2
0000448e: DUP3
0000448f: ADD
00004490: SWAP9
00004491: SWAP1
00004492: SWAP8
00004493: POP
00004494: SWAP1
00004495: DUP7
00004496: ADD
00004497: CALLDATALOAD
00004498: SWAP6
00004499: PUSH1 0x40
0000449b: ADD
0000449c: CALLDATALOAD
0000449d: SWAP5
0000449e: POP
0000449f: SWAP3
000044a0: POP
000044a1: POP
000044a2: POP
000044a3: JUMP
000044a4: JUMPDEST
000044a5: PUSH1 0x00
000044a7: JUMPDEST
000044a8: DUP4
000044a9: DUP2
000044aa: LT
000044ab: ISZERO
000044ac: PUSH2 0x44bf
000044af: JUMPI
000044b0: DUP2
000044b1: DUP2
000044b2: ADD
000044b3: MLOAD
000044b4: DUP4
000044b5: DUP3
000044b6: ADD
000044b7: MSTORE
000044b8: PUSH1 0x20
000044ba: ADD
000044bb: PUSH2 0x44a7
000044be: JUMP
000044bf: JUMPDEST
000044c0: POP
000044c1: POP
000044c2: PUSH1 0x00
000044c4: SWAP2
000044c5: ADD
000044c6: MSTORE
000044c7: JUMP
000044c8: JUMPDEST
000044c9: PUSH1 0x00
000044cb: DUP2
000044cc: MLOAD
000044cd: DUP1
000044ce: DUP5
000044cf: MSTORE
000044d0: PUSH2 0x44e0
000044d3: DUP2
000044d4: PUSH1 0x20
000044d6: DUP7
000044d7: ADD
000044d8: PUSH1 0x20
000044da: DUP7
000044db: ADD
000044dc: PUSH2 0x44a4
000044df: JUMP
000044e0: JUMPDEST
000044e1: PUSH1 0x1f
000044e3: ADD
000044e4: PUSH1 0x1f
000044e6: NOT
000044e7: AND
000044e8: SWAP3
000044e9: SWAP1
000044ea: SWAP3
000044eb: ADD
000044ec: PUSH1 0x20
000044ee: ADD
000044ef: SWAP3
000044f0: SWAP2
000044f1: POP
000044f2: POP
000044f3: JUMP
000044f4: JUMPDEST
000044f5: PUSH1 0x01
000044f7: PUSH1 0x01
000044f9: PUSH1 0xa0
000044fb: SHL
000044fc: SUB
000044fd: DUP9
000044fe: AND
000044ff: DUP2
00004500: MSTORE
00004501: PUSH1 0x01
00004503: PUSH1 0x01
00004505: PUSH1 0xa0
00004507: SHL
00004508: SUB
00004509: DUP8
0000450a: AND
0000450b: PUSH1 0x20
0000450d: DUP3
0000450e: ADD
0000450f: MSTORE
00004510: PUSH2 0x451c
00004513: PUSH1 0x40
00004515: DUP3
00004516: ADD
00004517: DUP8
00004518: PUSH2 0x4380
0000451b: JUMP
0000451c: JUMPDEST
0000451d: PUSH1 0xe0
0000451f: PUSH1 0x60
00004521: DUP3
00004522: ADD
00004523: MSTORE
00004524: PUSH1 0x00
00004526: PUSH2 0x4532
00004529: PUSH1 0xe0
0000452b: DUP4
0000452c: ADD
0000452d: DUP8
0000452e: PUSH2 0x44c8
00004531: JUMP
00004532: JUMPDEST
00004533: PUSH1 0x80
00004535: DUP4
00004536: ADD
00004537: SWAP6
00004538: SWAP1
00004539: SWAP6
0000453a: MSTORE
0000453b: POP
0000453c: PUSH1 0xa0
0000453e: DUP2
0000453f: ADD
00004540: SWAP3
00004541: SWAP1
00004542: SWAP3
00004543: MSTORE
00004544: ISZERO
00004545: ISZERO
00004546: PUSH1 0xc0
00004548: SWAP1
00004549: SWAP2
0000454a: ADD
0000454b: MSTORE
0000454c: SWAP5
0000454d: SWAP4
0000454e: POP
0000454f: POP
00004550: POP
00004551: POP
00004552: JUMP
00004553: JUMPDEST
00004554: DUP1
00004555: ISZERO
00004556: ISZERO
00004557: DUP2
00004558: EQ
00004559: PUSH2 0x124c
0000455c: JUMPI
0000455d: PUSH1 0x00
0000455f: DUP1
00004560: REVERT
00004561: JUMPDEST
00004562: PUSH1 0x00
00004564: DUP1
00004565: PUSH1 0x40
00004567: DUP4
00004568: DUP6
00004569: SUB
0000456a: SLT
0000456b: ISZERO
0000456c: PUSH2 0x4574
0000456f: JUMPI
00004570: PUSH1 0x00
00004572: DUP1
00004573: REVERT
00004574: JUMPDEST
00004575: DUP3
00004576: CALLDATALOAD
00004577: SWAP2
00004578: POP
00004579: PUSH1 0x20
0000457b: DUP4
0000457c: ADD
0000457d: CALLDATALOAD
0000457e: PUSH2 0x42f4
00004581: DUP2
00004582: PUSH2 0x4553
00004585: JUMP
00004586: JUMPDEST
00004587: PUSH4 0x4e487b71
0000458c: PUSH1 0xe0
0000458e: SHL
0000458f: PUSH1 0x00
00004591: MSTORE
00004592: PUSH1 0x41
00004594: PUSH1 0x04
00004596: MSTORE
00004597: PUSH1 0x24
00004599: PUSH1 0x00
0000459b: REVERT
0000459c: JUMPDEST
0000459d: PUSH1 0x00
0000459f: DUP1
000045a0: PUSH1 0x00
000045a2: PUSH1 0x60
000045a4: DUP5
000045a5: DUP7
000045a6: SUB
000045a7: SLT
000045a8: ISZERO
000045a9: PUSH2 0x45b1
000045ac: JUMPI
000045ad: PUSH1 0x00
000045af: DUP1
000045b0: REVERT
000045b1: JUMPDEST
000045b2: DUP4
000045b3: CALLDATALOAD
000045b4: SWAP3
000045b5: POP
000045b6: PUSH1 0x20
000045b8: DUP5
000045b9: ADD
000045ba: CALLDATALOAD
000045bb: PUSH1 0x05
000045bd: DUP2
000045be: LT
000045bf: PUSH2 0x45c7
000045c2: JUMPI
000045c3: PUSH1 0x00
000045c5: DUP1
000045c6: REVERT
000045c7: JUMPDEST
000045c8: SWAP2
000045c9: POP
000045ca: PUSH1 0x40
000045cc: DUP5
000045cd: ADD
000045ce: CALLDATALOAD
000045cf: PUSH8 0xffffffffffffffff
000045d8: DUP2
000045d9: GT
000045da: ISZERO
000045db: PUSH2 0x45e3
000045de: JUMPI
000045df: PUSH1 0x00
000045e1: DUP1
000045e2: REVERT
000045e3: JUMPDEST
000045e4: DUP5
000045e5: ADD
000045e6: PUSH1 0x1f
000045e8: DUP2
000045e9: ADD
000045ea: DUP7
000045eb: SGT
000045ec: PUSH2 0x45f4
000045ef: JUMPI
000045f0: PUSH1 0x00
000045f2: DUP1
000045f3: REVERT
000045f4: JUMPDEST
000045f5: DUP1
000045f6: CALLDATALOAD
000045f7: PUSH8 0xffffffffffffffff
00004600: DUP2
00004601: GT
00004602: ISZERO
00004603: PUSH2 0x460e
00004606: JUMPI
00004607: PUSH2 0x460e
0000460a: PUSH2 0x4586
0000460d: JUMP
0000460e: JUMPDEST
0000460f: PUSH1 0x40
00004611: MLOAD
00004612: PUSH1 0x1f
00004614: DUP3
00004615: ADD
00004616: PUSH1 0x1f
00004618: NOT
00004619: SWAP1
0000461a: DUP2
0000461b: AND
0000461c: PUSH1 0x3f
0000461e: ADD
0000461f: AND
00004620: DUP2
00004621: ADD
00004622: PUSH8 0xffffffffffffffff
0000462b: DUP2
0000462c: GT
0000462d: DUP3
0000462e: DUP3
0000462f: LT
00004630: OR
00004631: ISZERO
00004632: PUSH2 0x463d
00004635: JUMPI
00004636: PUSH2 0x463d
00004639: PUSH2 0x4586
0000463c: JUMP
0000463d: JUMPDEST
0000463e: PUSH1 0x40
00004640: MSTORE
00004641: DUP2
00004642: DUP2
00004643: MSTORE
00004644: DUP3
00004645: DUP3
00004646: ADD
00004647: PUSH1 0x20
00004649: ADD
0000464a: DUP9
0000464b: LT
0000464c: ISZERO
0000464d: PUSH2 0x4655
00004650: JUMPI
00004651: PUSH1 0x00
00004653: DUP1
00004654: REVERT
00004655: JUMPDEST
00004656: DUP2
00004657: PUSH1 0x20
00004659: DUP5
0000465a: ADD
0000465b: PUSH1 0x20
0000465d: DUP4
0000465e: ADD
0000465f: CALLDATACOPY
00004660: PUSH1 0x00
00004662: PUSH1 0x20
00004664: DUP4
00004665: DUP4
00004666: ADD
00004667: ADD
00004668: MSTORE
00004669: DUP1
0000466a: SWAP4
0000466b: POP
0000466c: POP
0000466d: POP
0000466e: POP
0000466f: SWAP3
00004670: POP
00004671: SWAP3
00004672: POP
00004673: SWAP3
00004674: JUMP
00004675: JUMPDEST
00004676: PUSH1 0x01
00004678: DUP2
00004679: DUP2
0000467a: SHR
0000467b: SWAP1
0000467c: DUP3
0000467d: AND
0000467e: DUP1
0000467f: PUSH2 0x4689
00004682: JUMPI
00004683: PUSH1 0x7f
00004685: DUP3
00004686: AND
00004687: SWAP2
00004688: POP
00004689: JUMPDEST
0000468a: PUSH1 0x20
0000468c: DUP3
0000468d: LT
0000468e: DUP2
0000468f: SUB
00004690: PUSH2 0x1522
00004693: JUMPI
00004694: PUSH4 0x4e487b71
00004699: PUSH1 0xe0
0000469b: SHL
0000469c: PUSH1 0x00
0000469e: MSTORE
0000469f: PUSH1 0x22
000046a1: PUSH1 0x04
000046a3: MSTORE
000046a4: PUSH1 0x24
000046a6: PUSH1 0x00
000046a8: REVERT
000046a9: JUMPDEST
000046aa: PUSH4 0x4e487b71
000046af: PUSH1 0xe0
000046b1: SHL
000046b2: PUSH1 0x00
000046b4: MSTORE
000046b5: PUSH1 0x11
000046b7: PUSH1 0x04
000046b9: MSTORE
000046ba: PUSH1 0x24
000046bc: PUSH1 0x00
000046be: REVERT
000046bf: JUMPDEST
000046c0: DUP1
000046c1: DUP3
000046c2: ADD
000046c3: DUP1
000046c4: DUP3
000046c5: GT
000046c6: ISZERO
000046c7: PUSH2 0x43b0
000046ca: JUMPI
000046cb: PUSH2 0x43b0
000046ce: PUSH2 0x46a9
000046d1: JUMP
000046d2: JUMPDEST
000046d3: PUSH1 0x00
000046d5: DUP2
000046d6: PUSH2 0x46e1
000046d9: JUMPI
000046da: PUSH2 0x46e1
000046dd: PUSH2 0x46a9
000046e0: JUMP
000046e1: JUMPDEST
000046e2: POP
000046e3: PUSH1 0x00
000046e5: NOT
000046e6: ADD
000046e7: SWAP1
000046e8: JUMP
000046e9: JUMPDEST
000046ea: PUSH4 0x4e487b71
000046ef: PUSH1 0xe0
000046f1: SHL
000046f2: PUSH1 0x00
000046f4: MSTORE
000046f5: PUSH1 0x32
000046f7: PUSH1 0x04
000046f9: MSTORE
000046fa: PUSH1 0x24
000046fc: PUSH1 0x00
000046fe: REVERT
000046ff: JUMPDEST
00004700: PUSH1 0x00
00004702: PUSH1 0x01
00004704: DUP3
00004705: ADD
00004706: PUSH2 0x4711
00004709: JUMPI
0000470a: PUSH2 0x4711
0000470d: PUSH2 0x46a9
00004710: JUMP
00004711: JUMPDEST
00004712: POP
00004713: PUSH1 0x01
00004715: ADD
00004716: SWAP1
00004717: JUMP
00004718: JUMPDEST
00004719: PUSH1 0x20
0000471b: DUP1
0000471c: DUP3
0000471d: MSTORE
0000471e: DUP2
0000471f: ADD
00004720: DUP3
00004721: SWAP1
00004722: MSTORE
00004723: PUSH1 0x00
00004725: DUP4
00004726: PUSH1 0x40
00004728: DUP4
00004729: ADD
0000472a: DUP3
0000472b: JUMPDEST
0000472c: DUP6
0000472d: DUP2
0000472e: LT
0000472f: ISZERO
00004730: PUSH2 0x475b
00004733: JUMPI
00004734: DUP3
00004735: CALLDATALOAD
00004736: PUSH2 0x473e
00004739: DUP2
0000473a: PUSH2 0x4282
0000473d: JUMP
0000473e: JUMPDEST
0000473f: PUSH1 0x01
00004741: PUSH1 0x01
00004743: PUSH1 0xa0
00004745: SHL
00004746: SUB
00004747: AND
00004748: DUP3
00004749: MSTORE
0000474a: PUSH1 0x20
0000474c: SWAP3
0000474d: DUP4
0000474e: ADD
0000474f: SWAP3
00004750: SWAP1
00004751: SWAP2
00004752: ADD
00004753: SWAP1
00004754: PUSH1 0x01
00004756: ADD
00004757: PUSH2 0x472b
0000475a: JUMP
0000475b: JUMPDEST
0000475c: POP
0000475d: SWAP6
0000475e: SWAP5
0000475f: POP
00004760: POP
00004761: POP
00004762: POP
00004763: POP
00004764: JUMP
00004765: JUMPDEST
00004766: PUSH1 0x00
00004768: PUSH1 0x20
0000476a: DUP3
0000476b: DUP5
0000476c: SUB
0000476d: SLT
0000476e: ISZERO
0000476f: PUSH2 0x4777
00004772: JUMPI
00004773: PUSH1 0x00
00004775: DUP1
00004776: REVERT
00004777: JUMPDEST
00004778: POP
00004779: MLOAD
0000477a: SWAP2
0000477b: SWAP1
0000477c: POP
0000477d: JUMP
0000477e: JUMPDEST
0000477f: PUSH1 0x00
00004781: PUSH1 0x20
00004783: DUP3
00004784: DUP5
00004785: SUB
00004786: SLT
00004787: ISZERO
00004788: PUSH2 0x4790
0000478b: JUMPI
0000478c: PUSH1 0x00
0000478e: DUP1
0000478f: REVERT
00004790: JUMPDEST
00004791: DUP2
00004792: MLOAD
00004793: PUSH2 0x0f3a
00004796: DUP2
00004797: PUSH2 0x4282
0000479a: JUMP
0000479b: JUMPDEST
0000479c: PUSH1 0x1f
0000479e: DUP3
0000479f: GT
000047a0: ISZERO
000047a1: PUSH2 0x1ad6
000047a4: JUMPI
000047a5: DUP1
000047a6: PUSH1 0x00
000047a8: MSTORE
000047a9: PUSH1 0x20
000047ab: PUSH1 0x00
000047ad: KECCAK256
000047ae: PUSH1 0x1f
000047b0: DUP5
000047b1: ADD
000047b2: PUSH1 0x05
000047b4: SHR
000047b5: DUP2
000047b6: ADD
000047b7: PUSH1 0x20
000047b9: DUP6
000047ba: LT
000047bb: ISZERO
000047bc: PUSH2 0x47c2
000047bf: JUMPI
000047c0: POP
000047c1: DUP1
000047c2: JUMPDEST
000047c3: PUSH1 0x1f
000047c5: DUP5
000047c6: ADD
000047c7: PUSH1 0x05
000047c9: SHR
000047ca: DUP3
000047cb: ADD
000047cc: SWAP2
000047cd: POP
000047ce: JUMPDEST
000047cf: DUP2
000047d0: DUP2
000047d1: LT
000047d2: ISZERO
000047d3: PUSH2 0x47e2
000047d6: JUMPI
000047d7: PUSH1 0x00
000047d9: DUP2
000047da: SSTORE
000047db: PUSH1 0x01
000047dd: ADD
000047de: PUSH2 0x47ce
000047e1: JUMP
000047e2: JUMPDEST
000047e3: POP
000047e4: POP
000047e5: POP
000047e6: POP
000047e7: POP
000047e8: JUMP
000047e9: JUMPDEST
000047ea: DUP2
000047eb: MLOAD
000047ec: PUSH8 0xffffffffffffffff
000047f5: DUP2
000047f6: GT
000047f7: ISZERO
000047f8: PUSH2 0x4803
000047fb: JUMPI
000047fc: PUSH2 0x4803
000047ff: PUSH2 0x4586
00004802: JUMP
00004803: JUMPDEST
00004804: PUSH2 0x4817
00004807: DUP2
00004808: PUSH2 0x4811
0000480b: DUP5
0000480c: SLOAD
0000480d: PUSH2 0x4675
00004810: JUMP
00004811: JUMPDEST
00004812: DUP5
00004813: PUSH2 0x479b
00004816: JUMP
00004817: JUMPDEST
00004818: PUSH1 0x20
0000481a: PUSH1 0x1f
0000481c: DUP3
0000481d: GT
0000481e: PUSH1 0x01
00004820: DUP2
00004821: EQ
00004822: PUSH2 0x484b
00004825: JUMPI
00004826: PUSH1 0x00
00004828: DUP4
00004829: ISZERO
0000482a: PUSH2 0x4833
0000482d: JUMPI
0000482e: POP
0000482f: DUP5
00004830: DUP3
00004831: ADD
00004832: MLOAD
00004833: JUMPDEST
00004834: PUSH1 0x00
00004836: NOT
00004837: PUSH1 0x03
00004839: DUP6
0000483a: SWAP1
0000483b: SHL
0000483c: SHR
0000483d: NOT
0000483e: AND
0000483f: PUSH1 0x01
00004841: DUP5
00004842: SWAP1
00004843: SHL
00004844: OR
00004845: DUP5
00004846: SSTORE
00004847: PUSH2 0x47e2
0000484a: JUMP
0000484b: JUMPDEST
0000484c: PUSH1 0x00
0000484e: DUP5
0000484f: DUP2
00004850: MSTORE
00004851: PUSH1 0x20
00004853: DUP2
00004854: KECCAK256
00004855: PUSH1 0x1f
00004857: NOT
00004858: DUP6
00004859: AND
0000485a: SWAP2
0000485b: JUMPDEST
0000485c: DUP3
0000485d: DUP2
0000485e: LT
0000485f: ISZERO
00004860: PUSH2 0x487b
00004863: JUMPI
00004864: DUP8
00004865: DUP6
00004866: ADD
00004867: MLOAD
00004868: DUP3
00004869: SSTORE
0000486a: PUSH1 0x20
0000486c: SWAP5
0000486d: DUP6
0000486e: ADD
0000486f: SWAP5
00004870: PUSH1 0x01
00004872: SWAP1
00004873: SWAP3
00004874: ADD
00004875: SWAP2
00004876: ADD
00004877: PUSH2 0x485b
0000487a: JUMP
0000487b: JUMPDEST
0000487c: POP
0000487d: DUP5
0000487e: DUP3
0000487f: LT
00004880: ISZERO
00004881: PUSH2 0x4899
00004884: JUMPI
00004885: DUP7
00004886: DUP5
00004887: ADD
00004888: MLOAD
00004889: PUSH1 0x00
0000488b: NOT
0000488c: PUSH1 0x03
0000488e: DUP8
0000488f: SWAP1
00004890: SHL
00004891: PUSH1 0xf8
00004893: AND
00004894: SHR
00004895: NOT
00004896: AND
00004897: DUP2
00004898: SSTORE
00004899: JUMPDEST
0000489a: POP
0000489b: POP
0000489c: POP
0000489d: POP
0000489e: PUSH1 0x01
000048a0: SWAP1
000048a1: DUP2
000048a2: SHL
000048a3: ADD
000048a4: SWAP1
000048a5: SSTORE
000048a6: POP
000048a7: JUMP
000048a8: JUMPDEST
000048a9: PUSH1 0x00
000048ab: PUSH1 0x20
000048ad: DUP3
000048ae: DUP5
000048af: SUB
000048b0: SLT
000048b1: ISZERO
000048b2: PUSH2 0x48ba
000048b5: JUMPI
000048b6: PUSH1 0x00
000048b8: DUP1
000048b9: REVERT
000048ba: JUMPDEST
000048bb: DUP2
000048bc: MLOAD
000048bd: PUSH1 0xff
000048bf: DUP2
000048c0: AND
000048c1: DUP2
000048c2: EQ
000048c3: PUSH2 0x0f3a
000048c6: JUMPI
000048c7: PUSH1 0x00
000048c9: DUP1
000048ca: REVERT
000048cb: JUMPDEST
000048cc: PUSH1 0x01
000048ce: DUP2
000048cf: JUMPDEST
000048d0: PUSH1 0x01
000048d2: DUP5
000048d3: GT
000048d4: ISZERO
000048d5: PUSH2 0x4906
000048d8: JUMPI
000048d9: DUP1
000048da: DUP6
000048db: DIV
000048dc: DUP2
000048dd: GT
000048de: ISZERO
000048df: PUSH2 0x48ea
000048e2: JUMPI
000048e3: PUSH2 0x48ea
000048e6: PUSH2 0x46a9
000048e9: JUMP
000048ea: JUMPDEST
000048eb: PUSH1 0x01
000048ed: DUP5
000048ee: AND
000048ef: ISZERO
000048f0: PUSH2 0x48f8
000048f3: JUMPI
000048f4: SWAP1
000048f5: DUP2
000048f6: MUL
000048f7: SWAP1
000048f8: JUMPDEST
000048f9: PUSH1 0x01
000048fb: SWAP4
000048fc: SWAP1
000048fd: SWAP4
000048fe: SHR
000048ff: SWAP3
00004900: DUP1
00004901: MUL
00004902: PUSH2 0x48cf
00004905: JUMP
00004906: JUMPDEST
00004907: SWAP4
00004908: POP
00004909: SWAP4
0000490a: SWAP2
0000490b: POP
0000490c: POP
0000490d: JUMP
0000490e: JUMPDEST
0000490f: PUSH1 0x00
00004911: DUP3
00004912: PUSH2 0x491d
00004915: JUMPI
00004916: POP
00004917: PUSH1 0x01
00004919: PUSH2 0x43b0
0000491c: JUMP
0000491d: JUMPDEST
0000491e: DUP2
0000491f: PUSH2 0x492a
00004922: JUMPI
00004923: POP
00004924: PUSH1 0x00
00004926: PUSH2 0x43b0
00004929: JUMP
0000492a: JUMPDEST
0000492b: DUP2
0000492c: PUSH1 0x01
0000492e: DUP2
0000492f: EQ
00004930: PUSH2 0x4940
00004933: JUMPI
00004934: PUSH1 0x02
00004936: DUP2
00004937: EQ
00004938: PUSH2 0x494a
0000493b: JUMPI
0000493c: PUSH2 0x4966
0000493f: JUMP
00004940: JUMPDEST
00004941: PUSH1 0x01
00004943: SWAP2
00004944: POP
00004945: POP
00004946: PUSH2 0x43b0
00004949: JUMP
0000494a: JUMPDEST
0000494b: PUSH1 0xff
0000494d: DUP5
0000494e: GT
0000494f: ISZERO
00004950: PUSH2 0x495b
00004953: JUMPI
00004954: PUSH2 0x495b
00004957: PUSH2 0x46a9
0000495a: JUMP
0000495b: JUMPDEST
0000495c: POP
0000495d: POP
0000495e: PUSH1 0x01
00004960: DUP3
00004961: SHL
00004962: PUSH2 0x43b0
00004965: JUMP
00004966: JUMPDEST
00004967: POP
00004968: PUSH1 0x20
0000496a: DUP4
0000496b: LT
0000496c: PUSH2 0x0133
0000496f: DUP4
00004970: LT
00004971: AND
00004972: PUSH1 0x4e
00004974: DUP5
00004975: LT
00004976: PUSH1 0x0b
00004978: DUP5
00004979: LT
0000497a: AND
0000497b: OR
0000497c: ISZERO
0000497d: PUSH2 0x4989
00004980: JUMPI
00004981: POP
00004982: DUP2
00004983: DUP2
00004984: EXP
00004985: PUSH2 0x43b0
00004988: JUMP
00004989: JUMPDEST
0000498a: PUSH2 0x4996
0000498d: PUSH1 0x00
0000498f: NOT
00004990: DUP5
00004991: DUP5
00004992: PUSH2 0x48cb
00004995: JUMP
00004996: JUMPDEST
00004997: DUP1
00004998: PUSH1 0x00
0000499a: NOT
0000499b: DIV
0000499c: DUP3
0000499d: GT
0000499e: ISZERO
0000499f: PUSH2 0x49aa
000049a2: JUMPI
000049a3: PUSH2 0x49aa
000049a6: PUSH2 0x46a9
000049a9: JUMP
000049aa: JUMPDEST
000049ab: MUL
000049ac: SWAP4
000049ad: SWAP3
000049ae: POP
000049af: POP
000049b0: POP
000049b1: JUMP
000049b2: JUMPDEST
000049b3: PUSH1 0x00
000049b5: PUSH2 0x0f3a
000049b8: PUSH1 0xff
000049ba: DUP5
000049bb: AND
000049bc: DUP4
000049bd: PUSH2 0x490e
000049c0: JUMP
000049c1: JUMPDEST
000049c2: DUP1
000049c3: DUP3
000049c4: MUL
000049c5: DUP2
000049c6: ISZERO
000049c7: DUP3
000049c8: DUP3
000049c9: DIV
000049ca: DUP5
000049cb: EQ
000049cc: OR
000049cd: PUSH2 0x43b0
000049d0: JUMPI
000049d1: PUSH2 0x43b0
000049d4: PUSH2 0x46a9
000049d7: JUMP
000049d8: JUMPDEST
000049d9: DUP2
000049da: DUP2
000049db: SUB
000049dc: DUP2
000049dd: DUP2
000049de: GT
000049df: ISZERO
000049e0: PUSH2 0x43b0
000049e3: JUMPI
000049e4: PUSH2 0x43b0
000049e7: PUSH2 0x46a9
000049ea: JUMP
000049eb: JUMPDEST
000049ec: PUSH1 0x00
000049ee: PUSH1 0x20
000049f0: DUP3
000049f1: DUP5
000049f2: SUB
000049f3: SLT
000049f4: ISZERO
000049f5: PUSH2 0x49fd
000049f8: JUMPI
000049f9: PUSH1 0x00
000049fb: DUP1
000049fc: REVERT
000049fd: JUMPDEST
000049fe: DUP2
000049ff: MLOAD
00004a00: PUSH2 0x0f3a
00004a03: DUP2
00004a04: PUSH2 0x4553
00004a07: JUMP
00004a08: JUMPDEST
00004a09: PUSH1 0x00
00004a0b: DUP3
00004a0c: PUSH2 0x4a25
00004a0f: JUMPI
00004a10: PUSH4 0x4e487b71
00004a15: PUSH1 0xe0
00004a17: SHL
00004a18: PUSH1 0x00
00004a1a: MSTORE
00004a1b: PUSH1 0x12
00004a1d: PUSH1 0x04
00004a1f: MSTORE
00004a20: PUSH1 0x24
00004a22: PUSH1 0x00
00004a24: REVERT
00004a25: JUMPDEST
00004a26: POP
00004a27: DIV
00004a28: SWAP1
00004a29: JUMP
00004a2a: JUMPDEST
00004a2b: PUSH1 0x00
00004a2d: DUP3
00004a2e: MLOAD
00004a2f: PUSH2 0x4a3c
00004a32: DUP2
00004a33: DUP5
00004a34: PUSH1 0x20
00004a36: DUP8
00004a37: ADD
00004a38: PUSH2 0x44a4
00004a3b: JUMP
00004a3c: JUMPDEST
00004a3d: SWAP2
00004a3e: SWAP1
00004a3f: SWAP2
00004a40: ADD
00004a41: SWAP3
00004a42: SWAP2
00004a43: POP
00004a44: POP
00004a45: JUMP
00004a46: JUMPDEST
00004a47: PUSH1 0x20
00004a49: DUP2
00004a4a: MSTORE
00004a4b: PUSH1 0x00
00004a4d: PUSH2 0x0f3a
00004a50: PUSH1 0x20
00004a52: DUP4
00004a53: ADD
00004a54: DUP5
00004a55: PUSH2 0x44c8
00004a58: JUMP
00004a59: INVALID
00004a5a: LOG2
00004a5b: PUSH5 0x6970667358
00004a61: UNKNOWN(0x22)
00004a62: SLT
00004a63: KECCAK256
00004a64: UNKNOWN(0xC2)
00004a65: DUP16
00004a66: UNKNOWN(0xE7)
00004a67: UNKNOWN(0xCA)
00004a68: UNKNOWN(0x2A)
00004a69: PUSH7 0x403931025a426c
00004a71: UNKNOWN(0x0C)
00004a72: DUP14
00004a73: UNKNOWN(0xE2)
00004a74: SIGNEXTEND
00004a75: UNKNOWN(0xCB)
00004a76: BYTE
00004a77: SLOAD
00004a78: PUSH4 0x3da25ca0
00004a7d: NUMBER
00004a7e: MSTORE8
00004a7f: DIFFICULTY
00004a80: DIFFICULTY
00004a81: PUSH29

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xeddd0d9c",
            "selector": "0xeddd0d9c",
            "calldata_variants": [
                "0xeddd0d9c",
                "0xeddd0d9c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf195341e",
            "selector": "0xf195341e",
            "calldata_variants": [
                "0xf195341e",
                "0xf195341e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf5f92a6f",
            "selector": "0xf5f92a6f",
            "calldata_variants": [
                "0xf5f92a6f",
                "0xf5f92a6f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe162b367",
            "selector": "0xe162b367",
            "calldata_variants": [
                "0xe162b367",
                "0xe162b3670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe6116cfd",
            "selector": "0xe6116cfd",
            "calldata_variants": [
                "0xe6116cfd",
                "0xe6116cfd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec8469b7",
            "selector": "0xec8469b7",
            "calldata_variants": [
                "0xec8469b7",
                "0xec8469b70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xedd41e0a",
            "selector": "0xedd41e0a",
            "calldata_variants": [
                "0xedd41e0a",
                "0xedd41e0a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 13120,
            "type": "tx_origin_used"
        },
        {
            "pc": 13300,
            "type": "tx_origin_used"
        },
        {
            "pc": 13490,
            "type": "tx_origin_used"
        }
    ]
}
high other codex Referral fee causes over-distribution, leading to payout DoS or cross-audit fund drain 85 no
view
evidence_json
{
    "evidence": "`_payBounty` transfers `hyacinthReceives_` before computing and transferring `referralFee_`, but still distributes `bountyToDistribute_` in full.",
    "locations": [
        "contracts/Database.sol:739",
        "contracts/Database.sol:745",
        "contracts/Database.sol:748",
        "contracts/Database.sol:750",
        "contracts/Database.sol:763"
    ],
    "recommendation": "Deduct the referral fee from the Hyacinth fee before transferring, or compute and transfer fees after ensuring total payouts equal the bounty. Ensure the sum of `hyacinthReceives + referralFee + bountyToDistribute` never exceeds `bounty_`, and consider explicitly validating balance sufficiency per audit.",
    "exploit_scenario": "If a developer set a referrer when minting, `_payBounty` transfers the full Hyacinth fee to `hyacinthWallet` and then additionally transfers a referral fee, while still attempting to distribute the full `bountyToDistribute` to collaborators/auditor. For audits whose token balance equals the bounty, the extra referral fee makes the final transfers revert, permanently blocking payout. If the contract holds extra token balances from other audits, the referral fee is effectively paid out of those balances, draining unrelated bounties."
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x96ae6015147166e0edb08b953b52142245e8864d4861fe6135ba347ece264f8c
call_targets: 0xa1559cb92445cd39e3f8f16c3574e99850bc7b7d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x96ae6015147166e0edb08b953b52142245e8864d4861fe6135ba347ece264f8c",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xa1559cb92445cd39e3f8f16c3574e99850bc7b7d"
    ],
    "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": "0xeddd0d9c",
            "selector": "0xeddd0d9c",
            "calldata_variants": [
                "0xeddd0d9c",
                "0xeddd0d9c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf195341e",
            "selector": "0xf195341e",
            "calldata_variants": [
                "0xf195341e",
                "0xf195341e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf5f92a6f",
            "selector": "0xf5f92a6f",
            "calldata_variants": [
                "0xf5f92a6f",
                "0xf5f92a6f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe162b367",
            "selector": "0xe162b367",
            "calldata_variants": [
                "0xe162b367",
                "0xe162b3670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe6116cfd",
            "selector": "0xe6116cfd",
            "calldata_variants": [
                "0xe6116cfd",
                "0xe6116cfd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec8469b7",
            "selector": "0xec8469b7",
            "calldata_variants": [
                "0xec8469b7",
                "0xec8469b70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xedd41e0a",
            "selector": "0xedd41e0a",
            "calldata_variants": [
                "0xedd41e0a",
                "0xedd41e0a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 11624,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "constant",
            "target_expression_category": "computed"
        },
        {
            "pc": 12451,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 13788,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 4,
    "guards_detected": [
        {
            "pc": 13120,
            "type": "tx_origin_used"
        },
        {
            "pc": 13300,
            "type": "tx_origin_used"
        },
        {
            "pc": 13490,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 4
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x96ae6015147166e0edb08b953b52142245e8864d4861fe6135ba347ece264f8c
call_targets: 0xa1559cb92445cd39e3f8f16c3574e99850bc7b7d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x96ae6015147166e0edb08b953b52142245e8864d4861fe6135ba347ece264f8c",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xa1559cb92445cd39e3f8f16c3574e99850bc7b7d"
    ],
    "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": "0xeddd0d9c",
            "selector": "0xeddd0d9c",
            "calldata_variants": [
                "0xeddd0d9c",
                "0xeddd0d9c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf195341e",
            "selector": "0xf195341e",
            "calldata_variants": [
                "0xf195341e",
                "0xf195341e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf5f92a6f",
            "selector": "0xf5f92a6f",
            "calldata_variants": [
                "0xf5f92a6f",
                "0xf5f92a6f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe162b367",
            "selector": "0xe162b367",
            "calldata_variants": [
                "0xe162b367",
                "0xe162b3670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe6116cfd",
            "selector": "0xe6116cfd",
            "calldata_variants": [
                "0xe6116cfd",
                "0xe6116cfd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec8469b7",
            "selector": "0xec8469b7",
            "calldata_variants": [
                "0xec8469b7",
                "0xec8469b70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xedd41e0a",
            "selector": "0xedd41e0a",
            "calldata_variants": [
                "0xedd41e0a",
                "0xedd41e0a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 11624,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "constant",
            "target_expression_category": "computed"
        },
        {
            "pc": 12451,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 13788,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 4,
    "guards_detected": [
        {
            "pc": 13120,
            "type": "tx_origin_used"
        },
        {
            "pc": 13300,
            "type": "tx_origin_used"
        },
        {
            "pc": 13490,
            "type": "tx_origin_used"
        }
    ]
}
low other codex Unchecked ERC20 transfer in `acceptAuditor` can silently fail and desync accounting 65 no
view
evidence_json
{
    "evidence": "`IERC20(USDC).transfer(msg.sender, difference_)` is used without checking return value.",
    "locations": [
        "contracts/Database.sol:497",
        "contracts/Database.sol:501",
        "contracts/Database.sol:502"
    ],
    "recommendation": "Use `SafeERC20.safeTransfer` (or explicitly check the returned bool) and only update `bountyOnContract` after a successful transfer.",
    "exploit_scenario": "`acceptAuditor` uses `IERC20(USDC).transfer` without checking the return value. If the token returns false (or is non-standard), the developer refund fails but the contract still reduces `bountyOnContract` to the bid, leaving the audit underfunded and the developer shorted without reverting."
}
low auth codex `tx.origin`-based registration allows contract squatting/impersonation 65 no
view
evidence_json
{
    "evidence": "`beingAudited` checks `proofOfDeveloper.balanceOf(tx.origin)` and assigns `contracts[msg.sender].developer = tx.origin`.",
    "locations": [
        "contracts/Database.sol:401",
        "contracts/Database.sol:402",
        "contracts/Database.sol:406"
    ],
    "recommendation": "Avoid `tx.origin`. Require explicit developer authorization (e.g., EIP-712 signature), or pass the developer address and verify `msg.sender` via deployment-time registration or a trusted factory.",
    "exploit_scenario": "`beingAudited` uses `tx.origin` to assign the developer. A malicious contract can call `beingAudited` during a transaction initiated by any POD holder, registering itself as that developer without explicit consent. This can misattribute ownership and block the real developer from registering/using the system for that contract."
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 12
}