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

Analysis Run

019bab3b-ac16-71c8-994e-dc9bad3c06f9

failed
Chain ID
1
Address
Block Number
Created
Sun, Jan 11, 2026 4:06 AM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
38702 artifact.fetch complete 1 / 3 3 months ago
38703 proxy.resolve complete 1 / 3 3 months ago
38704 tool.cast_disasm complete 1 / 3 3 months ago
38705 analysis.bundle complete 1 / 3 3 months ago
38706 capability.graph complete 1 / 3 3 months ago
38707 detector.run complete 1 / 3 3 months ago
38708 validation.fork complete 1 / 3 3 months ago
39140 report.consolidate complete 1 / 6 3 months ago
39141 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-hdmoxjsr) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-hdmoxjsr) 'forge' returned non-zero exit code 1 Compiling 43 files with Solc 0.8.26 stdout: Solc 0.8.26 finished in 483.47ms Error: Compiler run failed: stderr: Error: Compiler error (/solidity/libsolidity/codegen/LValue.cpp:51):Stack too deep. Try compiling with `--via-ir` (cli) or the equivalent `viaIR: true` (standard JSON) while enabling the optimizer. Otherwise, try removing local variables. stderr: --> contracts/src/TorusCreateAndStake.sol:331:13: stderr: | stderr: 331 | torusAmount, 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-hdmoxjsr/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-hdmoxjsr)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-hdmoxjsr)
'forge' returned non-zero exit code 1
Compiling 43 files with Solc 0.8.26
stdout: Solc 0.8.26 finished in 483.47ms
Error: Compiler run failed:
stderr: Error: Compiler error (/solidity/libsolidity/codegen/LValue.cpp:51):Stack too deep. Try compiling with `--via-ir` (cli) or the equivalent `viaIR: true` (standard JSON) while enabling the optimizer. Otherwise, try removing local variables.
stderr:    --> contracts/src/TorusCreateAndStake.sol:331:13:
stderr:     |
stderr: 331 |             torusAmount,
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-hdmoxjsr/out/build-info is not a directory.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
2
No findings?
no
Summary
Found oracle-manipulation risks where Uniswap V3 TWAPs directly set ETH fees and swap minimum outputs, enabling underpayment or adverse swap execution if the pools are manipulated or observation windows are short.
View stdout
{"no_findings":false,"summary":"Found oracle-manipulation risks where Uniswap V3 TWAPs directly set ETH fees and swap minimum outputs, enabling underpayment or adverse swap execution if the pools are manipulated or observation windows are short.","findings":[{"severity":"medium","category":"oracle","title":"ETH fee calculation can be underpaid via manipulable Uniswap TWAP","exploit_scenario":"An attacker manipulates the TITAN_X/ETH Uniswap V3 pool (especially early when `oldestObservation` is small) to make TitanX appear cheaper, then calls `createTorus` or `stakeTorus` with ETH. `getEthAmountForTitanX` returns a lower `requiredETH`, letting the attacker mint/stake with less ETH than intended while still receiving full Torus creation benefits.","recommendation":"Use a more robust price oracle (e.g., Chainlink) or enforce a minimum TWAP window and sanity bounds (e.g., revert if TWAP age < N minutes or if deviation vs. a secondary feed exceeds a threshold). Consider requiring an off-chain price quote with bounds instead of relying solely on the pool’s TWAP.","evidence":"`getEthAmountForTitanX` uses a TWAP from `TITAN_X_ETH_POOL`, and `_distributeFees` uses it to set `requiredETH` for create/stake fees; the window is shortened to `oldestObservation` when it is less than 15 minutes, which weakens manipulation resistance.","locations":["contracts/src/TorusCreateAndStake.sol:588","contracts/src/TorusCreateAndStake.sol:608","contracts/src/TorusCreateAndStake.sol:612"]},{"severity":"medium","category":"oracle","title":"Protocol swaps use manipulable TWAPs for `amountOutMinimum`, enabling adverse-rate swaps","exploit_scenario":"Because swap minOuts are computed from the same Uniswap pools’ TWAPs (with a potentially short observation window), an attacker can manipulate the pool price and then trigger public `swap*AndBurn/Build` calls to execute swaps at a disadvantaged rate. This can drain burn/build allocations by forcing the protocol to swap at a manipulated price, while the attacker arbitrages the price distortion.","recommendation":"Use a more manipulation-resistant oracle (longer TWAP with enforced minimum age, multiple pools, or Chainlink), add deviation checks vs. spot price, and consider having trusted keepers supply `amountOutMinimum` with on-chain bounds. If possible, restrict swap execution to a keeper to reduce sandwich/manipulation risk.","evidence":"`_swapTitanXForTorus` and `_swapETHForTitanX` derive `amountOutMinimum` from `getTorusQuoteForTitanX`/`getTitanXQuoteForETH`, which use a TWAP capped by `oldestObservation` (potentially very short). The same oracle is used in TorusCreateAndStake’s internal swap as well.","locations":["contracts/src/TorusBuyAndProcess.sol:821","contracts/src/TorusBuyAndProcess.sol:1092","contracts/src/TorusBuyAndProcess.sol:1120","contracts/src/TorusBuyAndProcess.sol:1142","contracts/src/TorusCreateAndStake.sol:746"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-3ovebsx6
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019babcf-578e-7370-af2a-9dbb9b26213c
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.

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

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

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

thinking
**Reading AUDIT_BUNDLE file**
exec
/bin/bash -lc ls in /tmp/codex-3ovebsx6 succeeded in 12ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
@openzeppelin
@uniswap
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-3ovebsx6 succeeded in 6ms:
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: @uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.sol
================================================================================
// SPDX-License-Identifier: GPL-2.0-or-later
pragma solidity >=0.5.0;

/// @title Callback for IUniswapV3PoolActions#swap
/// @notice Any contract that calls IUniswapV3PoolActions#swap must implement this interface
interface IUniswapV3SwapCallback {
    /// @notice Called to `msg.sender` after executing a swap via IUniswapV3Pool#swap.
    /// @dev In the implementation you must pay the pool tokens owed for the swap.
    /// The caller of this method must be checked to be a UniswapV3Pool deployed by the canonical UniswapV3Factory.
    /// amount0Delta and amount1Delta can both be 0 if no tokens were swapped.
    /// @param amount0Delta The amount of token0 that was sent (negative) or must be received (positive) by the pool by
    /// the end of the swap. If positive, the callback must send that amount of token0 to the pool.
    /// @param amount1Delta The amount of token1 that was sent (negative) or must be received (positive) by the pool by
    /// the end of the swap. If positive, the callback must send that amount of token1 to the pool.

thinking
**Identifying first-party sources in bundle**
exec
/bin/bash -lc 'rg -n "''^FILE: contracts/src" AUDIT_BUNDLE.txt' in /tmp/codex-3ovebsx6 succeeded in 32ms:
3106:FILE: contracts/src/Torus.sol
3295:FILE: contracts/src/TorusBuyAndProcess.sol
4468:FILE: contracts/src/TorusCreateAndStake.sol
5256:FILE: contracts/src/const/BuyAndProcessConst.sol
5311:FILE: contracts/src/library/OracleLibrary.sol

thinking
**Planning to extract contract segments**
exec
/bin/bash -lc "sed -n '3106,3294p' AUDIT_BUNDLE.txt" in /tmp/codex-3ovebsx6 succeeded in 7ms:
FILE: contracts/src/Torus.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;

/* === OZ === */
import {ERC20} from "../lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol";
import {ERC20Burnable} from "../lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol";
import {Ownable} from "../lib/openzeppelin-contracts/contracts/access/Ownable.sol";

/* = SYSTEM */
import {TorusCreateAndStake} from "./TorusCreateAndStake.sol";
import {TorusBuyAndProcess} from "./TorusBuyAndProcess.sol";

/* = LIBS =  */
import {Math} from "../lib/openzeppelin-contracts/contracts/utils/math/Math.sol";

/* = UNIV3 = */
import {IUniswapV3Pool} from "../lib/v3-core/contracts/interfaces/IUniswapV3Pool.sol";
import {INonfungiblePositionManager} from "../lib/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol";

thinking
**Navigating to TorusBuyAndProcess**
exec
/bin/bash -lc "sed -n '3295,4467p' AUDIT_BUNDLE.txt" in /tmp/codex-3ovebsx6 succeeded in 6ms:
FILE: contracts/src/TorusBuyAndProcess.sol
================================================================================
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.26;

/* === UNIV3 === */
import {TransferHelper} from "../lib/v3-periphery/contracts/libraries/TransferHelper.sol";
import {INonfungiblePositionManager} from "../lib/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol";
import {TickMath} from "../lib/v3-core/contracts/libraries/TickMath.sol";
import {OracleLibrary} from "./library/OracleLibrary.sol";
import {ISwapRouter} from "../lib/v3-periphery/contracts/interfaces/ISwapRouter.sol";

/* === OZ === */
import {ReentrancyGuard} from "../lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol";
import {Ownable2Step, Ownable} from "../lib/openzeppelin-contracts/contracts/access/Ownable2Step.sol";
import {IERC20} from "../lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol";
import {ERC20Burnable} from "../lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol";
import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";

/* === CONST === */

thinking
**Searching for complete function code**
exec
/bin/bash -lc 'rg -n "releaseFractalFunds" -n AUDIT_BUNDLE.txt' in /tmp/codex-3ovebsx6 succeeded in 7ms:
3546:            releaseFractalFunds();
3586:            releaseFractalFunds();
3818:            releaseFractalFunds();
3843:            releaseFractalFunds();
3850:    function releaseFractalFunds() public {
4166:            releaseFractalFunds();
4187:            releaseFractalFunds();
4221:            releaseFractalFunds();
4265:            releaseFractalFunds();

thinking
**Extracting a specific section**
exec
/bin/bash -lc "sed -n '3740,4105p' AUDIT_BUNDLE.txt" in /tmp/codex-3ovebsx6 succeeded in 6ms:
     */
    function burnTorus() public {
        uint256 torusToBurn = torusToken.balanceOf(address(this));
        totalTorusBurnt += torusToBurn;
        torusToken.burn(torusToBurn);

        emit TorusBurned(
            torusToBurn
        );
    }

    function setSlippageForTitanXToTorus(
        uint8 _newSlippage
    ) external onlyOwner {
        if (_newSlippage > 100 || _newSlippage < 2) revert InvalidInput();
        titanXToTorusSlippage = _newSlippage;

        emit TitanXToTorusSlippageUpdated(_newSlippage);
    }


thinking
**Reviewing TorusCreateAndStake section**
exec
/bin/bash -lc "sed -n '4468,5255p' AUDIT_BUNDLE.txt" in /tmp/codex-3ovebsx6 succeeded in 6ms:
FILE: contracts/src/TorusCreateAndStake.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;

/* === OZ === */
import {IERC20} from "../lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol";
import {SafeERC20} from "../lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol";
import {Math} from "../lib/openzeppelin-contracts/contracts/utils/math/Math.sol";
import {ReentrancyGuard} from "../lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol";

/* === SYSTEM === */
import {Torus} from "./Torus.sol";
import {TorusBuyAndProcess} from "./TorusBuyAndProcess.sol";

/* === CONST === */
import "./const/BuyAndProcessConst.sol";

/* === UNISWAP V3 === */
import {TransferHelper} from "../lib/v3-periphery/contracts/libraries/TransferHelper.sol";


thinking
**Reviewing comprehensive smart contract security risks**

I'm carefully auditing the contracts for vulnerabilities across multiple categories like reentrancy, access control, oracle risks, and accounting. There is a lot here! I’m analyzing constructor call sequences, permission checks, potential reentrancy spots especially around external calls, and oracle price dependencies on Uniswap TWAP. Some minor accounting anomalies appear, but no obvious critical exploits jump out. I’m noting typical oracle manipulation risks inherent to TWAP pricing and some non-reentrancy on token transfer functions that might be low risk given assumed token behavior. Overall, I’m piecing together how contract logic, especially minting, staking, and fee distribution, interacts with these patterns to assess real exploitability.
thinking
**Examining staking logic and oracle-based economic risks**

I’m focused on staking reward calculations, memory vs storage usage, and some minting approximations that seem safe. A notable concern is oracle manipulation in ETH-TitanX pricing via Uniswap TWAP, which could let attackers acquire stakes below fair cost, causing economic loss. I’m also reviewing access control on key functions and reentrancy guards around liquidity additions and swaps. The Uniswap approvals and token transfers look mostly secure, though certain external calls might involve minor risks. Overall, I’m weighing how these pieces interact to consider practical exploit scenarios versus expected protocol behavior.
exec
/bin/bash -lc 'rg -n "torusCreateAndStake" AUDIT_BUNDLE.txt' in /tmp/codex-3ovebsx6 succeeded in 8ms:
3340:    TorusCreateAndStake public torusCreateAndStake;
3495:        address _torusCreateAndStake
3497:        require(address(torusCreateAndStake) == address(0), "Already set");
3498:        address oldCreateAndStake = address(torusCreateAndStake);
3499:        torusCreateAndStake = TorusCreateAndStake(_torusCreateAndStake);
3503:            address(torusCreateAndStake)

thinking
**Analyzing contract functions for risks**
exec
/bin/bash -lc 'rg -n "totalTorusBurnt" AUDIT_BUNDLE.txt' in /tmp/codex-3ovebsx6 succeeded in 6ms:
3366:    uint256 public totalTorusBurnt;
3542:        totalTorusBurnt += torusAmount;
3582:        totalTorusBurnt += torusAmount;
3743:        totalTorusBurnt += torusToBurn;

thinking
**Reviewing contract logic and potential issues**
exec
/bin/bash -lc 'rg -n "delegatecall" AUDIT_BUNDLE.txt' in /tmp/codex-3ovebsx6 succeeded in 9ms:
1160:        (bool success, bytes memory returndata) = target.delegatecall(data);


thinking
**Reviewing potential vulnerabilities and attack vectors**

I’m piecing together possible security issues, focusing mainly on oracle manipulation, unchecked return values, external call patterns, and some minor access control concerns. There’s a lot here about TWAP price manipulation risks on Uniswap pools affecting ETH/TitanX/Torus swaps, subtle unchecked approvals and return values with ERC20 tokens, and some external calls made before updating state which might lead to reentrancy risks—although limited by token properties or nonReentrant guards elsewhere. Overall, I’m gathering findings to produce a concise audit highlighting the main exploitable or risky patterns.
thinking
**Evaluating swap functions and oracle risks**
exec
/bin/bash -lc "nl -ba contracts/src/TorusCreateAndStake.sol | sed -n '180,360p'" in /tmp/codex-3ovebsx6 succeeded in 12ms:
   180	
   181	        uint shares = _calculateShares(mintedTorus, lengthInDays);
   182	
   183	        StakeTorus memory stakePos;
   184	        stakePos.startDayIndex = currentDay;
   185	        stakePos.principal = mintedTorus;
   186	        stakePos.stakingDays = lengthInDays;
   187	        stakePos.startTime = block.timestamp;
   188	        stakePos.endTime = block.timestamp + (lengthInDays * CREATE_CYCLE_DURATION);
   189	        stakePos.shares = shares;
   190	        stakePos.claimedCreate = false;
   191	        stakePos.claimedStake = false;
   192	        stakePos.power = power;
   193	        stakePos.costETH = costETH;
   194	        stakePos.costTitanX = costTitanX;
   195	        stakePos.isCreate = true;
   196	
   197	        stakePositions[msg.sender].push(stakePos);
   198	        uint256 stakeIndex = stakePositions[msg.sender].length - 1;
   199	

thinking
**Reviewing line numbers for specific functions**
exec
/bin/bash -lc "nl -ba contracts/src/TorusCreateAndStake.sol | sed -n '470,640p'" in /tmp/codex-3ovebsx6 succeeded in 6ms:
   470	        if (stakePos.stakingDays == 1) revert NotEligibleForEarlyClaim();
   471	
   472	        uint256 totalDuration = stakePos.endTime - stakePos.startTime;
   473	        uint256 elapsed       = block.timestamp - stakePos.startTime;
   474	
   475	        if (elapsed < (totalDuration / 2)) revert NotEligibleForEarlyClaim();
   476	        if (elapsed >= totalDuration) revert NotEligibleForEarlyClaim();
   477	
   478	        _checkAndUpdateRewardPool();
   479	        stakePos.claimedStake = true;
   480	
   481	        uint256 principal = stakePos.principal;
   482	        uint24 startDay   = stakePos.startDayIndex;
   483	        uint24 todayIndex = getCurrentDayIndex();
   484	
   485	        uint256 daysElapsed = todayIndex > startDay
   486	            ? todayIndex - startDay
   487	            : 0;
   488	        if (daysElapsed > stakePos.stakingDays) {
   489	            daysElapsed = stakePos.stakingDays;

thinking
**Identifying key functions for swaps**
exec
/bin/bash -lc "nl -ba contracts/src/TorusBuyAndProcess.sol | sed -n '320,560p'" in /tmp/codex-3ovebsx6 succeeded in 6ms:
   320	        address token0,
   321	        address token1
   322	        ) = _sortAmounts(INITIAL_TITAN_X_FOR_LIQ, INITIAL_LP_MINT);
   323	
   324	        TransferHelper.safeApprove(token0, address(POSITION_MANAGER), amount0);
   325	        TransferHelper.safeApprove(token1, address(POSITION_MANAGER), amount1);
   326	
   327	        uint256 amount0Min = (amount0 * (100 - liquiditySlippage)) / 100;
   328	        uint256 amount1Min = (amount1 * (100 - liquiditySlippage)) / 100;
   329	
   330	        INonfungiblePositionManager.MintParams memory params =
   331	            INonfungiblePositionManager.MintParams({
   332	                token0:         token0,
   333	                token1:         token1,
   334	                fee:            POOL_FEE,
   335	                tickLower:      (TickMath.MIN_TICK / TICK_SPACING) * TICK_SPACING,
   336	                tickUpper:      (TickMath.MAX_TICK / TICK_SPACING) * TICK_SPACING,
   337	                amount0Desired: amount0,
   338	                amount1Desired: amount1,
   339	                amount0Min:     amount0Min,

thinking
**Locating line numbers for swap functions**
exec
/bin/bash -lc "nl -ba contracts/src/TorusBuyAndProcess.sol | sed -n '560,940p'" in /tmp/codex-3ovebsx6 succeeded in 8ms:
   560	        fractalTitanX = 0;
   561	        fractalETH = 0;
   562	        lastFractalRelease = block.timestamp;
   563	    }
   564	
   565	    function _calculateIntervalsTitanXBurn(
   566	        uint256 timeElapsed
   567	    )
   568	        internal
   569	        view
   570	        returns (
   571	            uint32 _lastIntervalNumber,
   572	            uint128 _totalAmountForInterval,
   573	            uint32 missedIntervals
   574	        )
   575	    {
   576	        missedIntervals = lastBurnedTitanXIntervalStartTimestamp == 0
   577	            ? (
   578	                timeElapsed <= INTERVAL_TIME
   579	                    ? 0

thinking
**Rearranging swap function lines**
exec
/bin/bash -lc "nl -ba contracts/src/TorusBuyAndProcess.sol | sed -n '940,1220p'" in /tmp/codex-3ovebsx6 succeeded in 27ms:
   940	     * @param _deadline The deadline for the swap.
   941	     */
   942	    function swapTitanXForTorusAndBuild(
   943	        uint32 _deadline
   944	    ) external nonReentrant buildTitanXIntervalUpdate{
   945	        if (!liquidityAddedBuild) revert NotStartedYet();
   946	
   947	        IntervalBuild storage currInterval = titanXIntervalsBuild[
   948	            lastTitanXBuildIntervalNumber
   949	        ];
   950	        if (currInterval.amountBurned != 0) revert IntervalAlreadyUsed();
   951	
   952	        currInterval.amountBurned = currInterval.amountAllocated;
   953	        uint256 incentive = (currInterval.amountAllocated *
   954	            INCENTIVE_FEE_BUILD) / BPS_DENOM;
   955	
   956	        uint256 titanXToUse = currInterval.amountAllocated - incentive;
   957	        uint256 half = titanXToUse / 2;
   958	        uint256 remainder = titanXToUse - half;
   959	

thinking
**Preparing detailed oracle manipulation findings**
exec
/bin/bash -lc "nl -ba contracts/src/TorusCreateAndStake.sol | sed -n '640,760p'" in /tmp/codex-3ovebsx6 succeeded in 6ms:
   640	                    gas: 30000
   641	                }("");
   642	                require(refundSuccess, "Refund transfer failed");
   643	            }
   644	
   645	            return requiredETH;
   646	        } else {
   647	            uint256 requiredGenesisTitanX = (costTitanX * torus.genesisFee()) /
   648	                BPS_DENOM;
   649	            uint256 requiredBurnTitanX = (costTitanX * torus.burnFee()) /
   650	                BPS_DENOM;
   651	            uint256 requiredBuildTitanX = (costTitanX * torus.buildFee()) /
   652	                BPS_DENOM;
   653	            uint256 requiredTitanXBurn = (costTitanX * torus.titanXBurnFee()) /
   654	                BPS_DENOM;
   655	
   656	            IERC20(TITAN_X_ADDRESS).safeTransferFrom(
   657	                msg.sender,
   658	                address(this),
   659	                costTitanX

thinking
**Composing oracle manipulation findings summary**

I'm gathering details on two oracle manipulation risks related to the use of short Uniswap TWAPs affecting fee calculations and swaps, writing a clear, structured JSON report with severity, evidence, locations, exploit scenarios, and recommendations for more robust oracles and swap restrictions.
codex
{"no_findings":false,"summary":"Found oracle-manipulation risks where Uniswap V3 TWAPs directly set ETH fees and swap minimum outputs, enabling underpayment or adverse swap execution if the pools are manipulated or observation windows are short.","findings":[{"severity":"medium","category":"oracle","title":"ETH fee calculation can be underpaid via manipulable Uniswap TWAP","exploit_scenario":"An attacker manipulates the TITAN_X/ETH Uniswap V3 pool (especially early when `oldestObservation` is small) to make TitanX appear cheaper, then calls `createTorus` or `stakeTorus` with ETH. `getEthAmountForTitanX` returns a lower `requiredETH`, letting the attacker mint/stake with less ETH than intended while still receiving full Torus creation benefits.","recommendation":"Use a more robust price oracle (e.g., Chainlink) or enforce a minimum TWAP window and sanity bounds (e.g., revert if TWAP age < N minutes or if deviation vs. a secondary feed exceeds a threshold). Consider requiring an off-chain price quote with bounds instead of relying solely on the pool’s TWAP.","evidence":"`getEthAmountForTitanX` uses a TWAP from `TITAN_X_ETH_POOL`, and `_distributeFees` uses it to set `requiredETH` for create/stake fees; the window is shortened to `oldestObservation` when it is less than 15 minutes, which weakens manipulation resistance.","locations":["contracts/src/TorusCreateAndStake.sol:588","contracts/src/TorusCreateAndStake.sol:608","contracts/src/TorusCreateAndStake.sol:612"]},{"severity":"medium","category":"oracle","title":"Protocol swaps use manipulable TWAPs for `amountOutMinimum`, enabling adverse-rate swaps","exploit_scenario":"Because swap minOuts are computed from the same Uniswap pools’ TWAPs (with a potentially short observation window), an attacker can manipulate the pool price and then trigger public `swap*AndBurn/Build` calls to execute swaps at a disadvantaged rate. This can drain burn/build allocations by forcing the protocol to swap at a manipulated price, while the attacker arbitrages the price distortion.","recommendation":"Use a more manipulation-resistant oracle (longer TWAP with enforced minimum age, multiple pools, or Chainlink), add deviation checks vs. spot price, and consider having trusted keepers supply `amountOutMinimum` with on-chain bounds. If possible, restrict swap execution to a keeper to reduce sandwich/manipulation risk.","evidence":"`_swapTitanXForTorus` and `_swapETHForTitanX` derive `amountOutMinimum` from `getTorusQuoteForTitanX`/`getTitanXQuoteForETH`, which use a TWAP capped by `oldestObservation` (potentially very short). The same oracle is used in TorusCreateAndStake’s internal swap as well.","locations":["contracts/src/TorusBuyAndProcess.sol:821","contracts/src/TorusBuyAndProcess.sol:1092","contracts/src/TorusBuyAndProcess.sol:1120","contracts/src/TorusBuyAndProcess.sol:1142","contracts/src/TorusCreateAndStake.sol:746"]}]}
tokens used
93,552
Metadata
{
    "codex": {
        "ran_at": "2026-01-11T06:53:40.361861+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 43,
        "import_count": 52,
        "first_party_contracts_count": 37
    },
    "summary": "Found oracle-manipulation risks where Uniswap V3 TWAPs directly set ETH fees and swap minimum outputs, enabling underpayment or adverse swap execution if the pools are manipulated or observation windows are short.",
    "raw_final": {
        "summary": "Found oracle-manipulation risks where Uniswap V3 TWAPs directly set ETH fees and swap minimum outputs, enabling underpayment or adverse swap execution if the pools are manipulated or observation windows are short.",
        "findings": [
            {
                "title": "ETH fee calculation can be underpaid via manipulable Uniswap TWAP",
                "category": "oracle",
                "evidence": "`getEthAmountForTitanX` uses a TWAP from `TITAN_X_ETH_POOL`, and `_distributeFees` uses it to set `requiredETH` for create/stake fees; the window is shortened to `oldestObservation` when it is less than 15 minutes, which weakens manipulation resistance.",
                "severity": "medium",
                "locations": [
                    "contracts/src/TorusCreateAndStake.sol:588",
                    "contracts/src/TorusCreateAndStake.sol:608",
                    "contracts/src/TorusCreateAndStake.sol:612"
                ],
                "recommendation": "Use a more robust price oracle (e.g., Chainlink) or enforce a minimum TWAP window and sanity bounds (e.g., revert if TWAP age < N minutes or if deviation vs. a secondary feed exceeds a threshold). Consider requiring an off-chain price quote with bounds instead of relying solely on the pool\u2019s TWAP.",
                "exploit_scenario": "An attacker manipulates the TITAN_X/ETH Uniswap V3 pool (especially early when `oldestObservation` is small) to make TitanX appear cheaper, then calls `createTorus` or `stakeTorus` with ETH. `getEthAmountForTitanX` returns a lower `requiredETH`, letting the attacker mint/stake with less ETH than intended while still receiving full Torus creation benefits."
            },
            {
                "title": "Protocol swaps use manipulable TWAPs for `amountOutMinimum`, enabling adverse-rate swaps",
                "category": "oracle",
                "evidence": "`_swapTitanXForTorus` and `_swapETHForTitanX` derive `amountOutMinimum` from `getTorusQuoteForTitanX`/`getTitanXQuoteForETH`, which use a TWAP capped by `oldestObservation` (potentially very short). The same oracle is used in TorusCreateAndStake\u2019s internal swap as well.",
                "severity": "medium",
                "locations": [
                    "contracts/src/TorusBuyAndProcess.sol:821",
                    "contracts/src/TorusBuyAndProcess.sol:1092",
                    "contracts/src/TorusBuyAndProcess.sol:1120",
                    "contracts/src/TorusBuyAndProcess.sol:1142",
                    "contracts/src/TorusCreateAndStake.sol:746"
                ],
                "recommendation": "Use a more manipulation-resistant oracle (longer TWAP with enforced minimum age, multiple pools, or Chainlink), add deviation checks vs. spot price, and consider having trusted keepers supply `amountOutMinimum` with on-chain bounds. If possible, restrict swap execution to a keeper to reduce sandwich/manipulation risk.",
                "exploit_scenario": "Because swap minOuts are computed from the same Uniswap pools\u2019 TWAPs (with a potentially short observation window), an attacker can manipulate the pool price and then trigger public `swap*AndBurn/Build` calls to execute swaps at a disadvantaged rate. This can drain burn/build allocations by forcing the protocol to swap at a manipulated price, while the attacker arbitrages the price distortion."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
29
EXT*/BALANCE
2
Total opcodes
11235
Flags
call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: DUP1
00000003: PUSH1 0x40
00000005: MSTORE
00000006: PUSH1 0x04
00000008: CALLDATASIZE
00000009: LT
0000000a: ISZERO
0000000b: PUSH2 0x0013
0000000e: JUMPI
0000000f: PUSH1 0x00
00000011: DUP1
00000012: REVERT
00000013: JUMPDEST
00000014: PUSH1 0x00
00000016: SWAP1
00000017: DUP2
00000018: CALLDATALOAD
00000019: PUSH1 0xe0
0000001b: SHR
0000001c: SWAP1
0000001d: DUP2
0000001e: PUSH3 0x1dd3ea
00000022: EQ
00000023: PUSH2 0x20a7
00000026: JUMPI
00000027: POP
00000028: DUP1
00000029: PUSH4 0x038a0fc2
0000002e: EQ
0000002f: PUSH2 0x1ff8
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0x0421fd73
00000039: EQ
0000003a: PUSH2 0x1fda
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0x11ce408e
00000044: EQ
00000045: PUSH2 0x1fb4
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0x150b7a02
0000004f: EQ
00000050: PUSH2 0x1f44
00000053: JUMPI
00000054: DUP1
00000055: PUSH4 0x1766608a
0000005a: EQ
0000005b: PUSH2 0x1ed8
0000005e: JUMPI
0000005f: DUP1
00000060: PUSH4 0x1bea83fe
00000065: EQ
00000066: PUSH2 0x1ea9
00000069: JUMPI
0000006a: DUP1
0000006b: PUSH4 0x20918db7
00000070: EQ
00000071: PUSH2 0x1e85
00000074: JUMPI
00000075: DUP1
00000076: PUSH4 0x22d41f2f
0000007b: EQ
0000007c: PUSH2 0x1e6c
0000007f: JUMPI
00000080: DUP1
00000081: PUSH4 0x30dc71ac
00000086: EQ
00000087: PUSH2 0x1d70
0000008a: JUMPI
0000008b: DUP1
0000008c: PUSH4 0x34a4dd87
00000091: EQ
00000092: PUSH2 0x1d20
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0x39b6ce64
0000009c: EQ
0000009d: PUSH2 0x1be4
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0x3bef64b1
000000a7: EQ
000000a8: PUSH2 0x1bc6
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0x40f6ac31
000000b2: EQ
000000b3: PUSH2 0x1941
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0x4310b4ab
000000bd: EQ
000000be: PUSH2 0x1923
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0x50fff5c7
000000c8: EQ
000000c9: PUSH2 0x18ff
000000cc: JUMPI
000000cd: DUP1
000000ce: PUSH4 0x522897f8
000000d3: EQ
000000d4: PUSH2 0x18e1
000000d7: JUMPI
000000d8: DUP1
000000d9: PUSH4 0x53ad9b96
000000de: EQ
000000df: PUSH2 0x1787
000000e2: JUMPI
000000e3: DUP1
000000e4: PUSH4 0x53c5ca60
000000e9: EQ
000000ea: PUSH2 0x16e4
000000ed: JUMPI
000000ee: DUP1
000000ef: PUSH4 0x5c083c93
000000f4: EQ
000000f5: PUSH2 0x16c6
000000f8: JUMPI
000000f9: DUP1
000000fa: PUSH4 0x5fcbd285
000000ff: EQ
00000100: PUSH2 0x1692
00000103: JUMPI
00000104: DUP1
00000105: PUSH4 0x61a0d03c
0000010a: EQ
0000010b: PUSH2 0x1674
0000010e: JUMPI
0000010f: DUP1
00000110: PUSH4 0x63273d5c
00000115: EQ
00000116: PUSH2 0x1650
00000119: JUMPI
0000011a: DUP1
0000011b: PUSH4 0x69ea8787
00000120: EQ
00000121: PUSH2 0x1600
00000124: JUMPI
00000125: DUP1
00000126: PUSH4 0x6faa5b5c
0000012b: EQ
0000012c: PUSH2 0x15dc
0000012f: JUMPI
00000130: DUP1
00000131: PUSH4 0x6ffc6987
00000136: EQ
00000137: PUSH2 0x154f
0000013a: JUMPI
0000013b: DUP1
0000013c: PUSH4 0x715018a6
00000141: EQ
00000142: PUSH2 0x14e8
00000145: JUMPI
00000146: DUP1
00000147: PUSH4 0x79ba5097
0000014c: EQ
0000014d: PUSH2 0x1460
00000150: JUMPI
00000151: DUP1
00000152: PUSH4 0x7e8c8212
00000157: EQ
00000158: PUSH2 0x1441
0000015b: JUMPI
0000015c: DUP1
0000015d: PUSH4 0x8c0c428d
00000162: EQ
00000163: PUSH2 0x1423
00000166: JUMPI
00000167: DUP1
00000168: PUSH4 0x8da5cb5b
0000016d: EQ
0000016e: PUSH2 0x13fa
00000171: JUMPI
00000172: DUP1
00000173: PUSH4 0x922bffbf
00000178: EQ
00000179: PUSH2 0x138e
0000017c: JUMPI
0000017d: DUP1
0000017e: PUSH4 0x92fa7553
00000183: EQ
00000184: PUSH2 0x1368
00000187: JUMPI
00000188: DUP1
00000189: PUSH4 0x995c1c43
0000018e: EQ
0000018f: PUSH2 0x1318
00000192: JUMPI
00000193: DUP1
00000194: PUSH4 0x9ed1f0f9
00000199: EQ
0000019a: PUSH2 0x12fa
0000019d: JUMPI
0000019e: DUP1
0000019f: PUSH4 0xa53466d3
000001a4: EQ
000001a5: PUSH2 0x12dc
000001a8: JUMPI
000001a9: DUP1
000001aa: PUSH4 0xa569d2c2
000001af: EQ
000001b0: PUSH2 0x1270
000001b3: JUMPI
000001b4: DUP1
000001b5: PUSH4 0xa5a35068
000001ba: EQ
000001bb: PUSH2 0x1253
000001be: JUMPI
000001bf: DUP1
000001c0: PUSH4 0xa6aaae96
000001c5: EQ
000001c6: PUSH2 0x0d3b
000001c9: JUMPI
000001ca: DUP1
000001cb: PUSH4 0xa9c0527a
000001d0: EQ
000001d1: PUSH2 0x0d1d
000001d4: JUMPI
000001d5: DUP1
000001d6: PUSH4 0xaded25c9
000001db: EQ
000001dc: PUSH2 0x0cff
000001df: JUMPI
000001e0: DUP1
000001e1: PUSH4 0xb58b5883
000001e6: EQ
000001e7: PUSH2 0x0c71
000001ea: JUMPI
000001eb: DUP1
000001ec: PUSH4 0xb80f2a97
000001f1: EQ
000001f2: PUSH2 0x0c4b
000001f5: JUMPI
000001f6: DUP1
000001f7: PUSH4 0xb8b57969
000001fc: EQ
000001fd: PUSH2 0x0c2d
00000200: JUMPI
00000201: DUP1
00000202: PUSH4 0xba140782
00000207: EQ
00000208: PUSH2 0x0bb7
0000020b: JUMPI
0000020c: DUP1
0000020d: PUSH4 0xbb268486
00000212: EQ
00000213: PUSH2 0x0b67
00000216: JUMPI
00000217: DUP1
00000218: PUSH4 0xbc354013
0000021d: EQ
0000021e: PUSH2 0x0b40
00000221: JUMPI
00000222: DUP1
00000223: PUSH4 0xbe86f022
00000228: EQ
00000229: PUSH2 0x0b22
0000022c: JUMPI
0000022d: DUP1
0000022e: PUSH4 0xc381da4f
00000233: EQ
00000234: PUSH2 0x0a87
00000237: JUMPI
00000238: DUP1
00000239: PUSH4 0xc93625c1
0000023e: EQ
0000023f: PUSH2 0x0a63
00000242: JUMPI
00000243: DUP1
00000244: PUSH4 0xccd00052
00000249: EQ
0000024a: PUSH2 0x0a45
0000024d: JUMPI
0000024e: DUP1
0000024f: PUSH4 0xd4328f78
00000254: EQ
00000255: PUSH2 0x0a27
00000258: JUMPI
00000259: DUP1
0000025a: PUSH4 0xd4fba9f2
0000025f: EQ
00000260: PUSH2 0x09e2
00000263: JUMPI
00000264: DUP1
00000265: PUSH4 0xd6d315a4
0000026a: EQ
0000026b: PUSH2 0x0884
0000026e: JUMPI
0000026f: DUP1
00000270: PUSH4 0xd7d74300
00000275: EQ
00000276: PUSH2 0x07e7
00000279: JUMPI
0000027a: DUP1
0000027b: PUSH4 0xd9443923
00000280: EQ
00000281: PUSH2 0x07c4
00000284: JUMPI
00000285: DUP1
00000286: PUSH4 0xd9a17529
0000028b: EQ
0000028c: PUSH2 0x07a6
0000028f: JUMPI
00000290: DUP1
00000291: PUSH4 0xd9c45398
00000296: EQ
00000297: PUSH2 0x0788
0000029a: JUMPI
0000029b: DUP1
0000029c: PUSH4 0xe30c3978
000002a1: EQ
000002a2: PUSH2 0x075f
000002a5: JUMPI
000002a6: DUP1
000002a7: PUSH4 0xe3221eb5
000002ac: EQ
000002ad: PUSH2 0x0670
000002b0: JUMPI
000002b1: DUP1
000002b2: PUSH4 0xe5bdccd7
000002b7: EQ
000002b8: PUSH2 0x064c
000002bb: JUMPI
000002bc: DUP1
000002bd: PUSH4 0xead5e794
000002c2: EQ
000002c3: PUSH2 0x0626
000002c6: JUMPI
000002c7: DUP1
000002c8: PUSH4 0xecb2d32d
000002cd: EQ
000002ce: PUSH2 0x0602
000002d1: JUMPI
000002d2: DUP1
000002d3: PUSH4 0xef474ad7
000002d8: EQ
000002d9: PUSH2 0x05dc
000002dc: JUMPI
000002dd: DUP1
000002de: PUSH4 0xf2fde38b
000002e3: EQ
000002e4: PUSH2 0x056e
000002e7: JUMPI
000002e8: DUP1
000002e9: PUSH4 0xf38d00f0
000002ee: EQ
000002ef: PUSH2 0x052d
000002f2: JUMPI
000002f3: DUP1
000002f4: PUSH4 0xf6b8cd5a
000002f9: EQ
000002fa: PUSH2 0x0511
000002fd: JUMPI
000002fe: DUP1
000002ff: PUSH4 0xfbeaee88
00000304: EQ
00000305: PUSH2 0x04f3
00000308: JUMPI
00000309: PUSH4 0xfc9b61ae
0000030e: EQ
0000030f: PUSH2 0x0317
00000312: JUMPI
00000313: PUSH1 0x00
00000315: DUP1
00000316: REVERT
00000317: JUMPDEST
00000318: CALLVALUE
00000319: PUSH2 0x04f0
0000031c: JUMPI
0000031d: PUSH1 0x20
0000031f: CALLDATASIZE
00000320: PUSH1 0x03
00000322: NOT
00000323: ADD
00000324: SLT
00000325: PUSH2 0x04f0
00000328: JUMPI
00000329: PUSH1 0x04
0000032b: CALLDATALOAD
0000032c: PUSH4 0xffffffff
00000331: DUP2
00000332: AND
00000333: DUP1
00000334: SWAP2
00000335: SUB
00000336: PUSH2 0x04ec
00000339: JUMPI
0000033a: PUSH2 0x0341
0000033d: PUSH2 0x346c
00000340: JUMP
00000341: JUMPDEST
00000342: PUSH2 0x0349
00000345: PUSH2 0x3063
00000348: JUMP
00000349: JUMPDEST
0000034a: PUSH1 0xff
0000034c: PUSH1 0x1c
0000034e: SLOAD
0000034f: PUSH1 0x40
00000351: SHR
00000352: AND
00000353: ISZERO
00000354: PUSH2 0x04dd
00000357: JUMPI
00000358: PUSH4 0xffffffff
0000035d: PUSH1 0x1a
0000035f: SLOAD
00000360: AND
00000361: DUP3
00000362: MSTORE
00000363: PUSH1 0x19
00000365: PUSH1 0x20
00000367: MSTORE
00000368: PUSH1 0x40
0000036a: DUP3
0000036b: KECCAK256
0000036c: DUP1
0000036d: SLOAD
0000036e: DUP1
0000036f: PUSH1 0x80
00000371: SHR
00000372: PUSH2 0x04ce
00000375: JUMPI
00000376: DUP2
00000377: SLOAD
00000378: PUSH1 0x01
0000037a: PUSH1 0x01
0000037c: PUSH1 0x80
0000037e: SHL
0000037f: SUB
00000380: SWAP1
00000381: DUP2
00000382: AND
00000383: PUSH1 0x80
00000385: SWAP3
00000386: SWAP1
00000387: SWAP3
00000388: SHL
00000389: PUSH1 0x01
0000038b: PUSH1 0x01
0000038d: PUSH1 0x80
0000038f: SHL
00000390: SUB
00000391: NOT
00000392: AND
00000393: SWAP2
00000394: SWAP1
00000395: SWAP2
00000396: OR
00000397: DUP3
00000398: SSTORE
00000399: SWAP1
0000039a: SLOAD
0000039b: AND
0000039c: SWAP1
0000039d: PUSH1 0x96
0000039f: DUP3
000003a0: MUL
000003a1: DUP3
000003a2: DUP2
000003a3: DIV
000003a4: PUSH1 0x96
000003a6: EQ
000003a7: DUP4
000003a8: ISZERO
000003a9: OR
000003aa: ISZERO
000003ab: PUSH2 0x04ba
000003ae: JUMPI
000003af: PUSH2 0x2710
000003b2: PUSH2 0x03bd
000003b5: SWAP2
000003b6: DIV
000003b7: DUP1
000003b8: SWAP4
000003b9: PUSH2 0x20fd
000003bc: JUMP
000003bd: JUMPDEST
000003be: SWAP2
000003bf: PUSH2 0x0417
000003c2: DUP4
000003c3: PUSH1 0x01
000003c5: SHR
000003c6: SWAP3
000003c7: PUSH2 0x0410
000003ca: DUP2
000003cb: PUSH2 0x03d4
000003ce: DUP7
000003cf: DUP9
000003d0: PUSH2 0x20fd
000003d3: JUMP
000003d4: JUMPDEST
000003d5: SWAP6
000003d6: PUSH2 0x03e1
000003d9: DUP9
000003da: PUSH1 0x1d
000003dc: SLOAD
000003dd: PUSH2 0x2120
000003e0: JUMP
000003e1: JUMPDEST
000003e2: PUSH1 0x1d
000003e4: SSTORE
000003e5: PUSH2 0x03f9
000003e8: PUSH2 0x03f1
000003eb: DUP8
000003ec: DUP11
000003ed: PUSH2 0x2120
000003f0: JUMP
000003f1: JUMPDEST
000003f2: PUSH1 0x1f
000003f4: SLOAD
000003f5: PUSH2 0x20fd
000003f8: JUMP
000003f9: JUMPDEST
000003fa: PUSH1 0x1f
000003fc: SSTORE
000003fd: PUSH2 0x0408
00000400: DUP9
00000401: PUSH1 0x0a
00000403: SLOAD
00000404: PUSH2 0x2120
00000407: JUMP
00000408: JUMPDEST
00000409: PUSH1 0x0a
0000040b: SSTORE
0000040c: PUSH2 0x379f
0000040f: JUMP
00000410: JUMPDEST
00000411: DUP1
00000412: SWAP5
00000413: PUSH2 0x3beb
00000416: JUMP
00000417: JUMPDEST
00000418: PUSH1 0x14
0000041a: SLOAD
0000041b: PUSH3 0x910500
0000041f: DUP2
00000420: ADD
00000421: DUP1
00000422: SWAP2
00000423: GT
00000424: PUSH2 0x04a6
00000427: JUMPI
00000428: SWAP1
00000429: PUSH2 0x046c
0000042c: SWAP2
0000042d: TIMESTAMP
0000042e: LT
0000042f: ISZERO
00000430: PUSH2 0x0499
00000433: JUMPI
00000434: JUMPDEST
00000435: PUSH2 0x043c
00000438: PUSH2 0x2ece
0000043b: JUMP
0000043c: JUMPDEST
0000043d: CALLER
0000043e: PUSH32 0x000000000000000000000000f19308f923582a6f7c465e5ce7a9dc1bec6665b1
0000045f: PUSH1 0x01
00000461: PUSH1 0x01
00000463: PUSH1 0xa0
00000465: SHL
00000466: SUB
00000467: AND
00000468: PUSH2 0x3a2f
0000046b: JUMP
0000046c: JUMPDEST
0000046d: CALLER
0000046e: SWAP2
0000046f: PUSH32 0x302485b9d53be977b4eb410b57770a1772f7ac7e5a137ec6ac179e403f69b541
00000490: DUP5
00000491: DUP1
00000492: LOG4
00000493: PUSH1 0x01
00000495: DUP2
00000496: SSTORE
00000497: DUP1
00000498: RETURN
00000499: JUMPDEST
0000049a: PUSH2 0x04a1
0000049d: PUSH2 0x216b
000004a0: JUMP
000004a1: JUMPDEST
000004a2: PUSH2 0x0434
000004a5: JUMP
000004a6: JUMPDEST
000004a7: PUSH4 0x4e487b71
000004ac: PUSH1 0xe0
000004ae: SHL
000004af: DUP6
000004b0: MSTORE
000004b1: PUSH1 0x11
000004b3: PUSH1 0x04
000004b5: MSTORE
000004b6: PUSH1 0x24
000004b8: DUP6
000004b9: REVERT
000004ba: JUMPDEST
000004bb: PUSH4 0x4e487b71
000004c0: PUSH1 0xe0
000004c2: SHL
000004c3: DUP5
000004c4: MSTORE
000004c5: PUSH1 0x11
000004c7: PUSH1 0x04
000004c9: MSTORE
000004ca: PUSH1 0x24
000004cc: DUP5
000004cd: REVERT
000004ce: JUMPDEST
000004cf: PUSH4 0xc0f8532b
000004d4: PUSH1 0xe0
000004d6: SHL
000004d7: DUP5
000004d8: MSTORE
000004d9: PUSH1 0x04
000004db: DUP5
000004dc: REVERT
000004dd: JUMPDEST
000004de: PUSH4 0x1864d7ab
000004e3: PUSH1 0xe2
000004e5: SHL
000004e6: DUP3
000004e7: MSTORE
000004e8: PUSH1 0x04
000004ea: DUP3
000004eb: REVERT
000004ec: JUMPDEST
000004ed: POP
000004ee: DUP1
000004ef: REVERT
000004f0: JUMPDEST
000004f1: DUP1
000004f2: REVERT
000004f3: JUMPDEST
000004f4: POP
000004f5: CALLVALUE
000004f6: PUSH2 0x04f0
000004f9: JUMPI
000004fa: DUP1
000004fb: PUSH1 0x03
000004fd: NOT
000004fe: CALLDATASIZE
000004ff: ADD
00000500: SLT
00000501: PUSH2 0x04f0
00000504: JUMPI
00000505: PUSH1 0x20
00000507: PUSH1 0x0c
00000509: SLOAD
0000050a: PUSH1 0x40
0000050c: MLOAD
0000050d: SWAP1
0000050e: DUP2
0000050f: MSTORE
00000510: RETURN
00000511: JUMPDEST
00000512: POP
00000513: CALLVALUE
00000514: PUSH2 0x04f0
00000517: JUMPI
00000518: DUP1
00000519: PUSH1 0x03
0000051b: NOT
0000051c: CALLDATASIZE
0000051d: ADD
0000051e: SLT
0000051f: PUSH2 0x04f0
00000522: JUMPI
00000523: PUSH2 0x052a
00000526: PUSH2 0x2ece
00000529: JUMP
0000052a: JUMPDEST
0000052b: DUP1
0000052c: RETURN
0000052d: JUMPDEST
0000052e: POP
0000052f: CALLVALUE
00000530: PUSH2 0x04f0
00000533: JUMPI
00000534: DUP1
00000535: PUSH1 0x03
00000537: NOT
00000538: CALLDATASIZE
00000539: ADD
0000053a: SLT
0000053b: PUSH2 0x04f0
0000053e: JUMPI
0000053f: PUSH1 0x20
00000541: PUSH1 0x40
00000543: MLOAD
00000544: PUSH4 0xffffffff
00000549: PUSH32 0x00000000000000000000000000000000000000000000000000000000686fffa0
0000056a: AND
0000056b: DUP2
0000056c: MSTORE
0000056d: RETURN
0000056e: JUMPDEST
0000056f: POP
00000570: CALLVALUE
00000571: PUSH2 0x04f0
00000574: JUMPI
00000575: PUSH1 0x20
00000577: CALLDATASIZE
00000578: PUSH1 0x03
0000057a: NOT
0000057b: ADD
0000057c: SLT
0000057d: PUSH2 0x04f0
00000580: JUMPI
00000581: PUSH2 0x0588
00000584: PUSH2 0x20cc
00000587: JUMP
00000588: JUMPDEST
00000589: PUSH2 0x0590
0000058c: PUSH2 0x32d2
0000058f: JUMP
00000590: JUMPDEST
00000591: PUSH1 0x02
00000593: DUP1
00000594: SLOAD
00000595: PUSH1 0x01
00000597: PUSH1 0x01
00000599: PUSH1 0xa0
0000059b: SHL
0000059c: SUB
0000059d: NOT
0000059e: AND
0000059f: PUSH1 0x01
000005a1: PUSH1 0x01
000005a3: PUSH1 0xa0
000005a5: SHL
000005a6: SUB
000005a7: SWAP3
000005a8: DUP4
000005a9: AND
000005aa: SWAP1
000005ab: DUP2
000005ac: OR
000005ad: SWAP1
000005ae: SWAP2
000005af: SSTORE
000005b0: PUSH1 0x01
000005b2: SLOAD
000005b3: SWAP1
000005b4: SWAP2
000005b5: AND
000005b6: PUSH32 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700
000005d7: DUP4
000005d8: DUP1
000005d9: LOG3
000005da: DUP1
000005db: RETURN
000005dc: JUMPDEST
000005dd: POP
000005de: CALLVALUE
000005df: PUSH2 0x04f0
000005e2: JUMPI
000005e3: DUP1
000005e4: PUSH1 0x03
000005e6: NOT
000005e7: CALLDATASIZE
000005e8: ADD
000005e9: SLT
000005ea: PUSH2 0x04f0
000005ed: JUMPI
000005ee: PUSH1 0x20
000005f0: PUSH4 0xffffffff
000005f5: PUSH1 0x1a
000005f7: SLOAD
000005f8: DUP3
000005f9: SHR
000005fa: AND
000005fb: PUSH1 0x40
000005fd: MLOAD
000005fe: SWAP1
000005ff: DUP2
00000600: MSTORE
00000601: RETURN
00000602: JUMPDEST
00000603: POP
00000604: CALLVALUE
00000605: PUSH2 0x04f0
00000608: JUMPI
00000609: DUP1
0000060a: PUSH1 0x03
0000060c: NOT
0000060d: CALLDATASIZE
0000060e: ADD
0000060f: SLT
00000610: PUSH2 0x04f0
00000613: JUMPI
00000614: PUSH1 0x20
00000616: PUSH1 0xff
00000618: PUSH1 0x18
0000061a: SLOAD
0000061b: PUSH1 0x48
0000061d: SHR
0000061e: AND
0000061f: PUSH1 0x40
00000621: MLOAD
00000622: SWAP1
00000623: DUP2
00000624: MSTORE
00000625: RETURN
00000626: JUMPDEST
00000627: POP
00000628: CALLVALUE
00000629: PUSH2 0x04f0
0000062c: JUMPI
0000062d: DUP1
0000062e: PUSH1 0x03
00000630: NOT
00000631: CALLDATASIZE
00000632: ADD
00000633: SLT
00000634: PUSH2 0x04f0
00000637: JUMPI
00000638: PUSH1 0x20
0000063a: PUSH4 0xffffffff
0000063f: PUSH1 0x18
00000641: SLOAD
00000642: DUP3
00000643: SHR
00000644: AND
00000645: PUSH1 0x40
00000647: MLOAD
00000648: SWAP1
00000649: DUP2
0000064a: MSTORE
0000064b: RETURN
0000064c: JUMPDEST
0000064d: POP
0000064e: CALLVALUE
0000064f: PUSH2 0x04f0
00000652: JUMPI
00000653: DUP1
00000654: PUSH1 0x03
00000656: NOT
00000657: CALLDATASIZE
00000658: ADD
00000659: SLT
0000065a: PUSH2 0x04f0
0000065d: JUMPI
0000065e: PUSH1 0x20
00000660: PUSH4 0xffffffff
00000665: PUSH1 0x16
00000667: SLOAD
00000668: AND
00000669: PUSH1 0x40
0000066b: MLOAD
0000066c: SWAP1
0000066d: DUP2
0000066e: MSTORE
0000066f: RETURN
00000670: JUMPDEST
00000671: POP
00000672: DUP1
00000673: PUSH1 0x03
00000675: NOT
00000676: CALLDATASIZE
00000677: ADD
00000678: SLT
00000679: PUSH2 0x04f0
0000067c: JUMPI
0000067d: CALLVALUE
0000067e: ISZERO
0000067f: PUSH2 0x0750
00000682: JUMPI
00000683: PUSH4 0xffffffff
00000688: PUSH32 0x00000000000000000000000000000000000000000000000000000000686fffa0
000006a9: AND
000006aa: TIMESTAMP
000006ab: GT
000006ac: DUP1
000006ad: PUSH2 0x0731
000006b0: JUMPI
000006b1: JUMPDEST
000006b2: PUSH2 0x0724
000006b5: JUMPI
000006b6: JUMPDEST
000006b7: PUSH1 0x1c
000006b9: CALLVALUE
000006ba: MUL
000006bb: CALLVALUE
000006bc: DUP2
000006bd: DIV
000006be: PUSH1 0x1c
000006c0: SUB
000006c1: PUSH2 0x0710
000006c4: JUMPI
000006c5: PUSH1 0x64
000006c7: PUSH2 0x06eb
000006ca: SWAP2
000006cb: DIV
000006cc: PUSH2 0x06e0
000006cf: PUSH2 0x06d8
000006d2: DUP3
000006d3: CALLVALUE
000006d4: PUSH2 0x20fd
000006d7: JUMP
000006d8: JUMPDEST
000006d9: PUSH1 0x11
000006db: SLOAD
000006dc: PUSH2 0x2120
000006df: JUMP
000006e0: JUMPDEST
000006e1: PUSH1 0x11
000006e3: SSTORE
000006e4: PUSH1 0x13
000006e6: SLOAD
000006e7: PUSH2 0x2120
000006ea: JUMP
000006eb: JUMPDEST
000006ec: PUSH1 0x13
000006ee: SSTORE
000006ef: PUSH1 0x14
000006f1: SLOAD
000006f2: PUSH3 0x910500
000006f6: DUP2
000006f7: ADD
000006f8: DUP1
000006f9: SWAP2
000006fa: GT
000006fb: PUSH2 0x0710
000006fe: JUMPI
000006ff: TIMESTAMP
00000700: LT
00000701: ISZERO
00000702: PUSH2 0x0708
00000705: JUMPI
00000706: DUP1
00000707: RETURN
00000708: JUMPDEST
00000709: PUSH2 0x052a
0000070c: PUSH2 0x216b
0000070f: JUMP
00000710: JUMPDEST
00000711: PUSH4 0x4e487b71
00000716: PUSH1 0xe0
00000718: SHL
00000719: DUP3
0000071a: MSTORE
0000071b: PUSH1 0x11
0000071d: PUSH1 0x04
0000071f: MSTORE
00000720: PUSH1 0x24
00000722: DUP3
00000723: REVERT
00000724: JUMPDEST
00000725: PUSH2 0x072c
00000728: PUSH2 0x348e
0000072b: JUMP
0000072c: JUMPDEST
0000072d: PUSH2 0x06b6
00000730: JUMP
00000731: JUMPDEST
00000732: POP
00000733: PUSH2 0x0258
00000736: PUSH2 0x074a
00000739: PUSH4 0xffffffff
0000073e: PUSH1 0x18
00000740: SLOAD
00000741: PUSH1 0x20
00000743: SHR
00000744: AND
00000745: TIMESTAMP
00000746: PUSH2 0x20fd
00000749: JUMP
0000074a: JUMPDEST
0000074b: GT
0000074c: PUSH2 0x06b1
0000074f: JUMP
00000750: JUMPDEST
00000751: PUSH4 0xb4fa3fb3
00000756: PUSH1 0xe0
00000758: SHL
00000759: DUP2
0000075a: MSTORE
0000075b: PUSH1 0x04
0000075d: SWAP1
0000075e: REVERT
0000075f: JUMPDEST
00000760: POP
00000761: CALLVALUE
00000762: PUSH2 0x04f0
00000765: JUMPI
00000766: DUP1
00000767: PUSH1 0x03
00000769: NOT
0000076a: CALLDATASIZE
0000076b: ADD
0000076c: SLT
0000076d: PUSH2 0x04f0
00000770: JUMPI
00000771: PUSH1 0x02
00000773: SLOAD
00000774: PUSH1 0x40
00000776: MLOAD
00000777: PUSH1 0x01
00000779: PUSH1 0x01
0000077b: PUSH1 0xa0
0000077d: SHL
0000077e: SUB
0000077f: SWAP1
00000780: SWAP2
00000781: AND
00000782: DUP2
00000783: MSTORE
00000784: PUSH1 0x20
00000786: SWAP1
00000787: RETURN
00000788: JUMPDEST
00000789: POP
0000078a: CALLVALUE
0000078b: PUSH2 0x04f0
0000078e: JUMPI
0000078f: DUP1
00000790: PUSH1 0x03
00000792: NOT
00000793: CALLDATASIZE
00000794: ADD
00000795: SLT
00000796: PUSH2 0x04f0
00000799: JUMPI
0000079a: PUSH1 0x20
0000079c: PUSH1 0x1d
0000079e: SLOAD
0000079f: PUSH1 0x40
000007a1: MLOAD
000007a2: SWAP1
000007a3: DUP2
000007a4: MSTORE
000007a5: RETURN
000007a6: JUMPDEST
000007a7: POP
000007a8: CALLVALUE
000007a9: PUSH2 0x04f0
000007ac: JUMPI
000007ad: DUP1
000007ae: PUSH1 0x03
000007b0: NOT
000007b1: CALLDATASIZE
000007b2: ADD
000007b3: SLT
000007b4: PUSH2 0x04f0
000007b7: JUMPI
000007b8: PUSH1 0x20
000007ba: PUSH1 0x1e
000007bc: SLOAD
000007bd: PUSH1 0x40
000007bf: MLOAD
000007c0: SWAP1
000007c1: DUP2
000007c2: MSTORE
000007c3: RETURN
000007c4: JUMPDEST
000007c5: POP
000007c6: CALLVALUE
000007c7: PUSH2 0x04f0
000007ca: JUMPI
000007cb: DUP1
000007cc: PUSH1 0x03
000007ce: NOT
000007cf: CALLDATASIZE
000007d0: ADD
000007d1: SLT
000007d2: PUSH2 0x04f0
000007d5: JUMPI
000007d6: PUSH1 0x20
000007d8: PUSH1 0xff
000007da: PUSH1 0x05
000007dc: SLOAD
000007dd: AND
000007de: PUSH1 0x40
000007e0: MLOAD
000007e1: SWAP1
000007e2: ISZERO
000007e3: ISZERO
000007e4: DUP2
000007e5: MSTORE
000007e6: RETURN
000007e7: JUMPDEST
000007e8: POP
000007e9: CALLVALUE
000007ea: PUSH2 0x04f0
000007ed: JUMPI
000007ee: PUSH1 0x20
000007f0: CALLDATASIZE
000007f1: PUSH1 0x03
000007f3: NOT
000007f4: ADD
000007f5: SLT
000007f6: PUSH2 0x04f0
000007f9: JUMPI
000007fa: PUSH1 0x04
000007fc: CALLDATALOAD
000007fd: PUSH1 0xff
000007ff: DUP2
00000800: AND
00000801: SWAP1
00000802: DUP2
00000803: DUP2
00000804: SUB
00000805: PUSH2 0x0880
00000808: JUMPI
00000809: PUSH2 0x0810
0000080c: PUSH2 0x32d2
0000080f: JUMP
00000810: JUMPDEST
00000811: PUSH1 0x64
00000813: DUP3
00000814: GT
00000815: DUP1
00000816: ISZERO
00000817: PUSH2 0x0876
0000081a: JUMPI
0000081b: JUMPDEST
0000081c: PUSH2 0x0867
0000081f: JUMPI
00000820: PUSH32 0x58897fd62867a3483c79f9ab9742ec64537a4662a8833601685976c487d72e67
00000841: SWAP2
00000842: PUSH1 0x20
00000844: SWAP2
00000845: PUSH1 0xff
00000847: PUSH1 0x48
00000849: SHL
0000084a: PUSH1 0x18
0000084c: SLOAD
0000084d: SWAP2
0000084e: PUSH1 0x48
00000850: SHL
00000851: AND
00000852: SWAP1
00000853: PUSH1 0xff
00000855: PUSH1 0x48
00000857: SHL
00000858: NOT
00000859: AND
0000085a: OR
0000085b: PUSH1 0x18
0000085d: SSTORE
0000085e: PUSH1 0x40
00000860: MLOAD
00000861: SWAP1
00000862: DUP2
00000863: MSTORE
00000864: LOG1
00000865: DUP1
00000866: RETURN
00000867: JUMPDEST
00000868: PUSH4 0xb4fa3fb3
0000086d: PUSH1 0xe0
0000086f: SHL
00000870: DUP4
00000871: MSTORE
00000872: PUSH1 0x04
00000874: DUP4
00000875: REVERT
00000876: JUMPDEST
00000877: POP
00000878: PUSH1 0x02
0000087a: DUP3
0000087b: LT
0000087c: PUSH2 0x081b
0000087f: JUMP
00000880: JUMPDEST
00000881: DUP3
00000882: DUP1
00000883: REVERT
00000884: JUMPDEST
00000885: POP
00000886: CALLVALUE
00000887: PUSH2 0x04f0
0000088a: JUMPI
0000088b: PUSH1 0x20
0000088d: CALLDATASIZE
0000088e: PUSH1 0x03
00000890: NOT
00000891: ADD
00000892: SLT
00000893: PUSH2 0x04f0
00000896: JUMPI
00000897: PUSH1 0x04
00000899: CALLDATALOAD
0000089a: PUSH4 0xffffffff
0000089f: DUP2
000008a0: AND
000008a1: DUP1
000008a2: SWAP2
000008a3: SUB
000008a4: PUSH2 0x04ec
000008a7: JUMPI
000008a8: PUSH2 0x08af
000008ab: PUSH2 0x346c
000008ae: JUMP
000008af: JUMPDEST
000008b0: PUSH2 0x08b7
000008b3: PUSH2 0x32fb
000008b6: JUMP
000008b7: JUMPDEST
000008b8: PUSH1 0xff
000008ba: PUSH1 0x05
000008bc: SLOAD
000008bd: AND
000008be: ISZERO
000008bf: PUSH2 0x04dd
000008c2: JUMPI
000008c3: PUSH4 0xffffffff
000008c8: PUSH1 0x16
000008ca: SLOAD
000008cb: AND
000008cc: DUP3
000008cd: MSTORE
000008ce: PUSH1 0x15
000008d0: PUSH1 0x20
000008d2: MSTORE
000008d3: PUSH1 0x40
000008d5: DUP3
000008d6: KECCAK256
000008d7: DUP1
000008d8: SLOAD
000008d9: DUP1
000008da: PUSH1 0x80
000008dc: SHR
000008dd: PUSH2 0x09d3
000008e0: JUMPI
000008e1: DUP2
000008e2: SLOAD
000008e3: PUSH1 0x01
000008e5: PUSH1 0x01
000008e7: PUSH1 0x80
000008e9: SHL
000008ea: SUB
000008eb: SWAP1
000008ec: DUP2
000008ed: AND
000008ee: PUSH1 0x80
000008f0: DUP4
000008f1: SWAP1
000008f2: SHL
000008f3: PUSH1 0x01
000008f5: PUSH1 0x01
000008f7: PUSH1 0x80
000008f9: SHL
000008fa: SUB
000008fb: NOT
000008fc: AND
000008fd: OR
000008fe: DUP4
000008ff: SSTORE
00000900: AND
00000901: PUSH1 0x01
00000903: PUSH1 0x01
00000905: PUSH1 0x80
00000907: SHL
00000908: SUB
00000909: DUP3
0000090a: SLOAD
0000090b: AND
0000090c: PUSH1 0x96
0000090e: DUP2
0000090f: MUL
00000910: SWAP1
00000911: DUP1
00000912: DUP3
00000913: DIV
00000914: PUSH1 0x96
00000916: EQ
00000917: SWAP1
00000918: ISZERO
00000919: OR
0000091a: ISZERO
0000091b: PUSH2 0x04a6
0000091e: JUMPI
0000091f: PUSH1 0x01
00000921: PUSH1 0x01
00000923: PUSH1 0x80
00000925: SHL
00000926: SUB
00000927: PUSH2 0x0942
0000092a: PUSH2 0x093b
0000092d: PUSH2 0x2710
00000930: PUSH2 0x096b
00000933: SWAP5
00000934: DIV
00000935: DUP1
00000936: SWAP6
00000937: PUSH2 0x20fd
0000093a: JUMP
0000093b: JUMPDEST
0000093c: SWAP6
0000093d: DUP7
0000093e: PUSH2 0x379f
00000941: JUMP
00000942: JUMPDEST
00000943: SWAP4
00000944: PUSH2 0x094f
00000947: DUP7
00000948: PUSH1 0x08
0000094a: SLOAD
0000094b: PUSH2 0x2120
0000094e: JUMP
0000094f: JUMPDEST
00000950: PUSH1 0x08
00000952: SSTORE
00000953: PUSH2 0x095e
00000956: DUP6
00000957: PUSH1 0x06
00000959: SLOAD
0000095a: PUSH2 0x2120
0000095d: JUMP
0000095e: JUMPDEST
0000095f: PUSH1 0x06
00000961: SSTORE
00000962: SLOAD
00000963: AND
00000964: PUSH1 0x10
00000966: SLOAD
00000967: PUSH2 0x20fd
0000096a: JUMP
0000096b: JUMPDEST
0000096c: PUSH1 0x10
0000096e: SSTORE
0000096f: PUSH1 0x14
00000971: SLOAD
00000972: PUSH3 0x910500
00000976: DUP2
00000977: ADD
00000978: DUP1
00000979: SWAP2
0000097a: GT
0000097b: PUSH2 0x04a6
0000097e: JUMPI
0000097f: SWAP1
00000980: PUSH2 0x0999
00000983: SWAP2
00000984: TIMESTAMP
00000985: LT
00000986: ISZERO
00000987: PUSH2 0x09c6
0000098a: JUMPI
0000098b: JUMPDEST
0000098c: PUSH2 0x0993
0000098f: PUSH2 0x2ece
00000992: JUMP
00000993: JUMPDEST
00000994: CALLER
00000995: PUSH2 0x3957
00000998: JUMP
00000999: JUMPDEST
0000099a: CALLER
0000099b: SWAP2
0000099c: PUSH32 0x1b3ed074dce570943c9d4e66776a060e8ac73af4f6b002482b09e561d90f038c
000009bd: DUP5
000009be: DUP1
000009bf: LOG4
000009c0: PUSH1 0x01
000009c2: DUP2
000009c3: SSTORE
000009c4: DUP1
000009c5: RETURN
000009c6: JUMPDEST
000009c7: PUSH2 0x09ce
000009ca: PUSH2 0x216b
000009cd: JUMP
000009ce: JUMPDEST
000009cf: PUSH2 0x098b
000009d2: JUMP
000009d3: JUMPDEST
000009d4: PUSH4 0x31bbcb21
000009d9: PUSH1 0xe1
000009db: SHL
000009dc: DUP5
000009dd: MSTORE
000009de: PUSH1 0x04
000009e0: DUP5
000009e1: REVERT
000009e2: JUMPDEST
000009e3: POP
000009e4: CALLVALUE
000009e5: PUSH2 0x04f0
000009e8: JUMPI
000009e9: DUP1
000009ea: PUSH1 0x03
000009ec: NOT
000009ed: CALLDATASIZE
000009ee: ADD
000009ef: SLT
000009f0: PUSH2 0x04f0
000009f3: JUMPI
000009f4: PUSH1 0x40
000009f6: MLOAD
000009f7: PUSH32 0x000000000000000000000000b47f575807fc5466285e1277ef8acfbb5c6686e8
00000a18: PUSH1 0x01
00000a1a: PUSH1 0x01
00000a1c: PUSH1 0xa0
00000a1e: SHL
00000a1f: SUB
00000a20: AND
00000a21: DUP2
00000a22: MSTORE
00000a23: PUSH1 0x20
00000a25: SWAP1
00000a26: RETURN
00000a27: JUMPDEST
00000a28: POP
00000a29: CALLVALUE
00000a2a: PUSH2 0x04f0
00000a2d: JUMPI
00000a2e: DUP1
00000a2f: PUSH1 0x03
00000a31: NOT
00000a32: CALLDATASIZE
00000a33: ADD
00000a34: SLT
00000a35: PUSH2 0x04f0
00000a38: JUMPI
00000a39: PUSH1 0x20
00000a3b: PUSH1 0x11
00000a3d: SLOAD
00000a3e: PUSH1 0x40
00000a40: MLOAD
00000a41: SWAP1
00000a42: DUP2
00000a43: MSTORE
00000a44: RETURN
00000a45: JUMPDEST
00000a46: POP
00000a47: CALLVALUE
00000a48: PUSH2 0x04f0
00000a4b: JUMPI
00000a4c: DUP1
00000a4d: PUSH1 0x03
00000a4f: NOT
00000a50: CALLDATASIZE
00000a51: ADD
00000a52: SLT
00000a53: PUSH2 0x04f0
00000a56: JUMPI
00000a57: PUSH1 0x20
00000a59: PUSH1 0x0f
00000a5b: SLOAD
00000a5c: PUSH1 0x40
00000a5e: MLOAD
00000a5f: SWAP1
00000a60: DUP2
00000a61: MSTORE
00000a62: RETURN
00000a63: JUMPDEST
00000a64: POP
00000a65: CALLVALUE
00000a66: PUSH2 0x04f0
00000a69: JUMPI
00000a6a: DUP1
00000a6b: PUSH1 0x03
00000a6d: NOT
00000a6e: CALLDATASIZE
00000a6f: ADD
00000a70: SLT
00000a71: PUSH2 0x04f0
00000a74: JUMPI
00000a75: PUSH1 0x20
00000a77: PUSH4 0xffffffff
00000a7c: PUSH1 0x1c
00000a7e: SLOAD
00000a7f: AND
00000a80: PUSH1 0x40
00000a82: MLOAD
00000a83: SWAP1
00000a84: DUP2
00000a85: MSTORE
00000a86: RETURN
00000a87: JUMPDEST
00000a88: POP
00000a89: DUP1
00000a8a: PUSH1 0x03
00000a8c: NOT
00000a8d: CALLDATASIZE
00000a8e: ADD
00000a8f: SLT
00000a90: PUSH2 0x04f0
00000a93: JUMPI
00000a94: CALLVALUE
00000a95: ISZERO
00000a96: PUSH2 0x0750
00000a99: JUMPI
00000a9a: PUSH4 0xffffffff
00000a9f: PUSH32 0x00000000000000000000000000000000000000000000000000000000686fffa0
00000ac0: AND
00000ac1: TIMESTAMP
00000ac2: GT
00000ac3: DUP1
00000ac4: PUSH2 0x0b03
00000ac7: JUMPI
00000ac8: JUMPDEST
00000ac9: PUSH2 0x0af6
00000acc: JUMPI
00000acd: JUMPDEST
00000ace: PUSH2 0x0ad9
00000ad1: CALLVALUE
00000ad2: PUSH1 0x20
00000ad4: SLOAD
00000ad5: PUSH2 0x2120
00000ad8: JUMP
00000ad9: JUMPDEST
00000ada: PUSH1 0x20
00000adc: SSTORE
00000add: PUSH1 0x14
00000adf: SLOAD
00000ae0: PUSH3 0x910500
00000ae4: DUP2
00000ae5: ADD
00000ae6: DUP1
00000ae7: SWAP2
00000ae8: GT
00000ae9: PUSH2 0x0710
00000aec: JUMPI
00000aed: TIMESTAMP
00000aee: LT
00000aef: ISZERO
00000af0: PUSH2 0x0708
00000af3: JUMPI
00000af4: DUP1
00000af5: RETURN
00000af6: JUMPDEST
00000af7: PUSH2 0x0afe
00000afa: PUSH2 0x3a7a
00000afd: JUMP
00000afe: JUMPDEST
00000aff: PUSH2 0x0acd
00000b02: JUMP
00000b03: JUMPDEST
00000b04: POP
00000b05: PUSH2 0x0258
00000b08: PUSH2 0x0b1c
00000b0b: PUSH4 0xffffffff
00000b10: PUSH1 0x1c
00000b12: SLOAD
00000b13: PUSH1 0x20
00000b15: SHR
00000b16: AND
00000b17: TIMESTAMP
00000b18: PUSH2 0x20fd
00000b1b: JUMP
00000b1c: JUMPDEST
00000b1d: GT
00000b1e: PUSH2 0x0ac8
00000b21: JUMP
00000b22: JUMPDEST
00000b23: POP
00000b24: CALLVALUE
00000b25: PUSH2 0x04f0
00000b28: JUMPI
00000b29: DUP1
00000b2a: PUSH1 0x03
00000b2c: NOT
00000b2d: CALLDATASIZE
00000b2e: ADD
00000b2f: SLT
00000b30: PUSH2 0x04f0
00000b33: JUMPI
00000b34: PUSH1 0x20
00000b36: PUSH1 0x0e
00000b38: SLOAD
00000b39: PUSH1 0x40
00000b3b: MLOAD
00000b3c: SWAP1
00000b3d: DUP2
00000b3e: MSTORE
00000b3f: RETURN
00000b40: JUMPDEST
00000b41: POP
00000b42: CALLVALUE
00000b43: PUSH2 0x04f0
00000b46: JUMPI
00000b47: PUSH1 0x20
00000b49: CALLDATASIZE
00000b4a: PUSH1 0x03
00000b4c: NOT
00000b4d: ADD
00000b4e: SLT
00000b4f: PUSH2 0x04f0
00000b52: JUMPI
00000b53: PUSH1 0x20
00000b55: PUSH2 0x0b5f
00000b58: PUSH1 0x04
00000b5a: CALLDATALOAD
00000b5b: PUSH2 0x29c2
00000b5e: JUMP
00000b5f: JUMPDEST
00000b60: PUSH1 0x40
00000b62: MLOAD
00000b63: SWAP1
00000b64: DUP2
00000b65: MSTORE
00000b66: RETURN
00000b67: JUMPDEST
00000b68: POP
00000b69: CALLVALUE
00000b6a: PUSH2 0x04f0
00000b6d: JUMPI
00000b6e: PUSH1 0x20
00000b70: CALLDATASIZE
00000b71: PUSH1 0x03
00000b73: NOT
00000b74: ADD
00000b75: SLT
00000b76: PUSH2 0x04f0
00000b79: JUMPI
00000b7a: PUSH1 0x04
00000b7c: CALLDATALOAD
00000b7d: PUSH4 0xffffffff
00000b82: DUP2
00000b83: AND
00000b84: DUP1
00000b85: SWAP2
00000b86: SUB
00000b87: PUSH2 0x04ec
00000b8a: JUMPI
00000b8b: DUP2
00000b8c: MSTORE
00000b8d: PUSH1 0x17
00000b8f: PUSH1 0x20
00000b91: SWAP1
00000b92: DUP2
00000b93: MSTORE
00000b94: PUSH1 0x40
00000b96: SWAP2
00000b97: DUP3
00000b98: SWAP1
00000b99: KECCAK256
00000b9a: SLOAD
00000b9b: DUP3
00000b9c: MLOAD
00000b9d: PUSH1 0x01
00000b9f: PUSH1 0x01
00000ba1: PUSH1 0x80
00000ba3: SHL
00000ba4: SUB
00000ba5: DUP3
00000ba6: AND
00000ba7: DUP2
00000ba8: MSTORE
00000ba9: PUSH1 0x80
00000bab: SWAP2
00000bac: SWAP1
00000bad: SWAP2
00000bae: SHR
00000baf: SWAP2
00000bb0: DUP2
00000bb1: ADD
00000bb2: SWAP2
00000bb3: SWAP1
00000bb4: SWAP2
00000bb5: MSTORE
00000bb6: RETURN
00000bb7: JUMPDEST
00000bb8: POP
00000bb9: CALLVALUE
00000bba: PUSH2 0x04f0
00000bbd: JUMPI
00000bbe: PUSH1 0x20
00000bc0: CALLDATASIZE
00000bc1: PUSH1 0x03
00000bc3: NOT
00000bc4: ADD
00000bc5: SLT
00000bc6: PUSH2 0x04f0
00000bc9: JUMPI
00000bca: PUSH32 0xec2b187c67e6a6938c53c9d50df457b5b6f66de14c4cc3c53e98cbabcf1899bf
00000beb: PUSH1 0x20
00000bed: PUSH1 0x04
00000bef: CALLDATALOAD
00000bf0: PUSH2 0x0bf7
00000bf3: PUSH2 0x32d2
00000bf6: JUMP
00000bf7: JUMPDEST
00000bf8: DUP1
00000bf9: PUSH1 0x0f
00000bfb: SSTORE
00000bfc: PUSH1 0x64
00000bfe: DUP2
00000bff: LT
00000c00: ISZERO
00000c01: DUP1
00000c02: PUSH2 0x0c21
00000c05: JUMPI
00000c06: JUMPDEST
00000c07: PUSH2 0x0c0f
00000c0a: SWAP1
00000c0b: PUSH2 0x212d
00000c0e: JUMP
00000c0f: JUMPDEST
00000c10: PUSH2 0x0c17
00000c13: PUSH2 0x3a7a
00000c16: JUMP
00000c17: JUMPDEST
00000c18: PUSH1 0x40
00000c1a: MLOAD
00000c1b: SWAP1
00000c1c: DUP2
00000c1d: MSTORE
00000c1e: LOG1
00000c1f: DUP1
00000c20: RETURN
00000c21: JUMPDEST
00000c22: POP
00000c23: PUSH2 0x03e8
00000c26: DUP2
00000c27: GT
00000c28: ISZERO
00000c29: PUSH2 0x0c06
00000c2c: JUMP
00000c2d: JUMPDEST
00000c2e: POP
00000c2f: CALLVALUE
00000c30: PUSH2 0x04f0
00000c33: JUMPI
00000c34: DUP1
00000c35: PUSH1 0x03
00000c37: NOT
00000c38: CALLDATASIZE
00000c39: ADD
00000c3a: SLT
00000c3b: PUSH2 0x04f0
00000c3e: JUMPI
00000c3f: PUSH1 0x20
00000c41: PUSH1 0x1f
00000c43: SLOAD
00000c44: PUSH1 0x40
00000c46: MLOAD
00000c47: SWAP1
00000c48: DUP2
00000c49: MSTORE
00000c4a: RETURN
00000c4b: JUMPDEST
00000c4c: POP
00000c4d: CALLVALUE
00000c4e: PUSH2 0x04f0
00000c51: JUMPI
00000c52: DUP1
00000c53: PUSH1 0x03
00000c55: NOT
00000c56: CALLDATASIZE
00000c57: ADD
00000c58: SLT
00000c59: PUSH2 0x04f0
00000c5c: JUMPI
00000c5d: PUSH1 0x20
00000c5f: PUSH4 0xffffffff
00000c64: PUSH1 0x16
00000c66: SLOAD
00000c67: DUP3
00000c68: SHR
00000c69: AND
00000c6a: PUSH1 0x40
00000c6c: MLOAD
00000c6d: SWAP1
00000c6e: DUP2
00000c6f: MSTORE
00000c70: RETURN
00000c71: JUMPDEST
00000c72: POP
00000c73: CALLVALUE
00000c74: PUSH2 0x04f0
00000c77: JUMPI
00000c78: PUSH1 0x20
00000c7a: CALLDATASIZE
00000c7b: PUSH1 0x03
00000c7d: NOT
00000c7e: ADD
00000c7f: SLT
00000c80: PUSH2 0x04f0
00000c83: JUMPI
00000c84: PUSH1 0x04
00000c86: CALLDATALOAD
00000c87: PUSH1 0xff
00000c89: DUP2
00000c8a: AND
00000c8b: SWAP1
00000c8c: DUP2
00000c8d: DUP2
00000c8e: SUB
00000c8f: PUSH2 0x0880
00000c92: JUMPI
00000c93: PUSH2 0x0c9a
00000c96: PUSH2 0x32d2
00000c99: JUMP
00000c9a: JUMPDEST
00000c9b: PUSH1 0x64
00000c9d: DUP3
00000c9e: GT
00000c9f: DUP1
00000ca0: ISZERO
00000ca1: PUSH2 0x0cf5
00000ca4: JUMPI
00000ca5: JUMPDEST
00000ca6: PUSH2 0x0867
00000ca9: JUMPI
00000caa: PUSH1 0x18
00000cac: DUP1
00000cad: SLOAD
00000cae: PUSH1 0xff
00000cb0: PUSH1 0x50
00000cb2: SHL
00000cb3: NOT
00000cb4: AND
00000cb5: PUSH1 0x50
00000cb7: SWAP3
00000cb8: SWAP1
00000cb9: SWAP3
00000cba: SHL
00000cbb: PUSH1 0xff
00000cbd: PUSH1 0x50
00000cbf: SHL
00000cc0: AND
00000cc1: SWAP2
00000cc2: SWAP1
00000cc3: SWAP2
00000cc4: OR
00000cc5: SWAP1
00000cc6: SSTORE
00000cc7: PUSH1 0x40
00000cc9: MLOAD
00000cca: SWAP1
00000ccb: DUP2
00000ccc: MSTORE
00000ccd: PUSH32 0x996f439f738f8a223f90e5c110de60604027e6a47b1732636c8abd1766a63531
00000cee: SWAP1
00000cef: PUSH1 0x20
00000cf1: SWAP1
00000cf2: LOG1
00000cf3: DUP1
00000cf4: RETURN
00000cf5: JUMPDEST
00000cf6: POP
00000cf7: PUSH1 0x02
00000cf9: DUP3
00000cfa: LT
00000cfb: PUSH2 0x0ca5
00000cfe: JUMP
00000cff: JUMPDEST
00000d00: POP
00000d01: CALLVALUE
00000d02: PUSH2 0x04f0
00000d05: JUMPI
00000d06: DUP1
00000d07: PUSH1 0x03
00000d09: NOT
00000d0a: CALLDATASIZE
00000d0b: ADD
00000d0c: SLT
00000d0d: PUSH2 0x04f0
00000d10: JUMPI
00000d11: PUSH1 0x20
00000d13: PUSH1 0x10
00000d15: SLOAD
00000d16: PUSH1 0x40
00000d18: MLOAD
00000d19: SWAP1
00000d1a: DUP2
00000d1b: MSTORE
00000d1c: RETURN
00000d1d: JUMPDEST
00000d1e: POP
00000d1f: CALLVALUE
00000d20: PUSH2 0x04f0
00000d23: JUMPI
00000d24: DUP1
00000d25: PUSH1 0x03
00000d27: NOT
00000d28: CALLDATASIZE
00000d29: ADD
00000d2a: SLT
00000d2b: PUSH2 0x04f0
00000d2e: JUMPI
00000d2f: PUSH1 0x20
00000d31: PUSH1 0x0b
00000d33: SLOAD
00000d34: PUSH1 0x40
00000d36: MLOAD
00000d37: SWAP1
00000d38: DUP2
00000d39: MSTORE
00000d3a: RETURN
00000d3b: JUMPDEST
00000d3c: POP
00000d3d: CALLVALUE
00000d3e: PUSH2 0x04f0
00000d41: JUMPI
00000d42: PUSH1 0x20
00000d44: CALLDATASIZE
00000d45: PUSH1 0x03
00000d47: NOT
00000d48: ADD
00000d49: SLT
00000d4a: PUSH2 0x04f0
00000d4d: JUMPI
00000d4e: PUSH1 0x04
00000d50: CALLDATALOAD
00000d51: PUSH4 0xffffffff
00000d56: DUP2
00000d57: AND
00000d58: DUP1
00000d59: SWAP2
00000d5a: SUB
00000d5b: PUSH2 0x04ec
00000d5e: JUMPI
00000d5f: PUSH1 0x05
00000d61: SLOAD
00000d62: PUSH1 0xff
00000d64: DUP2
00000d65: AND
00000d66: PUSH2 0x1244
00000d69: JUMPI
00000d6a: PUSH13 0x02863c1f5cdae42f9540000000
00000d78: PUSH1 0x10
00000d7a: SLOAD
00000d7b: LT
00000d7c: PUSH2 0x1235
00000d7f: JUMPI
00000d80: PUSH1 0xff
00000d82: NOT
00000d83: AND
00000d84: PUSH1 0x01
00000d86: OR
00000d87: PUSH1 0x05
00000d89: SSTORE
00000d8a: PUSH1 0x1c
00000d8c: DUP1
00000d8d: SLOAD
00000d8e: PUSH1 0xff
00000d90: PUSH1 0x40
00000d92: SHL
00000d93: NOT
00000d94: AND
00000d95: PUSH1 0x01
00000d97: PUSH1 0x40
00000d99: SHL
00000d9a: OR
00000d9b: SWAP1
00000d9c: SSTORE
00000d9d: PUSH32 0x000000000000000000000000b47f575807fc5466285e1277ef8acfbb5c6686e8
00000dbe: PUSH1 0x01
00000dc0: PUSH1 0x01
00000dc2: PUSH1 0xa0
00000dc4: SHL
00000dc5: SUB
00000dc6: AND
00000dc7: SWAP1
00000dc8: DUP2
00000dc9: EXTCODESIZE
00000dca: ISZERO
00000dcb: PUSH2 0x0880
00000dce: JUMPI
00000dcf: PUSH1 0x40
00000dd1: MLOAD
00000dd2: PUSH4 0x26fb5edb
00000dd7: PUSH1 0xe2
00000dd9: SHL
00000dda: DUP2
00000ddb: MSTORE
00000ddc: DUP4
00000ddd: DUP2
00000dde: PUSH1 0x04
00000de0: DUP2
00000de1: DUP4
00000de2: DUP8
00000de3: GAS
00000de4: CALL
00000de5: DUP1
00000de6: ISZERO
00000de7: PUSH2 0x122a
00000dea: JUMPI
00000deb: PUSH2 0x1216
00000dee: JUMPI
00000def: JUMPDEST
00000df0: POP
00000df1: DUP2
00000df2: PUSH20 0xf19308f923582a6f7c465e5ce7a9dc1bec6665b1
00000e07: LT
00000e08: PUSH1 0x00
00000e0a: EQ
00000e0b: PUSH2 0x11fb
00000e0e: JUMPI
00000e0f: PUSH20 0xf19308f923582a6f7c465e5ce7a9dc1bec6665b1
00000e24: DUP3
00000e25: JUMPDEST
00000e26: PUSH1 0x01
00000e28: PUSH1 0x01
00000e2a: PUSH1 0xa0
00000e2c: SHL
00000e2d: SUB
00000e2e: DUP3
00000e2f: AND
00000e30: PUSH20 0xf19308f923582a6f7c465e5ce7a9dc1bec6665b1
00000e45: DUP2
00000e46: EQ
00000e47: SWAP5
00000e48: DUP6
00000e49: ISZERO
00000e4a: PUSH2 0x11db
00000e4d: JUMPI
00000e4e: PUSH13 0x02863c1f5cdae42f9540000000
00000e5c: SWAP5
00000e5d: PUSH10 0x043c33c1937564800000
00000e68: SWAP3
00000e69: JUMPDEST
00000e6a: PUSH2 0x0e73
00000e6d: DUP8
00000e6e: DUP8
00000e6f: PUSH2 0x42e3
00000e72: JUMP
00000e73: JUMPDEST
00000e74: PUSH2 0x0e7d
00000e77: DUP5
00000e78: DUP7
00000e79: PUSH2 0x42e3
00000e7c: JUMP
00000e7d: JUMPDEST
00000e7e: PUSH1 0xff
00000e80: PUSH1 0x18
00000e82: SLOAD
00000e83: PUSH1 0x50
00000e85: SHR
00000e86: AND
00000e87: PUSH1 0x64
00000e89: PUSH2 0x0eb4
00000e8c: PUSH1 0xff
00000e8e: PUSH2 0x0ead
00000e91: DUP4
00000e92: PUSH2 0x0ea6
00000e95: DUP14
00000e96: DUP5
00000e97: PUSH2 0x0e9f
00000e9a: DUP10
00000e9b: PUSH2 0x2988
00000e9e: JUMP
00000e9f: JUMPDEST
00000ea0: AND
00000ea1: SWAP1
00000ea2: PUSH2 0x21f4
00000ea5: JUMP
00000ea6: JUMPDEST
00000ea7: DIV
00000ea8: SWAP5
00000ea9: PUSH2 0x2988
00000eac: JUMP
00000ead: JUMPDEST
00000eae: AND
00000eaf: DUP8
00000eb0: PUSH2 0x21f4
00000eb3: JUMP
00000eb4: JUMPDEST
00000eb5: DIV
00000eb6: SWAP1
00000eb7: PUSH2 0x0ec2
00000eba: PUSH2 0x1153
00000ebd: NOT
00000ebe: PUSH2 0x2999
00000ec1: JUMP
00000ec2: JUMPDEST
00000ec3: PUSH2 0x0ecd
00000ec6: PUSH2 0x1154
00000ec9: PUSH2 0x2999
00000ecc: JUMP
00000ecd: JUMPDEST
00000ece: PUSH1 0x40
00000ed0: MLOAD
00000ed1: SWAP5
00000ed2: PUSH2 0x0160
00000ed5: DUP7
00000ed6: ADD
00000ed7: DUP7
00000ed8: DUP2
00000ed9: LT
00000eda: PUSH1 0x01
00000edc: PUSH1 0x01
00000ede: PUSH1 0x40
00000ee0: SHL
00000ee1: SUB
00000ee2: DUP3
00000ee3: GT
00000ee4: OR
00000ee5: PUSH2 0x11c7
00000ee8: JUMPI
00000ee9: SWAP2
00000eea: DUP13
00000eeb: SWAP2
00000eec: PUSH1 0x04
00000eee: SWAP10
00000eef: SWAP9
00000ef0: SWAP8
00000ef1: SWAP7
00000ef2: SWAP6
00000ef3: SWAP5
00000ef4: SWAP4
00000ef5: PUSH1 0x40
00000ef7: MSTORE
00000ef8: DUP7
00000ef9: MSTORE
00000efa: PUSH1 0x20
00000efc: DUP7
00000efd: ADD
00000efe: SWAP3
00000eff: PUSH1 0x01
00000f01: DUP1
00000f02: PUSH1 0xa0
00000f04: SHL
00000f05: SUB
00000f06: DUP13
00000f07: AND
00000f08: DUP5
00000f09: MSTORE
00000f0a: PUSH3 0xffffff
00000f0e: PUSH1 0x40
00000f10: DUP9
00000f11: ADD
00000f12: PUSH2 0x2710
00000f15: DUP2
00000f16: MSTORE
00000f17: PUSH1 0x60
00000f19: DUP10
00000f1a: ADD
00000f1b: SWAP3
00000f1c: PUSH1 0x02
00000f1e: SIGNEXTEND
00000f1f: DUP4
00000f20: MSTORE
00000f21: PUSH1 0x80
00000f23: DUP10
00000f24: ADD
00000f25: SWAP4
00000f26: PUSH1 0x02
00000f28: SIGNEXTEND
00000f29: DUP5
00000f2a: MSTORE
00000f2b: PUSH1 0xa0
00000f2d: DUP10
00000f2e: ADD
00000f2f: SWAP5
00000f30: DUP6
00000f31: MSTORE
00000f32: PUSH1 0xc0
00000f34: DUP10
00000f35: ADD
00000f36: SWAP6
00000f37: DUP14
00000f38: DUP8
00000f39: MSTORE
00000f3a: PUSH1 0xe0
00000f3c: DUP11
00000f3d: ADD
00000f3e: SWAP8
00000f3f: DUP9
00000f40: MSTORE
00000f41: PUSH2 0x0100
00000f44: DUP11
00000f45: ADD
00000f46: SWAP9
00000f47: DUP10
00000f48: MSTORE
00000f49: PUSH2 0x0120
00000f4c: DUP11
00000f4d: ADD
00000f4e: SWAP10
00000f4f: ADDRESS
00000f50: DUP12
00000f51: MSTORE
00000f52: PUSH2 0x0140
00000f55: DUP2
00000f56: ADD
00000f57: SWAP12
00000f58: DUP13
00000f59: MSTORE
00000f5a: PUSH1 0x40
00000f5c: MLOAD
00000f5d: SWAP14
00000f5e: DUP15
00000f5f: SWAP2
00000f60: PUSH4 0x4418b22b
00000f65: PUSH1 0xe1
00000f67: SHL
00000f68: DUP4
00000f69: MSTORE
00000f6a: PUSH1 0x01
00000f6c: DUP1
00000f6d: PUSH1 0xa0
00000f6f: SHL
00000f70: SUB
00000f71: SWAP1
00000f72: MLOAD
00000f73: AND
00000f74: SWAP2
00000f75: ADD
00000f76: MSTORE
00000f77: PUSH1 0x01
00000f79: DUP1
00000f7a: PUSH1 0xa0
00000f7c: SHL
00000f7d: SUB
00000f7e: SWAP1
00000f7f: MLOAD
00000f80: AND
00000f81: PUSH1 0x24
00000f83: DUP14
00000f84: ADD
00000f85: MSTORE
00000f86: MLOAD
00000f87: AND
00000f88: PUSH1 0x44
00000f8a: DUP12
00000f8b: ADD
00000f8c: MSTORE
00000f8d: MLOAD
00000f8e: PUSH1 0x02
00000f90: SIGNEXTEND
00000f91: PUSH1 0x64
00000f93: DUP11
00000f94: ADD
00000f95: MSTORE
00000f96: MLOAD
00000f97: PUSH1 0x02
00000f99: SIGNEXTEND
00000f9a: PUSH1 0x84
00000f9c: DUP10
00000f9d: ADD
00000f9e: MSTORE
00000f9f: MLOAD
00000fa0: PUSH1 0xa4
00000fa2: DUP9
00000fa3: ADD
00000fa4: MSTORE
00000fa5: MLOAD
00000fa6: PUSH1 0xc4
00000fa8: DUP8
00000fa9: ADD
00000faa: MSTORE
00000fab: MLOAD
00000fac: PUSH1 0xe4
00000fae: DUP7
00000faf: ADD
00000fb0: MSTORE
00000fb1: MLOAD
00000fb2: PUSH2 0x0104
00000fb5: DUP6
00000fb6: ADD
00000fb7: MSTORE
00000fb8: PUSH1 0x01
00000fba: DUP1
00000fbb: PUSH1 0xa0
00000fbd: SHL
00000fbe: SUB
00000fbf: SWAP1
00000fc0: MLOAD
00000fc1: AND
00000fc2: PUSH2 0x0124
00000fc5: DUP5
00000fc6: ADD
00000fc7: MSTORE
00000fc8: MLOAD
00000fc9: PUSH2 0x0144
00000fcc: DUP4
00000fcd: ADD
00000fce: MSTORE
00000fcf: PUSH1 0x80
00000fd1: DUP3
00000fd2: PUSH2 0x0164
00000fd5: DUP2
00000fd6: DUP12
00000fd7: PUSH20 0xc36442b4a4522e871399cd717abdd847ab11fe88
00000fec: GAS
00000fed: CALL
00000fee: SWAP2
00000fef: DUP3
00000ff0: ISZERO
00000ff1: PUSH2 0x10f7
00000ff4: JUMPI
00000ff5: DUP9
00000ff6: SWAP7
00000ff7: DUP10
00000ff8: SWAP2
00000ff9: DUP11
00000ffa: SWAP5
00000ffb: PUSH2 0x1172
00000ffe: JUMPI
00000fff: JUMPDEST
00001000: POP
00001001: DUP2
00001002: DUP2
00001003: GT
00001004: PUSH2 0x1102
00001007: JUMPI
00001008: JUMPDEST
00001009: POP
0000100a: POP
0000100b: DUP2
0000100c: DUP4
0000100d: GT
0000100e: PUSH2 0x1075
00001011: JUMPI
00001012: JUMPDEST
00001013: POP
00001014: POP
00001015: POP
00001016: PUSH2 0x1021
00001019: PUSH2 0x1026
0000101c: SWAP3
0000101d: PUSH2 0x43a5
00001020: JUMP
00001021: JUMPDEST
00001022: PUSH2 0x43a5
00001025: JUMP
00001026: JUMPDEST
00001027: PUSH1 0x01
00001029: DUP1
0000102a: PUSH1 0xf8
0000102c: SHL
0000102d: SUB
0000102e: AND
0000102f: SWAP1
00001030: DUP1
00001031: PUSH1 0x20
00001033: PUSH1 0x40
00001035: MLOAD
00001036: PUSH2 0x103e
00001039: DUP2
0000103a: PUSH2 0x2227
0000103d: JUMP
0000103e: JUMPDEST
0000103f: DUP5
00001040: DUP2
00001041: MSTORE
00001042: ADD
00001043: MSTORE
00001044: PUSH1 0xf8
00001046: SHL
00001047: PUSH1 0x01
00001049: PUSH1 0x01
0000104b: PUSH1 0xf8
0000104d: SHL
0000104e: SUB
0000104f: NOT
00001050: AND
00001051: OR
00001052: PUSH1 0x04
00001054: SSTORE
00001055: PUSH1 0x10
00001057: SLOAD
00001058: PUSH13 0x02863c1f5cdae42f953fffffff
00001066: NOT
00001067: DUP2
00001068: ADD
00001069: SWAP1
0000106a: DUP2
0000106b: GT
0000106c: PUSH2 0x0710
0000106f: JUMPI
00001070: PUSH1 0x10
00001072: SSTORE
00001073: DUP1
00001074: RETURN
00001075: JUMPDEST
00001076: PUSH1 0x20
00001078: PUSH1 0x04
0000107a: SWAP2
0000107b: PUSH1 0x40
0000107d: SWAP7
0000107e: SWAP4
0000107f: SWAP5
00001080: SWAP7
00001081: MLOAD
00001082: SWAP3
00001083: DUP4
00001084: DUP1
00001085: SWAP3
00001086: PUSH4 0x9ddbd211
0000108b: PUSH1 0xe0
0000108d: SHL
0000108e: DUP3
0000108f: MSTORE
00001090: GAS
00001091: STATICCALL
00001092: SWAP5
00001093: DUP6
00001094: ISZERO
00001095: PUSH2 0x10f7
00001098: JUMPI
00001099: PUSH2 0x1026
0000109c: SWAP6
0000109d: PUSH2 0x1021
000010a0: SWAP5
000010a1: PUSH2 0x10bd
000010a4: SWAP4
000010a5: DUP12
000010a6: SWAP3
000010a7: PUSH2 0x10c4
000010aa: JUMPI
000010ab: JUMPDEST
000010ac: POP
000010ad: PUSH2 0x10b6
000010b0: SWAP2
000010b1: SWAP3
000010b2: PUSH2 0x20fd
000010b5: JUMP
000010b6: JUMPDEST
000010b7: SWAP1
000010b8: DUP6
000010b9: PUSH2 0x3a2f
000010bc: JUMP
000010bd: JUMPDEST
000010be: SWAP3
000010bf: CODESIZE
000010c0: PUSH2 0x1012
000010c3: JUMP
000010c4: JUMPDEST
000010c5: PUSH2 0x10b6
000010c8: SWAP3
000010c9: POP
000010ca: PUSH2 0x10ea
000010cd: SWAP1
000010ce: PUSH1 0x20
000010d0: RETURNDATASIZE
000010d1: PUSH1 0x20
000010d3: GT
000010d4: PUSH2 0x10f0
000010d7: JUMPI
000010d8: JUMPDEST
000010d9: PUSH2 0x10e2
000010dc: DUP2
000010dd: DUP4
000010de: PUSH2 0x2273
000010e1: JUMP
000010e2: JUMPDEST
000010e3: DUP2
000010e4: ADD
000010e5: SWAP1
000010e6: PUSH2 0x2311
000010e9: JUMP
000010ea: JUMPDEST
000010eb: SWAP2
000010ec: PUSH2 0x10ab
000010ef: JUMP
000010f0: JUMPDEST
000010f1: POP
000010f2: RETURNDATASIZE
000010f3: PUSH2 0x10d8
000010f6: JUMP
000010f7: JUMPDEST
000010f8: PUSH1 0x40
000010fa: MLOAD
000010fb: RETURNDATASIZE
000010fc: DUP11
000010fd: DUP3
000010fe: RETURNDATACOPY
000010ff: RETURNDATASIZE
00001100: SWAP1
00001101: REVERT
00001102: JUMPDEST
00001103: PUSH1 0x40
00001105: MLOAD
00001106: PUSH4 0x9ddbd211
0000110b: PUSH1 0xe0
0000110d: SHL
0000110e: DUP2
0000110f: MSTORE
00001110: SWAP2
00001111: PUSH1 0x20
00001113: DUP4
00001114: PUSH1 0x04
00001116: DUP2
00001117: DUP8
00001118: GAS
00001119: STATICCALL
0000111a: SWAP1
0000111b: DUP2
0000111c: ISZERO
0000111d: PUSH2 0x1167
00001120: JUMPI
00001121: PUSH2 0x113d
00001124: SWAP4
00001125: DUP13
00001126: SWAP3
00001127: PUSH2 0x1144
0000112a: JUMPI
0000112b: JUMPDEST
0000112c: POP
0000112d: PUSH2 0x1136
00001130: SWAP2
00001131: SWAP3
00001132: PUSH2 0x20fd
00001135: JUMP
00001136: JUMPDEST
00001137: SWAP1
00001138: DUP8
00001139: PUSH2 0x3a2f
0000113c: JUMP
0000113d: JUMPDEST
0000113e: CODESIZE
0000113f: DUP1
00001140: PUSH2 0x1008
00001143: JUMP
00001144: JUMPDEST
00001145: PUSH2 0x1136
00001148: SWAP3
00001149: POP
0000114a: PUSH2 0x1161
0000114d: SWAP1
0000114e: PUSH1 0x20
00001150: RETURNDATASIZE
00001151: PUSH1 0x20
00001153: GT
00001154: PUSH2 0x10f0
00001157: JUMPI
00001158: PUSH2 0x10e2
0000115b: DUP2
0000115c: DUP4
0000115d: PUSH2 0x2273
00001160: JUMP
00001161: JUMPDEST
00001162: SWAP2
00001163: PUSH2 0x112b
00001166: JUMP
00001167: JUMPDEST
00001168: PUSH1 0x40
0000116a: MLOAD
0000116b: RETURNDATASIZE
0000116c: DUP14
0000116d: DUP3
0000116e: RETURNDATACOPY
0000116f: RETURNDATASIZE
00001170: SWAP1
00001171: REVERT
00001172: JUMPDEST
00001173: SWAP8
00001174: POP
00001175: SWAP3
00001176: POP
00001177: POP
00001178: PUSH1 0x80
0000117a: DUP7
0000117b: RETURNDATASIZE
0000117c: PUSH1 0x80
0000117e: GT
0000117f: PUSH2 0x11bf
00001182: JUMPI
00001183: JUMPDEST
00001184: DUP2
00001185: PUSH2 0x1190
00001188: PUSH1 0x80
0000118a: SWAP4
0000118b: DUP4
0000118c: PUSH2 0x2273
0000118f: JUMP
00001190: JUMPDEST
00001191: DUP2
00001192: ADD
00001193: SUB
00001194: SLT
00001195: PUSH2 0x11bb
00001198: JUMPI
00001199: DUP6
0000119a: MLOAD
0000119b: PUSH2 0x11a6
0000119e: PUSH1 0x20
000011a0: DUP9
000011a1: ADD
000011a2: PUSH2 0x29ae
000011a5: JUMP
000011a6: JUMPDEST
000011a7: POP
000011a8: PUSH1 0x60
000011aa: PUSH1 0x40
000011ac: DUP9
000011ad: ADD
000011ae: MLOAD
000011af: SWAP8
000011b0: ADD
000011b1: MLOAD
000011b2: SWAP1
000011b3: SWAP7
000011b4: SWAP1
000011b5: SWAP3
000011b6: CODESIZE
000011b7: PUSH2 0x0fff
000011ba: JUMP
000011bb: JUMPDEST
000011bc: DUP8
000011bd: DUP1
000011be: REVERT
000011bf: JUMPDEST
000011c0: RETURNDATASIZE
000011c1: SWAP2
000011c2: POP
000011c3: PUSH2 0x1183
000011c6: JUMP
000011c7: JUMPDEST
000011c8: PUSH4 0x4e487b71
000011cd: PUSH1 0xe0
000011cf: SHL
000011d0: DUP16
000011d1: MSTORE
000011d2: PUSH1 0x41
000011d4: PUSH1 0x04
000011d6: MSTORE
000011d7: PUSH1 0x24
000011d9: DUP16
000011da: REVERT
000011db: JUMPDEST
000011dc: PUSH10 0x043c33c1937564800000
000011e7: SWAP5
000011e8: PUSH13 0x02863c1f5cdae42f9540000000
000011f6: SWAP3
000011f7: PUSH2 0x0e69
000011fa: JUMP
000011fb: JUMPDEST
000011fc: DUP2
000011fd: PUSH20 0xf19308f923582a6f7c465e5ce7a9dc1bec6665b1
00001212: PUSH2 0x0e25
00001215: JUMP
00001216: JUMPDEST
00001217: DUP4
00001218: PUSH2 0x1223
0000121b: SWAP2
0000121c: SWAP5
0000121d: SWAP3
0000121e: SWAP5
0000121f: PUSH2 0x2273
00001222: JUMP
00001223: JUMPDEST
00001224: SWAP2
00001225: CODESIZE
00001226: PUSH2 0x0def
00001229: JUMP
0000122a: JUMPDEST
0000122b: PUSH1 0x40
0000122d: MLOAD
0000122e: RETURNDATASIZE
0000122f: DUP7
00001230: DUP3
00001231: RETURNDATACOPY
00001232: RETURNDATASIZE
00001233: SWAP1
00001234: REVERT
00001235: JUMPDEST
00001236: PUSH4 0x1bbc2d7d
0000123b: PUSH1 0xe2
0000123d: SHL
0000123e: DUP4
0000123f: MSTORE
00001240: PUSH1 0x04
00001242: DUP4
00001243: REVERT
00001244: JUMPDEST
00001245: PUSH4 0x0fd02b6d
0000124a: PUSH1 0xe4
0000124c: SHL
0000124d: DUP4
0000124e: MSTORE
0000124f: PUSH1 0x04
00001251: DUP4
00001252: REVERT
00001253: JUMPDEST
00001254: POP
00001255: CALLVALUE
00001256: PUSH2 0x04f0
00001259: JUMPI
0000125a: DUP1
0000125b: PUSH1 0x03
0000125d: NOT
0000125e: CALLDATASIZE
0000125f: ADD
00001260: SLT
00001261: PUSH2 0x04f0
00001264: JUMPI
00001265: PUSH1 0x20
00001267: DUP1
00001268: SLOAD
00001269: PUSH1 0x40
0000126b: MLOAD
0000126c: SWAP1
0000126d: DUP2
0000126e: MSTORE
0000126f: RETURN
00001270: JUMPDEST
00001271: POP
00001272: CALLVALUE
00001273: PUSH2 0x04f0
00001276: JUMPI
00001277: PUSH1 0x20
00001279: CALLDATASIZE
0000127a: PUSH1 0x03
0000127c: NOT
0000127d: ADD
0000127e: SLT
0000127f: PUSH2 0x04f0
00001282: JUMPI
00001283: PUSH32 0x9127263eda2b46ebbe29a3927987e41735ec4e0ffa012dd37dd2e5e23bb9756b
000012a4: PUSH1 0x20
000012a6: PUSH1 0x04
000012a8: CALLDATALOAD
000012a9: PUSH2 0x12b0
000012ac: PUSH2 0x32d2
000012af: JUMP
000012b0: JUMPDEST
000012b1: DUP1
000012b2: PUSH1 0x0e
000012b4: SSTORE
000012b5: PUSH1 0x64
000012b7: DUP2
000012b8: LT
000012b9: ISZERO
000012ba: DUP1
000012bb: PUSH2 0x12d0
000012be: JUMPI
000012bf: JUMPDEST
000012c0: PUSH2 0x12c8
000012c3: SWAP1
000012c4: PUSH2 0x212d
000012c7: JUMP
000012c8: JUMPDEST
000012c9: PUSH2 0x0c17
000012cc: PUSH2 0x3063
000012cf: JUMP
000012d0: JUMPDEST
000012d1: POP
000012d2: PUSH2 0x03e8
000012d5: DUP2
000012d6: GT
000012d7: ISZERO
000012d8: PUSH2 0x12bf
000012db: JUMP
000012dc: JUMPDEST
000012dd: POP
000012de: CALLVALUE
000012df: PUSH2 0x04f0
000012e2: JUMPI
000012e3: DUP1
000012e4: PUSH1 0x03
000012e6: NOT
000012e7: CALLDATASIZE
000012e8: ADD
000012e9: SLT
000012ea: PUSH2 0x04f0
000012ed: JUMPI
000012ee: PUSH1 0x20
000012f0: PUSH1 0x06
000012f2: SLOAD
000012f3: PUSH1 0x40
000012f5: MLOAD
000012f6: SWAP1
000012f7: DUP2
000012f8: MSTORE
000012f9: RETURN
000012fa: JUMPDEST
000012fb: POP
000012fc: CALLVALUE
000012fd: PUSH2 0x04f0
00001300: JUMPI
00001301: DUP1
00001302: PUSH1 0x03
00001304: NOT
00001305: CALLDATASIZE
00001306: ADD
00001307: SLT
00001308: PUSH2 0x04f0
0000130b: JUMPI
0000130c: PUSH1 0x20
0000130e: PUSH1 0x09
00001310: SLOAD
00001311: PUSH1 0x40
00001313: MLOAD
00001314: SWAP1
00001315: DUP2
00001316: MSTORE
00001317: RETURN
00001318: JUMPDEST
00001319: POP
0000131a: CALLVALUE
0000131b: PUSH2 0x04f0
0000131e: JUMPI
0000131f: PUSH1 0x20
00001321: CALLDATASIZE
00001322: PUSH1 0x03
00001324: NOT
00001325: ADD
00001326: SLT
00001327: PUSH2 0x04f0
0000132a: JUMPI
0000132b: PUSH1 0x04
0000132d: CALLDATALOAD
0000132e: PUSH4 0xffffffff
00001333: DUP2
00001334: AND
00001335: DUP1
00001336: SWAP2
00001337: SUB
00001338: PUSH2 0x04ec
0000133b: JUMPI
0000133c: DUP2
0000133d: MSTORE
0000133e: PUSH1 0x19
00001340: PUSH1 0x20
00001342: SWAP1
00001343: DUP2
00001344: MSTORE
00001345: PUSH1 0x40
00001347: SWAP2
00001348: DUP3
00001349: SWAP1
0000134a: KECCAK256
0000134b: SLOAD
0000134c: DUP3
0000134d: MLOAD
0000134e: PUSH1 0x01
00001350: PUSH1 0x01
00001352: PUSH1 0x80
00001354: SHL
00001355: SUB
00001356: DUP3
00001357: AND
00001358: DUP2
00001359: MSTORE
0000135a: PUSH1 0x80
0000135c: SWAP2
0000135d: SWAP1
0000135e: SWAP2
0000135f: SHR
00001360: SWAP2
00001361: DUP2
00001362: ADD
00001363: SWAP2
00001364: SWAP1
00001365: SWAP2
00001366: MSTORE
00001367: RETURN
00001368: JUMPDEST
00001369: POP
0000136a: CALLVALUE
0000136b: PUSH2 0x04f0
0000136e: JUMPI
0000136f: DUP1
00001370: PUSH1 0x03
00001372: NOT
00001373: CALLDATASIZE
00001374: ADD
00001375: SLT
00001376: PUSH2 0x04f0
00001379: JUMPI
0000137a: PUSH1 0x20
0000137c: PUSH1 0xff
0000137e: PUSH1 0x1c
00001380: SLOAD
00001381: PUSH1 0x40
00001383: SHR
00001384: AND
00001385: PUSH1 0x40
00001387: MLOAD
00001388: SWAP1
00001389: ISZERO
0000138a: ISZERO
0000138b: DUP2
0000138c: MSTORE
0000138d: RETURN
0000138e: JUMPDEST
0000138f: POP
00001390: CALLVALUE
00001391: PUSH2 0x04f0
00001394: JUMPI
00001395: PUSH1 0x20
00001397: CALLDATASIZE
00001398: PUSH1 0x03
0000139a: NOT
0000139b: ADD
0000139c: SLT
0000139d: PUSH2 0x04f0
000013a0: JUMPI
000013a1: PUSH32 0xfd4d5d30e48f7ca9d989668161b3141e515f003ea4f2aca8f79b9145bf006480
000013c2: PUSH1 0x20
000013c4: PUSH1 0x04
000013c6: CALLDATALOAD
000013c7: PUSH2 0x13ce
000013ca: PUSH2 0x32d2
000013cd: JUMP
000013ce: JUMPDEST
000013cf: DUP1
000013d0: PUSH1 0x0d
000013d2: SSTORE
000013d3: PUSH1 0x64
000013d5: DUP2
000013d6: LT
000013d7: ISZERO
000013d8: DUP1
000013d9: PUSH2 0x13ee
000013dc: JUMPI
000013dd: JUMPDEST
000013de: PUSH2 0x13e6
000013e1: SWAP1
000013e2: PUSH2 0x212d
000013e5: JUMP
000013e6: JUMPDEST
000013e7: PUSH2 0x0c17
000013ea: PUSH2 0x348e
000013ed: JUMP
000013ee: JUMPDEST
000013ef: POP
000013f0: PUSH2 0x03e8
000013f3: DUP2
000013f4: GT
000013f5: ISZERO
000013f6: PUSH2 0x13dd
000013f9: JUMP
000013fa: JUMPDEST
000013fb: POP
000013fc: CALLVALUE
000013fd: PUSH2 0x04f0
00001400: JUMPI
00001401: DUP1
00001402: PUSH1 0x03
00001404: NOT
00001405: CALLDATASIZE
00001406: ADD
00001407: SLT
00001408: PUSH2 0x04f0
0000140b: JUMPI
0000140c: PUSH1 0x01
0000140e: SLOAD
0000140f: PUSH1 0x40
00001411: MLOAD
00001412: PUSH1 0x01
00001414: PUSH1 0x01
00001416: PUSH1 0xa0
00001418: SHL
00001419: SUB
0000141a: SWAP1
0000141b: SWAP2
0000141c: AND
0000141d: DUP2
0000141e: MSTORE
0000141f: PUSH1 0x20
00001421: SWAP1
00001422: RETURN
00001423: JUMPDEST
00001424: POP
00001425: CALLVALUE
00001426: PUSH2 0x04f0
00001429: JUMPI
0000142a: DUP1
0000142b: PUSH1 0x03
0000142d: NOT
0000142e: CALLDATASIZE
0000142f: ADD
00001430: SLT
00001431: PUSH2 0x04f0
00001434: JUMPI
00001435: PUSH1 0x20
00001437: PUSH1 0x0d
00001439: SLOAD
0000143a: PUSH1 0x40
0000143c: MLOAD
0000143d: SWAP1
0000143e: DUP2
0000143f: MSTORE
00001440: RETURN
00001441: JUMPDEST
00001442: POP
00001443: CALLVALUE
00001444: PUSH2 0x04f0
00001447: JUMPI
00001448: PUSH1 0x20
0000144a: CALLDATASIZE
0000144b: PUSH1 0x03
0000144d: NOT
0000144e: ADD
0000144f: SLT
00001450: PUSH2 0x04f0
00001453: JUMPI
00001454: PUSH1 0x20
00001456: PUSH2 0x0b5f
00001459: PUSH1 0x04
0000145b: CALLDATALOAD
0000145c: PUSH2 0x2330
0000145f: JUMP
00001460: JUMPDEST
00001461: POP
00001462: CALLVALUE
00001463: PUSH2 0x04f0
00001466: JUMPI
00001467: DUP1
00001468: PUSH1 0x03
0000146a: NOT
0000146b: CALLDATASIZE
0000146c: ADD
0000146d: SLT
0000146e: PUSH2 0x04f0
00001471: JUMPI
00001472: PUSH1 0x02
00001474: SLOAD
00001475: CALLER
00001476: PUSH1 0x01
00001478: PUSH1 0x01
0000147a: PUSH1 0xa0
0000147c: SHL
0000147d: SUB
0000147e: SWAP1
0000147f: SWAP2
00001480: AND
00001481: SUB
00001482: PUSH2 0x14d5
00001485: JUMPI
00001486: PUSH1 0x02
00001488: DUP1
00001489: SLOAD
0000148a: PUSH1 0x01
0000148c: PUSH1 0x01
0000148e: PUSH1 0xa0
00001490: SHL
00001491: SUB
00001492: NOT
00001493: SWAP1
00001494: DUP2
00001495: AND
00001496: SWAP1
00001497: SWAP2
00001498: SSTORE
00001499: PUSH1 0x01
0000149b: DUP1
0000149c: SLOAD
0000149d: CALLER
0000149e: SWAP3
0000149f: DUP2
000014a0: AND
000014a1: DUP4
000014a2: OR
000014a3: SWAP1
000014a4: SWAP2
000014a5: SSTORE
000014a6: PUSH1 0x01
000014a8: PUSH1 0x01
000014aa: PUSH1 0xa0
000014ac: SHL
000014ad: SUB
000014ae: AND
000014af: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000014d0: DUP4
000014d1: DUP1
000014d2: LOG3
000014d3: DUP1
000014d4: RETURN
000014d5: JUMPDEST
000014d6: PUSH4 0x118cdaa7
000014db: PUSH1 0xe0
000014dd: SHL
000014de: DUP2
000014df: MSTORE
000014e0: CALLER
000014e1: PUSH1 0x04
000014e3: MSTORE
000014e4: PUSH1 0x24
000014e6: SWAP1
000014e7: REVERT
000014e8: JUMPDEST
000014e9: POP
000014ea: CALLVALUE
000014eb: PUSH2 0x04f0
000014ee: JUMPI
000014ef: DUP1
000014f0: PUSH1 0x03
000014f2: NOT
000014f3: CALLDATASIZE
000014f4: ADD
000014f5: SLT
000014f6: PUSH2 0x04f0
000014f9: JUMPI
000014fa: PUSH2 0x1501
000014fd: PUSH2 0x32d2
00001500: JUMP
00001501: JUMPDEST
00001502: PUSH1 0x02
00001504: DUP1
00001505: SLOAD
00001506: PUSH1 0x01
00001508: PUSH1 0x01
0000150a: PUSH1 0xa0
0000150c: SHL
0000150d: SUB
0000150e: NOT
0000150f: SWAP1
00001510: DUP2
00001511: AND
00001512: SWAP1
00001513: SWAP2
00001514: SSTORE
00001515: PUSH1 0x01
00001517: DUP1
00001518: SLOAD
00001519: SWAP2
0000151a: DUP3
0000151b: AND
0000151c: SWAP1
0000151d: SSTORE
0000151e: DUP2
0000151f: SWAP1
00001520: PUSH1 0x01
00001522: PUSH1 0x01
00001524: PUSH1 0xa0
00001526: SHL
00001527: SUB
00001528: AND
00001529: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
0000154a: DUP3
0000154b: DUP1
0000154c: LOG3
0000154d: DUP1
0000154e: RETURN
0000154f: JUMPDEST
00001550: POP
00001551: CALLVALUE
00001552: PUSH2 0x04f0
00001555: JUMPI
00001556: PUSH1 0x20
00001558: CALLDATASIZE
00001559: PUSH1 0x03
0000155b: NOT
0000155c: ADD
0000155d: SLT
0000155e: PUSH2 0x04f0
00001561: JUMPI
00001562: PUSH1 0x04
00001564: CALLDATALOAD
00001565: PUSH1 0xff
00001567: DUP2
00001568: AND
00001569: SWAP1
0000156a: DUP2
0000156b: DUP2
0000156c: SUB
0000156d: PUSH2 0x0880
00001570: JUMPI
00001571: PUSH2 0x1578
00001574: PUSH2 0x32d2
00001577: JUMP
00001578: JUMPDEST
00001579: PUSH1 0x64
0000157b: DUP3
0000157c: GT
0000157d: DUP1
0000157e: ISZERO
0000157f: PUSH2 0x15d2
00001582: JUMPI
00001583: JUMPDEST
00001584: PUSH2 0x0867
00001587: JUMPI
00001588: PUSH1 0x18
0000158a: DUP1
0000158b: SLOAD
0000158c: PUSH1 0xff
0000158e: PUSH1 0x40
00001590: SHL
00001591: NOT
00001592: AND
00001593: PUSH1 0x40
00001595: SWAP3
00001596: DUP4
00001597: SHL
00001598: PUSH9 0xff0000000000000000
000015a2: AND
000015a3: OR
000015a4: SWAP1
000015a5: SSTORE
000015a6: MLOAD
000015a7: SWAP1
000015a8: DUP2
000015a9: MSTORE
000015aa: PUSH32 0xdd491bf453cab2875967c496dead5e0f34f6cb6eddf3bd17be6a93c1df691389
000015cb: SWAP1
000015cc: PUSH1 0x20
000015ce: SWAP1
000015cf: LOG1
000015d0: DUP1
000015d1: RETURN
000015d2: JUMPDEST
000015d3: POP
000015d4: PUSH1 0x02
000015d6: DUP3
000015d7: LT
000015d8: PUSH2 0x1583
000015db: JUMP
000015dc: JUMPDEST
000015dd: POP
000015de: CALLVALUE
000015df: PUSH2 0x04f0
000015e2: JUMPI
000015e3: DUP1
000015e4: PUSH1 0x03
000015e6: NOT
000015e7: CALLDATASIZE
000015e8: ADD
000015e9: SLT
000015ea: PUSH2 0x04f0
000015ed: JUMPI
000015ee: PUSH1 0x20
000015f0: PUSH1 0xff
000015f2: PUSH1 0x18
000015f4: SLOAD
000015f5: PUSH1 0x50
000015f7: SHR
000015f8: AND
000015f9: PUSH1 0x40
000015fb: MLOAD
000015fc: SWAP1
000015fd: DUP2
000015fe: MSTORE
000015ff: RETURN
00001600: JUMPDEST
00001601: POP
00001602: CALLVALUE
00001603: PUSH2 0x04f0
00001606: JUMPI
00001607: PUSH1 0x20
00001609: CALLDATASIZE
0000160a: PUSH1 0x03
0000160c: NOT
0000160d: ADD
0000160e: SLT
0000160f: PUSH2 0x04f0
00001612: JUMPI
00001613: PUSH1 0x04
00001615: CALLDATALOAD
00001616: PUSH4 0xffffffff
0000161b: DUP2
0000161c: AND
0000161d: DUP1
0000161e: SWAP2
0000161f: SUB
00001620: PUSH2 0x04ec
00001623: JUMPI
00001624: DUP2
00001625: MSTORE
00001626: PUSH1 0x1b
00001628: PUSH1 0x20
0000162a: SWAP1
0000162b: DUP2
0000162c: MSTORE
0000162d: PUSH1 0x40
0000162f: SWAP2
00001630: DUP3
00001631: SWAP1
00001632: KECCAK256
00001633: SLOAD
00001634: DUP3
00001635: MLOAD
00001636: PUSH1 0x01
00001638: PUSH1 0x01
0000163a: PUSH1 0x80
0000163c: SHL
0000163d: SUB
0000163e: DUP3
0000163f: AND
00001640: DUP2
00001641: MSTORE
00001642: PUSH1 0x80
00001644: SWAP2
00001645: SWAP1
00001646: SWAP2
00001647: SHR
00001648: SWAP2
00001649: DUP2
0000164a: ADD
0000164b: SWAP2
0000164c: SWAP1
0000164d: SWAP2
0000164e: MSTORE
0000164f: RETURN
00001650: JUMPDEST
00001651: POP
00001652: CALLVALUE
00001653: PUSH2 0x04f0
00001656: JUMPI
00001657: DUP1
00001658: PUSH1 0x03
0000165a: NOT
0000165b: CALLDATASIZE
0000165c: ADD
0000165d: SLT
0000165e: PUSH2 0x04f0
00001661: JUMPI
00001662: PUSH1 0x20
00001664: PUSH4 0xffffffff
00001669: PUSH1 0x1a
0000166b: SLOAD
0000166c: AND
0000166d: PUSH1 0x40
0000166f: MLOAD
00001670: SWAP1
00001671: DUP2
00001672: MSTORE
00001673: RETURN
00001674: JUMPDEST
00001675: POP
00001676: CALLVALUE
00001677: PUSH2 0x04f0
0000167a: JUMPI
0000167b: DUP1
0000167c: PUSH1 0x03
0000167e: NOT
0000167f: CALLDATASIZE
00001680: ADD
00001681: SLT
00001682: PUSH2 0x04f0
00001685: JUMPI
00001686: PUSH1 0x20
00001688: PUSH1 0x0a
0000168a: SLOAD
0000168b: PUSH1 0x40
0000168d: MLOAD
0000168e: SWAP1
0000168f: DUP2
00001690: MSTORE
00001691: RETURN
00001692: JUMPDEST
00001693: POP
00001694: CALLVALUE
00001695: PUSH2 0x04f0
00001698: JUMPI
00001699: DUP1
0000169a: PUSH1 0x03
0000169c: NOT
0000169d: CALLDATASIZE
0000169e: ADD
0000169f: SLT
000016a0: PUSH2 0x04f0
000016a3: JUMPI
000016a4: PUSH1 0x04
000016a6: SLOAD
000016a7: PUSH1 0x40
000016a9: DUP1
000016aa: MLOAD
000016ab: PUSH1 0x01
000016ad: PUSH1 0x01
000016af: PUSH1 0xf8
000016b1: SHL
000016b2: SUB
000016b3: DUP4
000016b4: AND
000016b5: DUP2
000016b6: MSTORE
000016b7: PUSH1 0xf8
000016b9: SWAP3
000016ba: SWAP1
000016bb: SWAP3
000016bc: SHR
000016bd: ISZERO
000016be: ISZERO
000016bf: PUSH1 0x20
000016c1: DUP4
000016c2: ADD
000016c3: MSTORE
000016c4: SWAP1
000016c5: RETURN
000016c6: JUMPDEST
000016c7: POP
000016c8: CALLVALUE
000016c9: PUSH2 0x04f0
000016cc: JUMPI
000016cd: DUP1
000016ce: PUSH1 0x03
000016d0: NOT
000016d1: CALLDATASIZE
000016d2: ADD
000016d3: SLT
000016d4: PUSH2 0x04f0
000016d7: JUMPI
000016d8: PUSH1 0x20
000016da: PUSH1 0x13
000016dc: SLOAD
000016dd: PUSH1 0x40
000016df: MLOAD
000016e0: SWAP1
000016e1: DUP2
000016e2: MSTORE
000016e3: RETURN
000016e4: JUMPDEST
000016e5: POP
000016e6: CALLVALUE
000016e7: PUSH2 0x04f0
000016ea: JUMPI
000016eb: PUSH1 0x20
000016ed: CALLDATASIZE
000016ee: PUSH1 0x03
000016f0: NOT
000016f1: ADD
000016f2: SLT
000016f3: PUSH2 0x04f0
000016f6: JUMPI
000016f7: PUSH2 0x16fe
000016fa: PUSH2 0x20cc
000016fd: JUMP
000016fe: JUMPDEST
000016ff: PUSH1 0x03
00001701: SLOAD
00001702: SWAP1
00001703: PUSH1 0x01
00001705: PUSH1 0x01
00001707: PUSH1 0xa0
00001709: SHL
0000170a: SUB
0000170b: DUP3
0000170c: AND
0000170d: SWAP1
0000170e: DUP2
0000170f: PUSH2 0x1754
00001712: JUMPI
00001713: PUSH1 0x01
00001715: PUSH1 0x01
00001717: PUSH1 0xa0
00001719: SHL
0000171a: SUB
0000171b: AND
0000171c: PUSH1 0x01
0000171e: PUSH1 0x01
00001720: PUSH1 0xa0
00001722: SHL
00001723: SUB
00001724: NOT
00001725: SWAP3
00001726: SWAP1
00001727: SWAP3
00001728: AND
00001729: DUP3
0000172a: OR
0000172b: PUSH1 0x03
0000172d: SSTORE
0000172e: PUSH32 0x31914ab371ab98283208269c0ab79aebe4135bdd5dfc68bda29352ee7fa04ae4
0000174f: DUP4
00001750: DUP1
00001751: LOG3
00001752: DUP1
00001753: RETURN
00001754: JUMPDEST
00001755: PUSH1 0x40
00001757: MLOAD
00001758: PUSH3 0x461bcd
0000175c: PUSH1 0xe5
0000175e: SHL
0000175f: DUP2
00001760: MSTORE
00001761: PUSH1 0x20
00001763: PUSH1 0x04
00001765: DUP3
00001766: ADD
00001767: MSTORE
00001768: PUSH1 0x0b
0000176a: PUSH1 0x24
0000176c: DUP3
0000176d: ADD
0000176e: MSTORE
0000176f: PUSH11 0x105b1c9958591e481cd95d
0000177b: PUSH1 0xaa
0000177d: SHL
0000177e: PUSH1 0x44
00001780: DUP3
00001781: ADD
00001782: MSTORE
00001783: PUSH1 0x64
00001785: SWAP1
00001786: REVERT
00001787: JUMPDEST
00001788: POP
00001789: CALLVALUE
0000178a: PUSH2 0x04f0
0000178d: JUMPI
0000178e: PUSH1 0x20
00001790: CALLDATASIZE
00001791: PUSH1 0x03
00001793: NOT
00001794: ADD
00001795: SLT
00001796: PUSH2 0x04f0
00001799: JUMPI
0000179a: PUSH1 0x04
0000179c: CALLDATALOAD
0000179d: PUSH4 0xffffffff
000017a2: DUP2
000017a3: AND
000017a4: DUP1
000017a5: SWAP2
000017a6: SUB
000017a7: PUSH2 0x04ec
000017aa: JUMPI
000017ab: PUSH2 0x17b2
000017ae: PUSH2 0x346c
000017b1: JUMP
000017b2: JUMPDEST
000017b3: PUSH2 0x17ba
000017b6: PUSH2 0x3a7a
000017b9: JUMP
000017ba: JUMPDEST
000017bb: PUSH1 0x1c
000017bd: SLOAD
000017be: PUSH1 0xff
000017c0: DUP2
000017c1: PUSH1 0x40
000017c3: SHR
000017c4: AND
000017c5: ISZERO
000017c6: PUSH2 0x18d2
000017c9: JUMPI
000017ca: PUSH4 0xffffffff
000017cf: AND
000017d0: DUP3
000017d1: MSTORE
000017d2: PUSH1 0x1b
000017d4: PUSH1 0x20
000017d6: MSTORE
000017d7: PUSH1 0x40
000017d9: DUP3
000017da: KECCAK256
000017db: DUP1
000017dc: SLOAD
000017dd: DUP1
000017de: PUSH1 0x80
000017e0: SHR
000017e1: PUSH2 0x04ce
000017e4: JUMPI
000017e5: DUP2
000017e6: SLOAD
000017e7: PUSH1 0x01
000017e9: PUSH1 0x01
000017eb: PUSH1 0x80
000017ed: SHL
000017ee: SUB
000017ef: SWAP1
000017f0: DUP2
000017f1: AND
000017f2: PUSH1 0x80
000017f4: SWAP3
000017f5: SWAP1
000017f6: SWAP3
000017f7: SHL
000017f8: PUSH1 0x01
000017fa: PUSH1 0x01
000017fc: PUSH1 0x80
000017fe: SHL
000017ff: SUB
00001800: NOT
00001801: AND
00001802: SWAP2
00001803: SWAP1
00001804: SWAP2
00001805: OR
00001806: DUP3
00001807: SSTORE
00001808: SWAP1
00001809: SLOAD
0000180a: AND
0000180b: SWAP1
0000180c: PUSH1 0x96
0000180e: DUP3
0000180f: MUL
00001810: DUP3
00001811: DUP2
00001812: DIV
00001813: PUSH1 0x96
00001815: EQ
00001816: DUP4
00001817: ISZERO
00001818: OR
00001819: ISZERO
0000181a: PUSH2 0x04ba
0000181d: JUMPI
0000181e: PUSH2 0x2710
00001821: PUSH2 0x182c
00001824: SWAP2
00001825: DIV
00001826: DUP1
00001827: SWAP4
00001828: PUSH2 0x20fd
0000182b: JUMP
0000182c: JUMPDEST
0000182d: SWAP2
0000182e: PUSH2 0x1889
00001831: PUSH2 0x183a
00001834: DUP4
00001835: DUP6
00001836: PUSH2 0x3682
00001839: JUMP
0000183a: JUMPDEST
0000183b: SWAP3
0000183c: PUSH2 0x1847
0000183f: DUP6
00001840: PUSH1 0x1e
00001842: SLOAD
00001843: PUSH2 0x2120
00001846: JUMP
00001847: JUMPDEST
00001848: PUSH1 0x1e
0000184a: SSTORE
0000184b: PUSH2 0x185f
0000184e: PUSH2 0x1857
00001851: DUP5
00001852: DUP8
00001853: PUSH2 0x2120
00001856: JUMP
00001857: JUMPDEST
00001858: PUSH1 0x20
0000185a: SLOAD
0000185b: PUSH2 0x20fd
0000185e: JUMP
0000185f: JUMPDEST
00001860: PUSH1 0x20
00001862: SSTORE
00001863: PUSH2 0x186e
00001866: DUP6
00001867: PUSH1 0x0b
00001869: SLOAD
0000186a: PUSH2 0x2120
0000186d: JUMP
0000186e: JUMPDEST
0000186f: PUSH1 0x0b
00001871: SSTORE
00001872: PUSH2 0x0410
00001875: DUP2
00001876: PUSH2 0x1883
00001879: DUP7
0000187a: PUSH1 0x01
0000187c: SHR
0000187d: DUP1
0000187e: SWAP8
0000187f: PUSH2 0x20fd
00001882: JUMP
00001883: JUMPDEST
00001884: SWAP6
00001885: PUSH2 0x379f
00001888: JUMP
00001889: JUMPDEST
0000188a: PUSH1 0x14
0000188c: SLOAD
0000188d: PUSH3 0x910500
00001891: DUP2
00001892: ADD
00001893: DUP1
00001894: SWAP2
00001895: GT
00001896: PUSH2 0x04a6
00001899: JUMPI
0000189a: DUP5
0000189b: DUP1
0000189c: DUP1
0000189d: PUSH2 0x046c
000018a0: SWAP5
000018a1: DUP2
000018a2: SWAP5
000018a3: TIMESTAMP
000018a4: LT
000018a5: ISZERO
000018a6: PUSH2 0x18c5
000018a9: JUMPI
000018aa: JUMPDEST
000018ab: PUSH2 0x18b2
000018ae: PUSH2 0x2ece
000018b1: JUMP
000018b2: JUMPDEST
000018b3: CALLER
000018b4: PUSH2 0x7530
000018b7: CALL
000018b8: PUSH2 0x18bf
000018bb: PUSH2 0x2294
000018be: JUMP
000018bf: JUMPDEST
000018c0: POP
000018c1: PUSH2 0x22d3
000018c4: JUMP
000018c5: JUMPDEST
000018c6: PUSH2 0x18cd
000018c9: PUSH2 0x216b
000018cc: JUMP
000018cd: JUMPDEST
000018ce: PUSH2 0x18aa
000018d1: JUMP
000018d2: JUMPDEST
000018d3: PUSH4 0x1864d7ab
000018d8: PUSH1 0xe2
000018da: SHL
000018db: DUP4
000018dc: MSTORE
000018dd: PUSH1 0x04
000018df: DUP4
000018e0: REVERT
000018e1: JUMPDEST
000018e2: POP
000018e3: CALLVALUE
000018e4: PUSH2 0x04f0
000018e7: JUMPI
000018e8: DUP1
000018e9: PUSH1 0x03
000018eb: NOT
000018ec: CALLDATASIZE
000018ed: ADD
000018ee: SLT
000018ef: PUSH2 0x04f0
000018f2: JUMPI
000018f3: PUSH1 0x20
000018f5: PUSH1 0x12
000018f7: SLOAD
000018f8: PUSH1 0x40
000018fa: MLOAD
000018fb: SWAP1
000018fc: DUP2
000018fd: MSTORE
000018fe: RETURN
000018ff: JUMPDEST
00001900: POP
00001901: CALLVALUE
00001902: PUSH2 0x04f0
00001905: JUMPI
00001906: DUP1
00001907: PUSH1 0x03
00001909: NOT
0000190a: CALLDATASIZE
0000190b: ADD
0000190c: SLT
0000190d: PUSH2 0x04f0
00001910: JUMPI
00001911: PUSH1 0x20
00001913: PUSH1 0xff
00001915: PUSH1 0x18
00001917: SLOAD
00001918: PUSH1 0x40
0000191a: SHR
0000191b: AND
0000191c: PUSH1 0x40
0000191e: MLOAD
0000191f: SWAP1
00001920: DUP2
00001921: MSTORE
00001922: RETURN
00001923: JUMPDEST
00001924: POP
00001925: CALLVALUE
00001926: PUSH2 0x04f0
00001929: JUMPI
0000192a: DUP1
0000192b: PUSH1 0x03
0000192d: NOT
0000192e: CALLDATASIZE
0000192f: ADD
00001930: SLT
00001931: PUSH2 0x04f0
00001934: JUMPI
00001935: PUSH1 0x20
00001937: PUSH1 0x07
00001939: SLOAD
0000193a: PUSH1 0x40
0000193c: MLOAD
0000193d: SWAP1
0000193e: DUP2
0000193f: MSTORE
00001940: RETURN
00001941: JUMPDEST
00001942: POP
00001943: CALLVALUE
00001944: PUSH2 0x04f0
00001947: JUMPI
00001948: DUP1
00001949: PUSH1 0x03
0000194b: NOT
0000194c: CALLDATASIZE
0000194d: ADD
0000194e: SLT
0000194f: PUSH2 0x04f0
00001952: JUMPI
00001953: PUSH2 0x195a
00001956: PUSH2 0x346c
00001959: JUMP
0000195a: JUMPDEST
0000195b: PUSH1 0x40
0000195d: MLOAD
0000195e: PUSH2 0x1966
00001961: DUP2
00001962: PUSH2 0x2227
00001965: JUMP
00001966: JUMPDEST
00001967: PUSH1 0x04
00001969: SLOAD
0000196a: PUSH1 0x20
0000196c: PUSH1 0x01
0000196e: DUP1
0000196f: PUSH1 0xf8
00001971: SHL
00001972: SUB
00001973: DUP3
00001974: AND
00001975: SWAP3
00001976: DUP4
00001977: DUP2
00001978: MSTORE
00001979: ADD
0000197a: SWAP1
0000197b: PUSH1 0xf8
0000197d: SHR
0000197e: ISZERO
0000197f: ISZERO
00001980: DUP2
00001981: MSTORE
00001982: PUSH1 0x40
00001984: MLOAD
00001985: SWAP2
00001986: PUSH1 0x80
00001988: DUP4
00001989: ADD
0000198a: DUP4
0000198b: DUP2
0000198c: LT
0000198d: PUSH1 0x01
0000198f: PUSH1 0x01
00001991: PUSH1 0x40
00001993: SHL
00001994: SUB
00001995: DUP3
00001996: GT
00001997: OR
00001998: PUSH2 0x1bb2
0000199b: JUMPI
0000199c: PUSH1 0x40
0000199e: SWAP1
0000199f: DUP2
000019a0: MSTORE
000019a1: SWAP1
000019a2: DUP4
000019a3: MSTORE
000019a4: ADDRESS
000019a5: PUSH1 0x20
000019a7: DUP5
000019a8: ADD
000019a9: SWAP1
000019aa: DUP2
000019ab: MSTORE
000019ac: PUSH1 0x01
000019ae: PUSH1 0x01
000019b0: PUSH1 0x80
000019b2: SHL
000019b3: SUB
000019b4: DUP5
000019b5: DUP4
000019b6: ADD
000019b7: DUP2
000019b8: DUP2
000019b9: MSTORE
000019ba: PUSH1 0x60
000019bc: DUP7
000019bd: ADD
000019be: DUP3
000019bf: DUP2
000019c0: MSTORE
000019c1: DUP5
000019c2: MLOAD
000019c3: PUSH4 0xfc6f7865
000019c8: PUSH1 0xe0
000019ca: SHL
000019cb: DUP2
000019cc: MSTORE
000019cd: SWAP7
000019ce: MLOAD
000019cf: PUSH1 0x04
000019d1: DUP9
000019d2: ADD
000019d3: MSTORE
000019d4: SWAP3
000019d5: MLOAD
000019d6: PUSH1 0x01
000019d8: PUSH1 0x01
000019da: PUSH1 0xa0
000019dc: SHL
000019dd: SUB
000019de: AND
000019df: PUSH1 0x24
000019e1: DUP8
000019e2: ADD
000019e3: MSTORE
000019e4: MLOAD
000019e5: DUP2
000019e6: AND
000019e7: PUSH1 0x44
000019e9: DUP7
000019ea: ADD
000019eb: MSTORE
000019ec: SWAP1
000019ed: MLOAD
000019ee: AND
000019ef: PUSH1 0x64
000019f1: DUP5
000019f2: ADD
000019f3: MSTORE
000019f4: DUP3
000019f5: PUSH1 0x84
000019f7: DUP2
000019f8: DUP7
000019f9: PUSH20 0xc36442b4a4522e871399cd717abdd847ab11fe88
00001a0e: GAS
00001a0f: CALL
00001a10: SWAP1
00001a11: DUP2
00001a12: ISZERO
00001a13: PUSH2 0x1ba7
00001a16: JUMPI
00001a17: DUP4
00001a18: SWAP3
00001a19: DUP5
00001a1a: SWAP3
00001a1b: PUSH2 0x1b6c
00001a1e: JUMPI
00001a1f: JUMPDEST
00001a20: POP
00001a21: MLOAD
00001a22: ISZERO
00001a23: PUSH2 0x1b66
00001a26: JUMPI
00001a27: DUP2
00001a28: JUMPDEST
00001a29: DUP1
00001a2a: PUSH2 0x1adf
00001a2d: JUMPI
00001a2e: JUMPDEST
00001a2f: POP
00001a30: PUSH1 0x40
00001a32: MLOAD
00001a33: PUSH4 0x70a08231
00001a38: PUSH1 0xe0
00001a3a: SHL
00001a3b: DUP2
00001a3c: MSTORE
00001a3d: ADDRESS
00001a3e: PUSH1 0x04
00001a40: DUP3
00001a41: ADD
00001a42: MSTORE
00001a43: PUSH1 0x20
00001a45: DUP2
00001a46: PUSH1 0x24
00001a48: DUP2
00001a49: PUSH32 0x000000000000000000000000b47f575807fc5466285e1277ef8acfbb5c6686e8
00001a6a: PUSH1 0x01
00001a6c: PUSH1 0x01
00001a6e: PUSH1 0xa0
00001a70: SHL
00001a71: SUB
00001a72: AND
00001a73: GAS
00001a74: STATICCALL
00001a75: SWAP1
00001a76: DUP2
00001a77: ISZERO
00001a78: PUSH2 0x122a
00001a7b: JUMPI
00001a7c: DUP5
00001a7d: SWAP2
00001a7e: PUSH2 0x1aa8
00001a81: JUMPI
00001a82: JUMPDEST
00001a83: POP
00001a84: PUSH1 0x40
00001a86: SWAP4
00001a87: PUSH1 0x01
00001a89: SWAP2
00001a8a: PUSH2 0x1a9b
00001a8d: JUMPI
00001a8e: JUMPDEST
00001a8f: SSTORE
00001a90: DUP3
00001a91: MLOAD
00001a92: SWAP2
00001a93: DUP3
00001a94: MSTORE
00001a95: PUSH1 0x20
00001a97: DUP3
00001a98: ADD
00001a99: MSTORE
00001a9a: RETURN
00001a9b: JUMPDEST
00001a9c: PUSH2 0x1aa3
00001a9f: PUSH2 0x2ece
00001aa2: JUMP
00001aa3: JUMPDEST
00001aa4: PUSH2 0x1a8e
00001aa7: JUMP
00001aa8: JUMPDEST
00001aa9: SWAP1
00001aaa: POP
00001aab: PUSH1 0x20
00001aad: DUP2
00001aae: RETURNDATASIZE
00001aaf: PUSH1 0x20
00001ab1: GT
00001ab2: PUSH2 0x1ad7
00001ab5: JUMPI
00001ab6: JUMPDEST
00001ab7: DUP2
00001ab8: PUSH2 0x1ac3
00001abb: PUSH1 0x20
00001abd: SWAP4
00001abe: DUP4
00001abf: PUSH2 0x2273
00001ac2: JUMP
00001ac3: JUMPDEST
00001ac4: DUP2
00001ac5: ADD
00001ac6: SUB
00001ac7: SLT
00001ac8: PUSH2 0x1ad3
00001acb: JUMPI
00001acc: MLOAD
00001acd: PUSH1 0x40
00001acf: PUSH2 0x1a82
00001ad2: JUMP
00001ad3: JUMPDEST
00001ad4: DUP4
00001ad5: DUP1
00001ad6: REVERT
00001ad7: JUMPDEST
00001ad8: RETURNDATASIZE
00001ad9: SWAP2
00001ada: POP
00001adb: PUSH2 0x1ab6
00001ade: JUMP
00001adf: JUMPDEST
00001ae0: PUSH1 0x40
00001ae2: MLOAD
00001ae3: PUSH4 0x9ddbd211
00001ae8: PUSH1 0xe0
00001aea: SHL
00001aeb: DUP2
00001aec: MSTORE
00001aed: SWAP1
00001aee: PUSH1 0x20
00001af0: DUP3
00001af1: PUSH1 0x04
00001af3: DUP2
00001af4: PUSH32 0x000000000000000000000000b47f575807fc5466285e1277ef8acfbb5c6686e8
00001b15: PUSH1 0x01
00001b17: PUSH1 0x01
00001b19: PUSH1 0xa0
00001b1b: SHL
00001b1c: SUB
00001b1d: AND
00001b1e: GAS
00001b1f: STATICCALL
00001b20: DUP1
00001b21: ISZERO
00001b22: PUSH2 0x1b5b
00001b25: JUMPI
00001b26: PUSH2 0x1b36
00001b29: SWAP3
00001b2a: DUP7
00001b2b: SWAP2
00001b2c: PUSH2 0x1b3c
00001b2f: JUMPI
00001b30: JUMPDEST
00001b31: POP
00001b32: PUSH2 0x3957
00001b35: JUMP
00001b36: JUMPDEST
00001b37: CODESIZE
00001b38: PUSH2 0x1a2e
00001b3b: JUMP
00001b3c: JUMPDEST
00001b3d: PUSH2 0x1b55
00001b40: SWAP2
00001b41: POP
00001b42: PUSH1 0x20
00001b44: RETURNDATASIZE
00001b45: PUSH1 0x20
00001b47: GT
00001b48: PUSH2 0x10f0
00001b4b: JUMPI
00001b4c: PUSH2 0x10e2
00001b4f: DUP2
00001b50: DUP4
00001b51: PUSH2 0x2273
00001b54: JUMP
00001b55: JUMPDEST
00001b56: CODESIZE
00001b57: PUSH2 0x1b30
00001b5a: JUMP
00001b5b: JUMPDEST
00001b5c: PUSH1 0x40
00001b5e: MLOAD
00001b5f: RETURNDATASIZE
00001b60: DUP8
00001b61: DUP3
00001b62: RETURNDATACOPY
00001b63: RETURNDATASIZE
00001b64: SWAP1
00001b65: REVERT
00001b66: JUMPDEST
00001b67: DUP1
00001b68: PUSH2 0x1a28
00001b6b: JUMP
00001b6c: JUMPDEST
00001b6d: SWAP3
00001b6e: POP
00001b6f: SWAP1
00001b70: POP
00001b71: PUSH1 0x40
00001b73: DUP3
00001b74: RETURNDATASIZE
00001b75: PUSH1 0x40
00001b77: GT
00001b78: PUSH2 0x1b9f
00001b7b: JUMPI
00001b7c: JUMPDEST
00001b7d: DUP2
00001b7e: PUSH2 0x1b89
00001b81: PUSH1 0x40
00001b83: SWAP4
00001b84: DUP4
00001b85: PUSH2 0x2273
00001b88: JUMP
00001b89: JUMPDEST
00001b8a: DUP2
00001b8b: ADD
00001b8c: SUB
00001b8d: SLT
00001b8e: PUSH2 0x0880
00001b91: JUMPI
00001b92: PUSH1 0x20
00001b94: DUP3
00001b95: MLOAD
00001b96: SWAP3
00001b97: ADD
00001b98: MLOAD
00001b99: SWAP1
00001b9a: CODESIZE
00001b9b: PUSH2 0x1a1f
00001b9e: JUMP
00001b9f: JUMPDEST
00001ba0: RETURNDATASIZE
00001ba1: SWAP2
00001ba2: POP
00001ba3: PUSH2 0x1b7c
00001ba6: JUMP
00001ba7: JUMPDEST
00001ba8: PUSH1 0x40
00001baa: MLOAD
00001bab: RETURNDATASIZE
00001bac: DUP6
00001bad: DUP3
00001bae: RETURNDATACOPY
00001baf: RETURNDATASIZE
00001bb0: SWAP1
00001bb1: REVERT
00001bb2: JUMPDEST
00001bb3: PUSH4 0x4e487b71
00001bb8: PUSH1 0xe0
00001bba: SHL
00001bbb: DUP6
00001bbc: MSTORE
00001bbd: PUSH1 0x41
00001bbf: PUSH1 0x04
00001bc1: MSTORE
00001bc2: PUSH1 0x24
00001bc4: DUP6
00001bc5: REVERT
00001bc6: JUMPDEST
00001bc7: POP
00001bc8: CALLVALUE
00001bc9: PUSH2 0x04f0
00001bcc: JUMPI
00001bcd: DUP1
00001bce: PUSH1 0x03
00001bd0: NOT
00001bd1: CALLDATASIZE
00001bd2: ADD
00001bd3: SLT
00001bd4: PUSH2 0x04f0
00001bd7: JUMPI
00001bd8: PUSH1 0x20
00001bda: PUSH1 0x08
00001bdc: SLOAD
00001bdd: PUSH1 0x40
00001bdf: MLOAD
00001be0: SWAP1
00001be1: DUP2
00001be2: MSTORE
00001be3: RETURN
00001be4: JUMPDEST
00001be5: POP
00001be6: CALLVALUE
00001be7: PUSH2 0x04f0
00001bea: JUMPI
00001beb: PUSH1 0x20
00001bed: CALLDATASIZE
00001bee: PUSH1 0x03
00001bf0: NOT
00001bf1: ADD
00001bf2: SLT
00001bf3: PUSH2 0x04f0
00001bf6: JUMPI
00001bf7: PUSH1 0x04
00001bf9: CALLDATALOAD
00001bfa: PUSH4 0xffffffff
00001bff: DUP2
00001c00: AND
00001c01: DUP1
00001c02: SWAP2
00001c03: SUB
00001c04: PUSH2 0x04ec
00001c07: JUMPI
00001c08: PUSH2 0x1c0f
00001c0b: PUSH2 0x346c
00001c0e: JUMP
00001c0f: JUMPDEST
00001c10: PUSH2 0x1c17
00001c13: PUSH2 0x348e
00001c16: JUMP
00001c17: JUMPDEST
00001c18: PUSH1 0xff
00001c1a: PUSH1 0x05
00001c1c: SLOAD
00001c1d: AND
00001c1e: ISZERO
00001c1f: PUSH2 0x04dd
00001c22: JUMPI
00001c23: PUSH4 0xffffffff
00001c28: PUSH1 0x18
00001c2a: SLOAD
00001c2b: AND
00001c2c: DUP3
00001c2d: MSTORE
00001c2e: PUSH1 0x17
00001c30: PUSH1 0x20
00001c32: MSTORE
00001c33: PUSH1 0x40
00001c35: DUP3
00001c36: KECCAK256
00001c37: DUP1
00001c38: SLOAD
00001c39: DUP1
00001c3a: PUSH1 0x80
00001c3c: SHR
00001c3d: PUSH2 0x09d3
00001c40: JUMPI
00001c41: DUP2
00001c42: SLOAD
00001c43: PUSH1 0x01
00001c45: PUSH1 0x01
00001c47: PUSH1 0x80
00001c49: SHL
00001c4a: SUB
00001c4b: AND
00001c4c: PUSH1 0x80
00001c4e: SWAP2
00001c4f: SWAP1
00001c50: SWAP2
00001c51: SHL
00001c52: PUSH1 0x01
00001c54: PUSH1 0x01
00001c56: PUSH1 0x80
00001c58: SHL
00001c59: SUB
00001c5a: NOT
00001c5b: AND
00001c5c: OR
00001c5d: DUP2
00001c5e: SSTORE
00001c5f: PUSH1 0x01
00001c61: PUSH1 0x01
00001c63: PUSH1 0x80
00001c65: SHL
00001c66: SUB
00001c67: DUP2
00001c68: SLOAD
00001c69: AND
00001c6a: PUSH1 0x96
00001c6c: DUP2
00001c6d: MUL
00001c6e: DUP2
00001c6f: DUP2
00001c70: DIV
00001c71: PUSH1 0x96
00001c73: EQ
00001c74: DUP3
00001c75: ISZERO
00001c76: OR
00001c77: ISZERO
00001c78: PUSH2 0x04a6
00001c7b: JUMPI
00001c7c: DUP3
00001c7d: SLOAD
00001c7e: PUSH1 0x01
00001c80: PUSH1 0x01
00001c82: PUSH1 0x80
00001c84: SHL
00001c85: SUB
00001c86: AND
00001c87: PUSH1 0x80
00001c89: SWAP3
00001c8a: SWAP1
00001c8b: SWAP3
00001c8c: SHL
00001c8d: PUSH1 0x01
00001c8f: PUSH1 0x01
00001c91: PUSH1 0x80
00001c93: SHL
00001c94: SUB
00001c95: NOT
00001c96: AND
00001c97: SWAP2
00001c98: SWAP1
00001c99: SWAP2
00001c9a: OR
00001c9b: DUP3
00001c9c: SSTORE
00001c9d: PUSH2 0x2710
00001ca0: SWAP1
00001ca1: DIV
00001ca2: PUSH2 0x1cf5
00001ca5: PUSH1 0x01
00001ca7: PUSH1 0x01
00001ca9: PUSH1 0x80
00001cab: SHL
00001cac: SUB
00001cad: PUSH2 0x1ccc
00001cb0: PUSH2 0x1cbc
00001cb3: DUP5
00001cb4: DUP4
00001cb5: DUP8
00001cb6: SLOAD
00001cb7: AND
00001cb8: PUSH2 0x20fd
00001cbb: JUMP
00001cbc: JUMPDEST
00001cbd: SWAP6
00001cbe: PUSH2 0x1cc7
00001cc1: DUP2
00001cc2: DUP9
00001cc3: PUSH2 0x3682
00001cc6: JUMP
00001cc7: JUMPDEST
00001cc8: PUSH2 0x379f
00001ccb: JUMP
00001ccc: JUMPDEST
00001ccd: SWAP4
00001cce: PUSH2 0x1cd9
00001cd1: DUP7
00001cd2: PUSH1 0x09
00001cd4: SLOAD
00001cd5: PUSH2 0x2120
00001cd8: JUMP
00001cd9: JUMPDEST
00001cda: PUSH1 0x09
00001cdc: SSTORE
00001cdd: PUSH2 0x1ce8
00001ce0: DUP6
00001ce1: PUSH1 0x06
00001ce3: SLOAD
00001ce4: PUSH2 0x2120
00001ce7: JUMP
00001ce8: JUMPDEST
00001ce9: PUSH1 0x06
00001ceb: SSTORE
00001cec: SLOAD
00001ced: AND
00001cee: PUSH1 0x11
00001cf0: SLOAD
00001cf1: PUSH2 0x20fd
00001cf4: JUMP
00001cf5: JUMPDEST
00001cf6: PUSH1 0x11
00001cf8: SSTORE
00001cf9: PUSH1 0x14
00001cfb: SLOAD
00001cfc: PUSH3 0x910500
00001d00: DUP2
00001d01: ADD
00001d02: DUP1
00001d03: SWAP2
00001d04: GT
00001d05: PUSH2 0x04a6
00001d08: JUMPI
00001d09: DUP5
00001d0a: DUP1
00001d0b: DUP1
00001d0c: PUSH2 0x0999
00001d0f: SWAP5
00001d10: DUP2
00001d11: SWAP5
00001d12: TIMESTAMP
00001d13: LT
00001d14: ISZERO
00001d15: PUSH2 0x18c5
00001d18: JUMPI
00001d19: PUSH2 0x18b2
00001d1c: PUSH2 0x2ece
00001d1f: JUMP
00001d20: JUMPDEST
00001d21: POP
00001d22: CALLVALUE
00001d23: PUSH2 0x04f0
00001d26: JUMPI
00001d27: PUSH1 0x20
00001d29: CALLDATASIZE
00001d2a: PUSH1 0x03
00001d2c: NOT
00001d2d: ADD
00001d2e: SLT
00001d2f: PUSH2 0x04f0
00001d32: JUMPI
00001d33: PUSH1 0x04
00001d35: CALLDATALOAD
00001d36: PUSH4 0xffffffff
00001d3b: DUP2
00001d3c: AND
00001d3d: DUP1
00001d3e: SWAP2
00001d3f: SUB
00001d40: PUSH2 0x04ec
00001d43: JUMPI
00001d44: DUP2
00001d45: MSTORE
00001d46: PUSH1 0x15
00001d48: PUSH1 0x20
00001d4a: SWAP1
00001d4b: DUP2
00001d4c: MSTORE
00001d4d: PUSH1 0x40
00001d4f: SWAP2
00001d50: DUP3
00001d51: SWAP1
00001d52: KECCAK256
00001d53: SLOAD
00001d54: DUP3
00001d55: MLOAD
00001d56: PUSH1 0x01
00001d58: PUSH1 0x01
00001d5a: PUSH1 0x80
00001d5c: SHL
00001d5d: SUB
00001d5e: DUP3
00001d5f: AND
00001d60: DUP2
00001d61: MSTORE
00001d62: PUSH1 0x80
00001d64: SWAP2
00001d65: SWAP1
00001d66: SWAP2
00001d67: SHR
00001d68: SWAP2
00001d69: DUP2
00001d6a: ADD
00001d6b: SWAP2
00001d6c: SWAP1
00001d6d: SWAP2
00001d6e: MSTORE
00001d6f: RETURN
00001d70: JUMPDEST
00001d71: POP
00001d72: CALLVALUE
00001d73: PUSH2 0x04f0
00001d76: JUMPI
00001d77: PUSH1 0x20
00001d79: CALLDATASIZE
00001d7a: PUSH1 0x03
00001d7c: NOT
00001d7d: ADD
00001d7e: SLT
00001d7f: PUSH2 0x04f0
00001d82: JUMPI
00001d83: PUSH1 0x04
00001d85: CALLDATALOAD
00001d86: DUP1
00001d87: ISZERO
00001d88: PUSH2 0x1e5d
00001d8b: JUMPI
00001d8c: PUSH4 0xffffffff
00001d91: PUSH32 0x00000000000000000000000000000000000000000000000000000000686fffa0
00001db2: AND
00001db3: TIMESTAMP
00001db4: GT
00001db5: DUP1
00001db6: PUSH2 0x1e3e
00001db9: JUMPI
00001dba: JUMPDEST
00001dbb: PUSH2 0x1e31
00001dbe: JUMPI
00001dbf: JUMPDEST
00001dc0: PUSH2 0x1dca
00001dc3: DUP2
00001dc4: ADDRESS
00001dc5: CALLER
00001dc6: PUSH2 0x31f9
00001dc9: JUMP
00001dca: JUMPDEST
00001dcb: PUSH1 0x1c
00001dcd: DUP2
00001dce: MUL
00001dcf: DUP2
00001dd0: DUP2
00001dd1: DIV
00001dd2: PUSH1 0x1c
00001dd4: SUB
00001dd5: PUSH2 0x1e1d
00001dd8: JUMPI
00001dd9: SWAP1
00001dda: PUSH2 0x1df5
00001ddd: PUSH2 0x1ded
00001de0: PUSH1 0x64
00001de2: PUSH2 0x1e00
00001de5: SWAP5
00001de6: DIV
00001de7: DUP1
00001de8: SWAP4
00001de9: PUSH2 0x20fd
00001dec: JUMP
00001ded: JUMPDEST
00001dee: PUSH1 0x10
00001df0: SLOAD
00001df1: PUSH2 0x2120
00001df4: JUMP
00001df5: JUMPDEST
00001df6: PUSH1 0x10
00001df8: SSTORE
00001df9: PUSH1 0x12
00001dfb: SLOAD
00001dfc: PUSH2 0x2120
00001dff: JUMP
00001e00: JUMPDEST
00001e01: PUSH1 0x12
00001e03: SSTORE
00001e04: PUSH1 0x14
00001e06: SLOAD
00001e07: PUSH3 0x910500
00001e0b: DUP2
00001e0c: ADD
00001e0d: DUP1
00001e0e: SWAP2
00001e0f: GT
00001e10: PUSH2 0x0710
00001e13: JUMPI
00001e14: TIMESTAMP
00001e15: LT
00001e16: ISZERO
00001e17: PUSH2 0x0708
00001e1a: JUMPI
00001e1b: DUP1
00001e1c: RETURN
00001e1d: JUMPDEST
00001e1e: PUSH4 0x4e487b71
00001e23: PUSH1 0xe0
00001e25: SHL
00001e26: DUP4
00001e27: MSTORE
00001e28: PUSH1 0x11
00001e2a: PUSH1 0x04
00001e2c: MSTORE
00001e2d: PUSH1 0x24
00001e2f: DUP4
00001e30: REVERT
00001e31: JUMPDEST
00001e32: PUSH2 0x1e39
00001e35: PUSH2 0x32fb
00001e38: JUMP
00001e39: JUMPDEST
00001e3a: PUSH2 0x1dbf
00001e3d: JUMP
00001e3e: JUMPDEST
00001e3f: POP
00001e40: PUSH2 0x0258
00001e43: PUSH2 0x1e57
00001e46: PUSH4 0xffffffff
00001e4b: PUSH1 0x16
00001e4d: SLOAD
00001e4e: PUSH1 0x20
00001e50: SHR
00001e51: AND
00001e52: TIMESTAMP
00001e53: PUSH2 0x20fd
00001e56: JUMP
00001e57: JUMPDEST
00001e58: GT
00001e59: PUSH2 0x1dba
00001e5c: JUMP
00001e5d: JUMPDEST
00001e5e: PUSH4 0xb4fa3fb3
00001e63: PUSH1 0xe0
00001e65: SHL
00001e66: DUP3
00001e67: MSTORE
00001e68: PUSH1 0x04
00001e6a: DUP3
00001e6b: REVERT
00001e6c: JUMPDEST
00001e6d: POP
00001e6e: CALLVALUE
00001e6f: PUSH2 0x04f0
00001e72: JUMPI
00001e73: DUP1
00001e74: PUSH1 0x03
00001e76: NOT
00001e77: CALLDATASIZE
00001e78: ADD
00001e79: SLT
00001e7a: PUSH2 0x04f0
00001e7d: JUMPI
00001e7e: PUSH2 0x052a
00001e81: PUSH2 0x216b
00001e84: JUMP
00001e85: JUMPDEST
00001e86: POP
00001e87: CALLVALUE
00001e88: PUSH2 0x04f0
00001e8b: JUMPI
00001e8c: DUP1
00001e8d: PUSH1 0x03
00001e8f: NOT
00001e90: CALLDATASIZE
00001e91: ADD
00001e92: SLT
00001e93: PUSH2 0x04f0
00001e96: JUMPI
00001e97: PUSH1 0x20
00001e99: PUSH4 0xffffffff
00001e9e: PUSH1 0x18
00001ea0: SLOAD
00001ea1: AND
00001ea2: PUSH1 0x40
00001ea4: MLOAD
00001ea5: SWAP1
00001ea6: DUP2
00001ea7: MSTORE
00001ea8: RETURN
00001ea9: JUMPDEST
00001eaa: POP
00001eab: CALLVALUE
00001eac: PUSH2 0x04f0
00001eaf: JUMPI
00001eb0: DUP1
00001eb1: PUSH1 0x03
00001eb3: NOT
00001eb4: CALLDATASIZE
00001eb5: ADD
00001eb6: SLT
00001eb7: PUSH2 0x04f0
00001eba: JUMPI
00001ebb: PUSH1 0x20
00001ebd: PUSH1 0x40
00001ebf: MLOAD
00001ec0: PUSH20 0xc36442b4a4522e871399cd717abdd847ab11fe88
00001ed5: DUP2
00001ed6: MSTORE
00001ed7: RETURN
00001ed8: JUMPDEST
00001ed9: POP
00001eda: CALLVALUE
00001edb: PUSH2 0x04f0
00001ede: JUMPI
00001edf: PUSH1 0x20
00001ee1: CALLDATASIZE
00001ee2: PUSH1 0x03
00001ee4: NOT
00001ee5: ADD
00001ee6: SLT
00001ee7: PUSH2 0x04f0
00001eea: JUMPI
00001eeb: PUSH32 0xad307686991d52e430babc16ccec906ae187b9e7857b451be5d0e27dc56be94e
00001f0c: PUSH1 0x20
00001f0e: PUSH1 0x04
00001f10: CALLDATALOAD
00001f11: PUSH2 0x1f18
00001f14: PUSH2 0x32d2
00001f17: JUMP
00001f18: JUMPDEST
00001f19: DUP1
00001f1a: PUSH1 0x0c
00001f1c: SSTORE
00001f1d: PUSH1 0x64
00001f1f: DUP2
00001f20: LT
00001f21: ISZERO
00001f22: DUP1
00001f23: PUSH2 0x1f38
00001f26: JUMPI
00001f27: JUMPDEST
00001f28: PUSH2 0x1f30
00001f2b: SWAP1
00001f2c: PUSH2 0x212d
00001f2f: JUMP
00001f30: JUMPDEST
00001f31: PUSH2 0x0c17
00001f34: PUSH2 0x32fb
00001f37: JUMP
00001f38: JUMPDEST
00001f39: POP
00001f3a: PUSH2 0x03e8
00001f3d: DUP2
00001f3e: GT
00001f3f: ISZERO
00001f40: PUSH2 0x1f27
00001f43: JUMP
00001f44: JUMPDEST
00001f45: POP
00001f46: CALLVALUE
00001f47: PUSH2 0x04f0
00001f4a: JUMPI
00001f4b: PUSH1 0x80
00001f4d: CALLDATASIZE
00001f4e: PUSH1 0x03
00001f50: NOT
00001f51: ADD
00001f52: SLT
00001f53: PUSH2 0x04f0
00001f56: JUMPI
00001f57: PUSH2 0x1f5e
00001f5a: PUSH2 0x20cc
00001f5d: JUMP
00001f5e: JUMPDEST
00001f5f: POP
00001f60: PUSH2 0x1f67
00001f63: PUSH2 0x20e7
00001f66: JUMP
00001f67: JUMPDEST
00001f68: POP
00001f69: PUSH1 0x64
00001f6b: CALLDATALOAD
00001f6c: PUSH1 0x01
00001f6e: PUSH1 0x01
00001f70: PUSH1 0x40
00001f72: SHL
00001f73: SUB
00001f74: DUP2
00001f75: GT
00001f76: PUSH2 0x04ec
00001f79: JUMPI
00001f7a: CALLDATASIZE
00001f7b: PUSH1 0x23
00001f7d: DUP3
00001f7e: ADD
00001f7f: SLT
00001f80: ISZERO
00001f81: PUSH2 0x04ec
00001f84: JUMPI
00001f85: DUP1
00001f86: PUSH1 0x04
00001f88: ADD
00001f89: CALLDATALOAD
00001f8a: PUSH1 0x01
00001f8c: PUSH1 0x01
00001f8e: PUSH1 0x40
00001f90: SHL
00001f91: SUB
00001f92: DUP2
00001f93: GT
00001f94: PUSH2 0x0880
00001f97: JUMPI
00001f98: CALLDATASIZE
00001f99: SWAP2
00001f9a: ADD
00001f9b: PUSH1 0x24
00001f9d: ADD
00001f9e: GT
00001f9f: PUSH2 0x04f0
00001fa2: JUMPI
00001fa3: PUSH1 0x40
00001fa5: MLOAD
00001fa6: PUSH4 0x0a85bd01
00001fab: PUSH1 0xe1
00001fad: SHL
00001fae: DUP2
00001faf: MSTORE
00001fb0: PUSH1 0x20
00001fb2: SWAP1
00001fb3: RETURN
00001fb4: JUMPDEST
00001fb5: POP
00001fb6: CALLVALUE
00001fb7: PUSH2 0x04f0
00001fba: JUMPI
00001fbb: DUP1
00001fbc: PUSH1 0x03
00001fbe: NOT
00001fbf: CALLDATASIZE
00001fc0: ADD
00001fc1: SLT
00001fc2: PUSH2 0x04f0
00001fc5: JUMPI
00001fc6: PUSH1 0x20
00001fc8: PUSH4 0xffffffff
00001fcd: PUSH1 0x1c
00001fcf: SLOAD
00001fd0: DUP3
00001fd1: SHR
00001fd2: AND
00001fd3: PUSH1 0x40
00001fd5: MLOAD
00001fd6: SWAP1
00001fd7: DUP2
00001fd8: MSTORE
00001fd9: RETURN
00001fda: JUMPDEST
00001fdb: POP
00001fdc: CALLVALUE
00001fdd: PUSH2 0x04f0
00001fe0: JUMPI
00001fe1: DUP1
00001fe2: PUSH1 0x03
00001fe4: NOT
00001fe5: CALLDATASIZE
00001fe6: ADD
00001fe7: SLT
00001fe8: PUSH2 0x04f0
00001feb: JUMPI
00001fec: PUSH1 0x20
00001fee: PUSH1 0x14
00001ff0: SLOAD
00001ff1: PUSH1 0x40
00001ff3: MLOAD
00001ff4: SWAP1
00001ff5: DUP2
00001ff6: MSTORE
00001ff7: RETURN
00001ff8: JUMPDEST
00001ff9: POP
00001ffa: CALLVALUE
00001ffb: PUSH2 0x04f0
00001ffe: JUMPI
00001fff: PUSH1 0x20
00002001: CALLDATASIZE
00002002: PUSH1 0x03
00002004: NOT
00002005: ADD
00002006: SLT
00002007: PUSH2 0x04f0
0000200a: JUMPI
0000200b: PUSH1 0x04
0000200d: CALLDATALOAD
0000200e: DUP1
0000200f: ISZERO
00002010: PUSH2 0x1e5d
00002013: JUMPI
00002014: PUSH2 0x205e
00002017: SWAP1
00002018: PUSH4 0xffffffff
0000201d: PUSH32 0x00000000000000000000000000000000000000000000000000000000686fffa0
0000203e: AND
0000203f: TIMESTAMP
00002040: GT
00002041: DUP1
00002042: PUSH2 0x2088
00002045: JUMPI
00002046: JUMPDEST
00002047: PUSH2 0x207b
0000204a: JUMPI
0000204b: JUMPDEST
0000204c: PUSH2 0x2056
0000204f: DUP2
00002050: ADDRESS
00002051: CALLER
00002052: PUSH2 0x31f9
00002055: JUMP
00002056: JUMPDEST
00002057: PUSH1 0x1f
00002059: SLOAD
0000205a: PUSH2 0x2120
0000205d: JUMP
0000205e: JUMPDEST
0000205f: PUSH1 0x1f
00002061: SSTORE
00002062: PUSH1 0x14
00002064: SLOAD
00002065: PUSH3 0x910500
00002069: DUP2
0000206a: ADD
0000206b: DUP1
0000206c: SWAP2
0000206d: GT
0000206e: PUSH2 0x0710
00002071: JUMPI
00002072: TIMESTAMP
00002073: LT
00002074: ISZERO
00002075: PUSH2 0x0708
00002078: JUMPI
00002079: DUP1
0000207a: RETURN
0000207b: JUMPDEST
0000207c: PUSH2 0x2083
0000207f: PUSH2 0x3063
00002082: JUMP
00002083: JUMPDEST
00002084: PUSH2 0x204b
00002087: JUMP
00002088: JUMPDEST
00002089: POP
0000208a: PUSH2 0x0258
0000208d: PUSH2 0x20a1
00002090: PUSH4 0xffffffff
00002095: PUSH1 0x1a
00002097: SLOAD
00002098: PUSH1 0x20
0000209a: SHR
0000209b: AND
0000209c: TIMESTAMP
0000209d: PUSH2 0x20fd
000020a0: JUMP
000020a1: JUMPDEST
000020a2: GT
000020a3: PUSH2 0x2046
000020a6: JUMP
000020a7: JUMPDEST
000020a8: SWAP1
000020a9: POP
000020aa: CALLVALUE
000020ab: PUSH2 0x04ec
000020ae: JUMPI
000020af: DUP2
000020b0: PUSH1 0x03
000020b2: NOT
000020b3: CALLDATASIZE
000020b4: ADD
000020b5: SLT
000020b6: PUSH2 0x04ec
000020b9: JUMPI
000020ba: PUSH1 0x03
000020bc: SLOAD
000020bd: PUSH1 0x01
000020bf: PUSH1 0x01
000020c1: PUSH1 0xa0
000020c3: SHL
000020c4: SUB
000020c5: AND
000020c6: DUP2
000020c7: MSTORE
000020c8: PUSH1 0x20
000020ca: SWAP1
000020cb: RETURN
000020cc: JUMPDEST
000020cd: PUSH1 0x04
000020cf: CALLDATALOAD
000020d0: SWAP1
000020d1: PUSH1 0x01
000020d3: PUSH1 0x01
000020d5: PUSH1 0xa0
000020d7: SHL
000020d8: SUB
000020d9: DUP3
000020da: AND
000020db: DUP3
000020dc: SUB
000020dd: PUSH2 0x20e2
000020e0: JUMPI
000020e1: JUMP
000020e2: JUMPDEST
000020e3: PUSH1 0x00
000020e5: DUP1
000020e6: REVERT
000020e7: JUMPDEST
000020e8: PUSH1 0x24
000020ea: CALLDATALOAD
000020eb: SWAP1
000020ec: PUSH1 0x01
000020ee: PUSH1 0x01
000020f0: PUSH1 0xa0
000020f2: SHL
000020f3: SUB
000020f4: DUP3
000020f5: AND
000020f6: DUP3
000020f7: SUB
000020f8: PUSH2 0x20e2
000020fb: JUMPI
000020fc: JUMP
000020fd: JUMPDEST
000020fe: SWAP2
000020ff: SWAP1
00002100: DUP3
00002101: SUB
00002102: SWAP2
00002103: DUP3
00002104: GT
00002105: PUSH2 0x210a
00002108: JUMPI
00002109: JUMP
0000210a: JUMPDEST
0000210b: PUSH4 0x4e487b71
00002110: PUSH1 0xe0
00002112: SHL
00002113: PUSH1 0x00
00002115: MSTORE
00002116: PUSH1 0x11
00002118: PUSH1 0x04
0000211a: MSTORE
0000211b: PUSH1 0x24
0000211d: PUSH1 0x00
0000211f: REVERT
00002120: JUMPDEST
00002121: SWAP2
00002122: SWAP1
00002123: DUP3
00002124: ADD
00002125: DUP1
00002126: SWAP3
00002127: GT
00002128: PUSH2 0x210a
0000212b: JUMPI
0000212c: JUMP
0000212d: JUMPDEST
0000212e: ISZERO
0000212f: PUSH2 0x2134
00002132: JUMPI
00002133: JUMP
00002134: JUMPDEST
00002135: PUSH1 0x40
00002137: MLOAD
00002138: PUSH3 0x461bcd
0000213c: PUSH1 0xe5
0000213e: SHL
0000213f: DUP2
00002140: MSTORE
00002141: PUSH1 0x20
00002143: PUSH1 0x04
00002145: DUP3
00002146: ADD
00002147: MSTORE
00002148: PUSH1 0x0f
0000214a: PUSH1 0x24
0000214c: DUP3
0000214d: ADD
0000214e: MSTORE
0000214f: PUSH15 0x4d696e2031252c206d617820313025
0000215f: PUSH1 0x88
00002161: SHL
00002162: PUSH1 0x44
00002164: DUP3
00002165: ADD
00002166: MSTORE
00002167: PUSH1 0x64
00002169: SWAP1
0000216a: REVERT
0000216b: JUMPDEST
0000216c: PUSH1 0x14
0000216e: SLOAD
0000216f: PUSH3 0x910500
00002173: DUP2
00002174: ADD
00002175: DUP1
00002176: SWAP2
00002177: GT
00002178: PUSH2 0x210a
0000217b: JUMPI
0000217c: TIMESTAMP
0000217d: LT
0000217e: PUSH2 0x21e3
00002181: JUMPI
00002182: PUSH32 0x5478430add375261e67bd1f93748ff3c37420be046abfea3a378fb368fba610f
000021a3: PUSH1 0x40
000021a5: PUSH1 0x12
000021a7: SLOAD
000021a8: PUSH2 0x21b3
000021ab: DUP2
000021ac: PUSH1 0x10
000021ae: SLOAD
000021af: PUSH2 0x2120
000021b2: JUMP
000021b3: JUMPDEST
000021b4: PUSH1 0x10
000021b6: SSTORE
000021b7: PUSH1 0x13
000021b9: SLOAD
000021ba: PUSH2 0x21c5
000021bd: DUP2
000021be: PUSH1 0x11
000021c0: SLOAD
000021c1: PUSH2 0x2120
000021c4: JUMP
000021c5: JUMPDEST
000021c6: PUSH1 0x11
000021c8: SSTORE
000021c9: DUP3
000021ca: MLOAD
000021cb: SWAP2
000021cc: DUP3
000021cd: MSTORE
000021ce: PUSH1 0x20
000021d0: DUP3
000021d1: ADD
000021d2: MSTORE
000021d3: LOG1
000021d4: PUSH1 0x00
000021d6: PUSH1 0x12
000021d8: SSTORE
000021d9: PUSH1 0x00
000021db: PUSH1 0x13
000021dd: SSTORE
000021de: TIMESTAMP
000021df: PUSH1 0x14
000021e1: SSTORE
000021e2: JUMP
000021e3: JUMPDEST
000021e4: PUSH4 0xfeff2059
000021e9: PUSH1 0xe0
000021eb: SHL
000021ec: PUSH1 0x00
000021ee: MSTORE
000021ef: PUSH1 0x04
000021f1: PUSH1 0x00
000021f3: REVERT
000021f4: JUMPDEST
000021f5: DUP2
000021f6: DUP2
000021f7: MUL
000021f8: SWAP3
000021f9: SWAP2
000021fa: DUP2
000021fb: ISZERO
000021fc: SWAP2
000021fd: DUP5
000021fe: DIV
000021ff: EQ
00002200: OR
00002201: ISZERO
00002202: PUSH2 0x210a
00002205: JUMPI
00002206: JUMP
00002207: JUMPDEST
00002208: DUP2
00002209: ISZERO
0000220a: PUSH2 0x2211
0000220d: JUMPI
0000220e: DIV
0000220f: SWAP1
00002210: JUMP
00002211: JUMPDEST
00002212: PUSH4 0x4e487b71
00002217: PUSH1 0xe0
00002219: SHL
0000221a: PUSH1 0x00
0000221c: MSTORE
0000221d: PUSH1 0x12
0000221f: PUSH1 0x04
00002221: MSTORE
00002222: PUSH1 0x24
00002224: PUSH1 0x00
00002226: REVERT
00002227: JUMPDEST
00002228: PUSH1 0x40
0000222a: DUP2
0000222b: ADD
0000222c: SWAP1
0000222d: DUP2
0000222e: LT
0000222f: PUSH1 0x01
00002231: PUSH1 0x01
00002233: PUSH1 0x40
00002235: SHL
00002236: SUB
00002237: DUP3
00002238: GT
00002239: OR
0000223a: PUSH2 0x2242
0000223d: JUMPI
0000223e: PUSH1 0x40
00002240: MSTORE
00002241: JUMP
00002242: JUMPDEST
00002243: PUSH4 0x4e487b71
00002248: PUSH1 0xe0
0000224a: SHL
0000224b: PUSH1 0x00
0000224d: MSTORE
0000224e: PUSH1 0x41
00002250: PUSH1 0x04
00002252: MSTORE
00002253: PUSH1 0x24
00002255: PUSH1 0x00
00002257: REVERT
00002258: JUMPDEST
00002259: PUSH1 0xa0
0000225b: DUP2
0000225c: ADD
0000225d: SWAP1
0000225e: DUP2
0000225f: LT
00002260: PUSH1 0x01
00002262: PUSH1 0x01
00002264: PUSH1 0x40
00002266: SHL
00002267: SUB
00002268: DUP3
00002269: GT
0000226a: OR
0000226b: PUSH2 0x2242
0000226e: JUMPI
0000226f: PUSH1 0x40
00002271: MSTORE
00002272: JUMP
00002273: JUMPDEST
00002274: SWAP1
00002275: PUSH1 0x1f
00002277: DUP1
00002278: NOT
00002279: SWAP2
0000227a: ADD
0000227b: AND
0000227c: DUP2
0000227d: ADD
0000227e: SWAP1
0000227f: DUP2
00002280: LT
00002281: PUSH1 0x01
00002283: PUSH1 0x01
00002285: PUSH1 0x40
00002287: SHL
00002288: SUB
00002289: DUP3
0000228a: GT
0000228b: OR
0000228c: PUSH2 0x2242
0000228f: JUMPI
00002290: PUSH1 0x40
00002292: MSTORE
00002293: JUMP
00002294: JUMPDEST
00002295: RETURNDATASIZE
00002296: ISZERO
00002297: PUSH2 0x22ce
0000229a: JUMPI
0000229b: RETURNDATASIZE
0000229c: SWAP1
0000229d: PUSH1 0x01
0000229f: PUSH1 0x01
000022a1: PUSH1 0x40
000022a3: SHL
000022a4: SUB
000022a5: DUP3
000022a6: GT
000022a7: PUSH2 0x2242
000022aa: JUMPI
000022ab: PUSH1 0x40
000022ad: MLOAD
000022ae: SWAP2
000022af: PUSH2 0x22c2
000022b2: PUSH1 0x1f
000022b4: DUP3
000022b5: ADD
000022b6: PUSH1 0x1f
000022b8: NOT
000022b9: AND
000022ba: PUSH1 0x20
000022bc: ADD
000022bd: DUP5
000022be: PUSH2 0x2273
000022c1: JUMP
000022c2: JUMPDEST
000022c3: DUP3
000022c4: MSTORE
000022c5: RETURNDATASIZE
000022c6: PUSH1 0x00
000022c8: PUSH1 0x20
000022ca: DUP5
000022cb: ADD
000022cc: RETURNDATACOPY
000022cd: JUMP
000022ce: JUMPDEST
000022cf: PUSH1 0x60
000022d1: SWAP1
000022d2: JUMP
000022d3: JUMPDEST
000022d4: ISZERO
000022d5: PUSH2 0x22da
000022d8: JUMPI
000022d9: JUMP
000022da: JUMPDEST
000022db: PUSH1 0x40
000022dd: MLOAD
000022de: PUSH3 0x461bcd
000022e2: PUSH1 0xe5
000022e4: SHL
000022e5: DUP2
000022e6: MSTORE
000022e7: PUSH1 0x20
000022e9: PUSH1 0x04
000022eb: DUP3
000022ec: ADD
000022ed: MSTORE
000022ee: PUSH1 0x0f
000022f0: PUSH1 0x24
000022f2: DUP3
000022f3: ADD
000022f4: MSTORE
000022f5: PUSH15 0x151c985b9cd9995c8819985a5b1959
00002305: PUSH1 0x8a
00002307: SHL
00002308: PUSH1 0x44
0000230a: DUP3
0000230b: ADD
0000230c: MSTORE
0000230d: PUSH1 0x64
0000230f: SWAP1
00002310: REVERT
00002311: JUMPDEST
00002312: SWAP1
00002313: DUP2
00002314: PUSH1 0x20
00002316: SWAP2
00002317: SUB
00002318: SLT
00002319: PUSH2 0x20e2
0000231c: JUMPI
0000231d: MLOAD
0000231e: PUSH1 0x01
00002320: PUSH1 0x01
00002322: PUSH1 0xa0
00002324: SHL
00002325: SUB
00002326: DUP2
00002327: AND
00002328: DUP2
00002329: SUB
0000232a: PUSH2 0x20e2
0000232d: JUMPI
0000232e: SWAP1
0000232f: JUMP
00002330: JUMPDEST
00002331: PUSH1 0x40
00002333: MLOAD
00002334: PUSH4 0xd86e6d39
00002339: PUSH1 0xe0
0000233b: SHL
0000233c: DUP2
0000233d: MSTORE
0000233e: PUSH32 0x000000000000000000000000b47f575807fc5466285e1277ef8acfbb5c6686e8
0000235f: PUSH1 0x01
00002361: PUSH1 0x01
00002363: PUSH1 0xa0
00002365: SHL
00002366: SUB
00002367: AND
00002368: SWAP1
00002369: PUSH1 0x20
0000236b: DUP2
0000236c: PUSH1 0x04
0000236e: DUP2
0000236f: DUP6
00002370: GAS
00002371: STATICCALL
00002372: SWAP1
00002373: DUP2
00002374: ISZERO
00002375: PUSH2 0x297c
00002378: JUMPI
00002379: PUSH1 0x00
0000237b: SWAP2
0000237c: PUSH2 0x295d
0000237f: JUMPI
00002380: JUMPDEST
00002381: POP
00002382: PUSH1 0x40
00002384: MLOAD
00002385: PUSH4 0x3850c7bd
0000238a: PUSH1 0xe0
0000238c: SHL
0000238d: DUP2
0000238e: MSTORE
0000238f: PUSH2 0x0384
00002392: SWAP2
00002393: PUSH1 0x01
00002395: PUSH1 0x01
00002397: PUSH1 0xa0
00002399: SHL
0000239a: SUB
0000239b: AND
0000239c: SWAP1
0000239d: PUSH1 0x00
0000239f: SWAP1
000023a0: PUSH1 0xe0
000023a2: DUP2
000023a3: PUSH1 0x04
000023a5: DUP2
000023a6: DUP7
000023a7: GAS
000023a8: STATICCALL
000023a9: DUP1
000023aa: ISZERO
000023ab: PUSH2 0x2898
000023ae: JUMPI
000023af: DUP3
000023b0: SWAP2
000023b1: DUP4
000023b2: SWAP2
000023b3: PUSH2 0x28cd
000023b6: JUMPI
000023b7: JUMPDEST
000023b8: POP
000023b9: PUSH2 0xffff
000023bc: AND
000023bd: SWAP1
000023be: DUP2
000023bf: ISZERO
000023c0: PUSH2 0x28a3
000023c3: JUMPI
000023c4: PUSH2 0xffff
000023c7: PUSH1 0x01
000023c9: SWAP2
000023ca: AND
000023cb: ADD
000023cc: SWAP1
000023cd: PUSH2 0xffff
000023d0: DUP3
000023d1: GT
000023d2: PUSH2 0x1e1d
000023d5: JUMPI
000023d6: PUSH2 0xffff
000023d9: SWAP1
000023da: DUP2
000023db: PUSH1 0x40
000023dd: MLOAD
000023de: SWAP4
000023df: PUSH4 0x252c09d7
000023e4: PUSH1 0xe0
000023e6: SHL
000023e7: DUP6
000023e8: MSTORE
000023e9: AND
000023ea: MOD
000023eb: AND
000023ec: PUSH1 0x04
000023ee: DUP3
000023ef: ADD
000023f0: MSTORE
000023f1: PUSH1 0x80
000023f3: DUP2
000023f4: PUSH1 0x24
000023f6: DUP2
000023f7: DUP7
000023f8: GAS
000023f9: STATICCALL
000023fa: SWAP1
000023fb: DUP2
000023fc: ISZERO
000023fd: PUSH2 0x2898
00002400: JUMPI
00002401: DUP3
00002402: SWAP1
00002403: DUP4
00002404: SWAP3
00002405: PUSH2 0x2873
00002408: JUMPI
00002409: JUMPDEST
0000240a: POP
0000240b: SWAP1
0000240c: ISZERO
0000240d: PUSH2 0x2800
00002410: JUMPI
00002411: JUMPDEST
00002412: PUSH2 0x2422
00002415: SWAP2
00002416: POP
00002417: PUSH4 0xffffffff
0000241c: TIMESTAMP
0000241d: AND
0000241e: PUSH2 0x3f08
00002421: JUMP
00002422: JUMPDEST
00002423: DUP3
00002424: PUSH4 0xffffffff
00002429: DUP3
0000242a: AND
0000242b: LT
0000242c: PUSH2 0x27f8
0000242f: JUMPI
00002430: JUMPDEST
00002431: POP
00002432: PUSH4 0xffffffff
00002437: PUSH1 0x00
00002439: SWAP3
0000243a: AND
0000243b: SWAP2
0000243c: DUP3
0000243d: ISZERO
0000243e: PUSH2 0x27ce
00002441: JUMPI
00002442: DUP1
00002443: PUSH1 0x40
00002445: MLOAD
00002446: PUSH2 0x2450
00002449: PUSH1 0x60
0000244b: DUP3
0000244c: PUSH2 0x2273
0000244f: JUMP
00002450: JUMPDEST
00002451: PUSH1 0x02
00002453: DUP2
00002454: MSTORE
00002455: PUSH1 0x20
00002457: DUP2
00002458: ADD
00002459: SWAP4
0000245a: PUSH1 0x40
0000245c: CALLDATASIZE
0000245d: DUP7
0000245e: CALLDATACOPY
0000245f: DUP6
00002460: PUSH2 0x2468
00002463: DUP4
00002464: PUSH2 0x3f39
00002467: JUMP
00002468: JUMPDEST
00002469: MSTORE
0000246a: DUP3
0000246b: PUSH2 0x2473
0000246e: DUP4
0000246f: PUSH2 0x3f5c
00002472: JUMP
00002473: JUMPDEST
00002474: MSTORE
00002475: PUSH1 0x40
00002477: MLOAD
00002478: PUSH4 0x883bdbfd
0000247d: PUSH1 0xe0
0000247f: SHL
00002480: DUP2
00002481: MSTORE
00002482: PUSH1 0x20
00002484: PUSH1 0x04
00002486: DUP3
00002487: ADD
00002488: MSTORE
00002489: SWAP2
0000248a: MLOAD
0000248b: PUSH1 0x24
0000248d: DUP4
0000248e: ADD
0000248f: DUP2
00002490: SWAP1
00002491: MSTORE
00002492: SWAP2
00002493: SWAP5
00002494: DUP6
00002495: SWAP3
00002496: PUSH1 0x44
00002498: DUP5
00002499: ADD
0000249a: SWAP2
0000249b: SWAP1
0000249c: DUP6
0000249d: JUMPDEST
0000249e: DUP2
0000249f: DUP2
000024a0: LT
000024a1: PUSH2 0x27ac
000024a4: JUMPI
000024a5: POP
000024a6: POP
000024a7: POP
000024a8: DUP3
000024a9: DUP1
000024aa: SWAP2
000024ab: SUB
000024ac: SWAP2
000024ad: GAS
000024ae: STATICCALL
000024af: SWAP2
000024b0: DUP3
000024b1: ISZERO
000024b2: PUSH2 0x279f
000024b5: JUMPI
000024b6: DUP2
000024b7: SWAP1
000024b8: DUP3
000024b9: SWAP4
000024ba: PUSH2 0x2685
000024bd: JUMPI
000024be: JUMPDEST
000024bf: POP
000024c0: PUSH2 0x24d5
000024c3: PUSH2 0x24cb
000024c6: DUP3
000024c7: PUSH2 0x3f5c
000024ca: JUMP
000024cb: JUMPDEST
000024cc: MLOAD
000024cd: PUSH1 0x06
000024cf: SIGNEXTEND
000024d0: SWAP2
000024d1: PUSH2 0x3f39
000024d4: JUMP
000024d5: JUMPDEST
000024d6: MLOAD
000024d7: PUSH1 0x06
000024d9: SIGNEXTEND
000024da: SWAP1
000024db: SUB
000024dc: SWAP2
000024dd: PUSH7 0x7fffffffffffff
000024e5: NOT
000024e6: DUP4
000024e7: SLT
000024e8: PUSH7 0x7fffffffffffff
000024f0: DUP5
000024f1: SGT
000024f2: OR
000024f3: PUSH2 0x0710
000024f6: JUMPI
000024f7: PUSH1 0x01
000024f9: PUSH1 0x01
000024fb: PUSH1 0xa0
000024fd: SHL
000024fe: SUB
000024ff: PUSH2 0x2507
00002502: DUP3
00002503: PUSH2 0x3f5c
00002506: JUMP
00002507: JUMPDEST
00002508: MLOAD
00002509: AND
0000250a: SWAP1
0000250b: PUSH1 0x01
0000250d: PUSH1 0x01
0000250f: PUSH1 0xa0
00002511: SHL
00002512: SUB
00002513: SWAP1
00002514: PUSH2 0x251c
00002517: SWAP1
00002518: PUSH2 0x3f39
0000251b: JUMP
0000251c: JUMPDEST
0000251d: MLOAD
0000251e: AND
0000251f: SWAP1
00002520: SUB
00002521: SWAP1
00002522: PUSH1 0x01
00002524: PUSH1 0x01
00002526: PUSH1 0xa0
00002528: SHL
00002529: SUB
0000252a: DUP3
0000252b: GT
0000252c: PUSH2 0x265d
0000252f: JUMPI
00002530: DUP4
00002531: PUSH1 0x06
00002533: SIGNEXTEND
00002534: SWAP3
00002535: PUSH1 0x06
00002537: SIGNEXTEND
00002538: SWAP1
00002539: DUP4
0000253a: ISZERO
0000253b: PUSH2 0x2671
0000253e: JUMPI
0000253f: PUSH7 0x7fffffffffffff
00002547: NOT
00002548: DUP3
00002549: EQ
0000254a: PUSH1 0x00
0000254c: NOT
0000254d: DUP6
0000254e: EQ
0000254f: AND
00002550: PUSH2 0x265d
00002553: JUMPI
00002554: POP
00002555: DUP3
00002556: DUP2
00002557: SDIV
00002558: PUSH1 0x02
0000255a: SIGNEXTEND
0000255b: SWAP3
0000255c: PUSH1 0x00
0000255e: DUP3
0000255f: SLT
00002560: SWAP2
00002561: DUP3
00002562: PUSH2 0x264e
00002565: JUMPI
00002566: JUMPDEST
00002567: POP
00002568: POP
00002569: PUSH2 0x2638
0000256c: JUMPI
0000256d: JUMPDEST
0000256e: PUSH1 0x01
00002570: PUSH1 0x01
00002572: PUSH1 0xa0
00002574: SHL
00002575: SUB
00002576: DUP4
00002577: DUP2
00002578: MUL
00002579: PUSH1 0x01
0000257b: PUSH1 0x01
0000257d: PUSH1 0xc0
0000257f: SHL
00002580: SUB
00002581: AND
00002582: SWAP4
00002583: DUP5
00002584: DIV
00002585: SWAP1
00002586: SUB
00002587: PUSH2 0x210a
0000258a: JUMPI
0000258b: PUSH1 0x20
0000258d: SHL
0000258e: PUSH5 0x0100000000
00002594: PUSH1 0x01
00002596: PUSH1 0xc0
00002598: SHL
00002599: SUB
0000259a: AND
0000259b: SWAP2
0000259c: DUP3
0000259d: ISZERO
0000259e: PUSH2 0x2211
000025a1: JUMPI
000025a2: POP
000025a3: PUSH2 0x25ac
000025a6: SWAP2
000025a7: POP
000025a8: PUSH2 0x3f6c
000025ab: JUMP
000025ac: JUMPDEST
000025ad: PUSH1 0x01
000025af: PUSH1 0x01
000025b1: PUSH1 0xa0
000025b3: SHL
000025b4: SUB
000025b5: AND
000025b6: PUSH1 0x01
000025b8: PUSH1 0x01
000025ba: PUSH1 0x80
000025bc: SHL
000025bd: SUB
000025be: DUP2
000025bf: GT
000025c0: PUSH2 0x25ff
000025c3: JUMPI
000025c4: DUP1
000025c5: PUSH2 0x25cd
000025c8: SWAP2
000025c9: PUSH2 0x21f4
000025cc: JUMP
000025cd: JUMPDEST
000025ce: SWAP1
000025cf: PUSH20 0xf19308f923582a6f7c465e5ce7a9dc1bec6665b1
000025e4: LT
000025e5: ISZERO
000025e6: PUSH2 0x25f6
000025e9: JUMPI
000025ea: SWAP1
000025eb: PUSH2 0x25f3
000025ee: SWAP2
000025ef: PUSH2 0x4885
000025f2: JUMP
000025f3: JUMPDEST
000025f4: SWAP1
000025f5: JUMP
000025f6: JUMPDEST
000025f7: PUSH2 0x25f3
000025fa: SWAP2
000025fb: PUSH2 0x4800
000025fe: JUMP
000025ff: JUMPDEST
00002600: DUP1
00002601: PUSH2 0x2609
00002604: SWAP2
00002605: PUSH2 0x46b0
00002608: JUMP
00002609: JUMPDEST
0000260a: SWAP1
0000260b: PUSH20 0xf19308f923582a6f7c465e5ce7a9dc1bec6665b1
00002620: LT
00002621: ISZERO
00002622: PUSH2 0x262f
00002625: JUMPI
00002626: SWAP1
00002627: PUSH2 0x25f3
0000262a: SWAP2
0000262b: PUSH2 0x47b1
0000262e: JUMP
0000262f: JUMPDEST
00002630: PUSH2 0x25f3
00002633: SWAP2
00002634: PUSH2 0x470f
00002637: JUMP
00002638: JUMPDEST
00002639: SWAP1
0000263a: PUSH3 0x7fffff
0000263e: NOT
0000263f: DUP2
00002640: EQ
00002641: PUSH2 0x210a
00002644: JUMPI
00002645: PUSH1 0x00
00002647: NOT
00002648: ADD
00002649: SWAP1
0000264a: PUSH2 0x256d
0000264d: JUMP
0000264e: JUMPDEST
0000264f: SMOD
00002650: PUSH1 0x06
00002652: SIGNEXTEND
00002653: ISZERO
00002654: ISZERO
00002655: SWAP1
00002656: POP
00002657: CODESIZE
00002658: DUP1
00002659: PUSH2 0x2566
0000265c: JUMP
0000265d: JUMPDEST
0000265e: PUSH4 0x4e487b71
00002663: PUSH1 0xe0
00002665: SHL
00002666: DUP2
00002667: MSTORE
00002668: PUSH1 0x11
0000266a: PUSH1 0x04
0000266c: MSTORE
0000266d: PUSH1 0x24
0000266f: SWAP1
00002670: REVERT
00002671: JUMPDEST
00002672: PUSH4 0x4e487b71
00002677: PUSH1 0xe0
00002679: SHL
0000267a: DUP2
0000267b: MSTORE
0000267c: PUSH1 0x12
0000267e: PUSH1 0x04
00002680: MSTORE
00002681: PUSH1 0x24
00002683: SWAP1
00002684: REVERT
00002685: JUMPDEST
00002686: SWAP3
00002687: POP
00002688: POP
00002689: RETURNDATASIZE
0000268a: DUP1
0000268b: DUP3
0000268c: DUP5
0000268d: RETURNDATACOPY
0000268e: PUSH2 0x2697
00002691: DUP2
00002692: DUP5
00002693: PUSH2 0x2273
00002696: JUMP
00002697: JUMPDEST
00002698: DUP3
00002699: ADD
0000269a: SWAP2
0000269b: PUSH1 0x40
0000269d: DUP2
0000269e: DUP5
0000269f: SUB
000026a0: SLT
000026a1: PUSH2 0x04ec
000026a4: JUMPI
000026a5: DUP1
000026a6: MLOAD
000026a7: PUSH1 0x01
000026a9: PUSH1 0x01
000026ab: PUSH1 0x40
000026ad: SHL
000026ae: SUB
000026af: DUP2
000026b0: GT
000026b1: PUSH2 0x0880
000026b4: JUMPI
000026b5: DUP2
000026b6: ADD
000026b7: SWAP1
000026b8: DUP4
000026b9: PUSH1 0x1f
000026bb: DUP4
000026bc: ADD
000026bd: SLT
000026be: ISZERO
000026bf: PUSH2 0x0880
000026c2: JUMPI
000026c3: DUP2
000026c4: MLOAD
000026c5: SWAP2
000026c6: PUSH2 0x26ce
000026c9: DUP4
000026ca: PUSH2 0x3f22
000026cd: JUMP
000026ce: JUMPDEST
000026cf: SWAP3
000026d0: PUSH2 0x26dc
000026d3: PUSH1 0x40
000026d5: MLOAD
000026d6: SWAP5
000026d7: DUP6
000026d8: PUSH2 0x2273
000026db: JUMP
000026dc: JUMPDEST
000026dd: DUP1
000026de: DUP5
000026df: MSTORE
000026e0: PUSH1 0x20
000026e2: DUP1
000026e3: DUP6
000026e4: ADD
000026e5: SWAP2
000026e6: PUSH1 0x05
000026e8: SHL
000026e9: DUP4
000026ea: ADD
000026eb: ADD
000026ec: SWAP2
000026ed: DUP7
000026ee: DUP4
000026ef: GT
000026f0: PUSH2 0x279b
000026f3: JUMPI
000026f4: PUSH1 0x20
000026f6: ADD
000026f7: SWAP1
000026f8: JUMPDEST
000026f9: DUP3
000026fa: DUP3
000026fb: LT
000026fc: PUSH2 0x2783
000026ff: JUMPI
00002700: POP
00002701: POP
00002702: POP
00002703: PUSH1 0x20
00002705: DUP2
00002706: ADD
00002707: MLOAD
00002708: SWAP1
00002709: PUSH1 0x01
0000270b: PUSH1 0x01
0000270d: PUSH1 0x40
0000270f: SHL
00002710: SUB
00002711: DUP3
00002712: GT
00002713: PUSH2 0x1ad3
00002716: JUMPI
00002717: ADD
00002718: SWAP3
00002719: DUP1
0000271a: PUSH1 0x1f
0000271c: DUP6
0000271d: ADD
0000271e: SLT
0000271f: ISZERO
00002720: PUSH2 0x0880
00002723: JUMPI
00002724: DUP4
00002725: MLOAD
00002726: PUSH2 0x272e
00002729: DUP2
0000272a: PUSH2 0x3f22
0000272d: JUMP
0000272e: JUMPDEST
0000272f: SWAP5
00002730: PUSH2 0x273c
00002733: PUSH1 0x40
00002735: MLOAD
00002736: SWAP7
00002737: DUP8
00002738: PUSH2 0x2273
0000273b: JUMP
0000273c: JUMPDEST
0000273d: DUP2
0000273e: DUP7
0000273f: MSTORE
00002740: PUSH1 0x20
00002742: DUP1
00002743: DUP8
00002744: ADD
00002745: SWAP3
00002746: PUSH1 0x05
00002748: SHL
00002749: DUP3
0000274a: ADD
0000274b: ADD
0000274c: SWAP3
0000274d: DUP4
0000274e: GT
0000274f: PUSH2 0x277f
00002752: JUMPI
00002753: PUSH1 0x20
00002755: ADD
00002756: SWAP1
00002757: JUMPDEST
00002758: DUP3
00002759: DUP3
0000275a: LT
0000275b: PUSH2 0x2767
0000275e: JUMPI
0000275f: POP
00002760: POP
00002761: POP
00002762: CODESIZE
00002763: PUSH2 0x24be
00002766: JUMP
00002767: JUMPDEST
00002768: PUSH1 0x20
0000276a: DUP1
0000276b: SWAP2
0000276c: PUSH2 0x2774
0000276f: DUP5
00002770: PUSH2 0x3e7d
00002773: JUMP
00002774: JUMPDEST
00002775: DUP2
00002776: MSTORE
00002777: ADD
00002778: SWAP2
00002779: ADD
0000277a: SWAP1
0000277b: PUSH2 0x2757
0000277e: JUMP
0000277f: JUMPDEST
00002780: DUP5
00002781: DUP1
00002782: REVERT
00002783: JUMPDEST
00002784: PUSH1 0x20
00002786: DUP1
00002787: SWAP2
00002788: PUSH2 0x2790
0000278b: DUP5
0000278c: PUSH2 0x3ea0
0000278f: JUMP
00002790: JUMPDEST
00002791: DUP2
00002792: MSTORE
00002793: ADD
00002794: SWAP2
00002795: ADD
00002796: SWAP1
00002797: PUSH2 0x26f8
0000279a: JUMP
0000279b: JUMPDEST
0000279c: DUP6
0000279d: DUP1
0000279e: REVERT
0000279f: JUMPDEST
000027a0: POP
000027a1: PUSH1 0x40
000027a3: MLOAD
000027a4: SWAP1
000027a5: RETURNDATASIZE
000027a6: SWAP1
000027a7: DUP3
000027a8: RETURNDATACOPY
000027a9: RETURNDATASIZE
000027aa: SWAP1
000027ab: REVERT
000027ac: JUMPDEST
000027ad: DUP3
000027ae: MLOAD
000027af: PUSH4 0xffffffff
000027b4: AND
000027b5: DUP5
000027b6: MSTORE
000027b7: DUP8
000027b8: SWAP7
000027b9: POP
000027ba: DUP9
000027bb: SWAP6
000027bc: POP
000027bd: PUSH1 0x20
000027bf: SWAP4
000027c0: DUP5
000027c1: ADD
000027c2: SWAP4
000027c3: SWAP1
000027c4: SWAP3
000027c5: ADD
000027c6: SWAP2
000027c7: PUSH1 0x01
000027c9: ADD
000027ca: PUSH2 0x249d
000027cd: JUMP
000027ce: JUMPDEST
000027cf: PUSH1 0x40
000027d1: MLOAD
000027d2: PUSH3 0x461bcd
000027d6: PUSH1 0xe5
000027d8: SHL
000027d9: DUP2
000027da: MSTORE
000027db: PUSH1 0x20
000027dd: PUSH1 0x04
000027df: DUP3
000027e0: ADD
000027e1: MSTORE
000027e2: PUSH1 0x02
000027e4: PUSH1 0x24
000027e6: DUP3
000027e7: ADD
000027e8: MSTORE
000027e9: PUSH2 0x0425
000027ec: PUSH1 0xf4
000027ee: SHL
000027ef: PUSH1 0x44
000027f1: DUP3
000027f2: ADD
000027f3: MSTORE
000027f4: PUSH1 0x64
000027f6: SWAP1
000027f7: REVERT
000027f8: JUMPDEST
000027f9: SWAP2
000027fa: POP
000027fb: CODESIZE
000027fc: PUSH2 0x2430
000027ff: JUMP
00002800: JUMPDEST
00002801: POP
00002802: PUSH1 0x40
00002804: MLOAD
00002805: PUSH4 0x252c09d7
0000280a: PUSH1 0xe0
0000280c: SHL
0000280d: DUP2
0000280e: MSTORE
0000280f: PUSH1 0x04
00002811: DUP2
00002812: ADD
00002813: DUP3
00002814: SWAP1
00002815: MSTORE
00002816: PUSH1 0x80
00002818: DUP2
00002819: PUSH1 0x24
0000281b: DUP2
0000281c: DUP7
0000281d: GAS
0000281e: STATICCALL
0000281f: SWAP2
00002820: DUP3
00002821: ISZERO
00002822: PUSH2 0x2867
00002825: JUMPI
00002826: SWAP1
00002827: PUSH2 0x2422
0000282a: SWAP3
0000282b: PUSH2 0x2835
0000282e: JUMPI
0000282f: JUMPDEST
00002830: POP
00002831: PUSH2 0x2411
00002834: JUMP
00002835: JUMPDEST
00002836: PUSH2 0x2857
00002839: SWAP2
0000283a: POP
0000283b: PUSH1 0x80
0000283d: RETURNDATASIZE
0000283e: PUSH1 0x80
00002840: GT
00002841: PUSH2 0x2860
00002844: JUMPI
00002845: JUMPDEST
00002846: PUSH2 0x284f
00002849: DUP2
0000284a: DUP4
0000284b: PUSH2 0x2273
0000284e: JUMP
0000284f: JUMPDEST
00002850: DUP2
00002851: ADD
00002852: SWAP1
00002853: PUSH2 0x3eae
00002856: JUMP
00002857: JUMPDEST
00002858: POP
00002859: POP
0000285a: POP
0000285b: CODESIZE
0000285c: PUSH2 0x282f
0000285f: JUMP
00002860: JUMPDEST
00002861: POP
00002862: RETURNDATASIZE
00002863: PUSH2 0x2845
00002866: JUMP
00002867: JUMPDEST
00002868: PUSH1 0x40
0000286a: MLOAD
0000286b: SWAP1
0000286c: RETURNDATASIZE
0000286d: SWAP1
0000286e: DUP3
0000286f: RETURNDATACOPY
00002870: RETURNDATASIZE
00002871: SWAP1
00002872: REVERT
00002873: JUMPDEST
00002874: SWAP1
00002875: POP
00002876: PUSH2 0x288e
00002879: SWAP2
0000287a: POP
0000287b: PUSH1 0x80
0000287d: RETURNDATASIZE
0000287e: PUSH1 0x80
00002880: GT
00002881: PUSH2 0x2860
00002884: JUMPI
00002885: PUSH2 0x284f
00002888: DUP2
00002889: DUP4
0000288a: PUSH2 0x2273
0000288d: JUMP
0000288e: JUMPDEST
0000288f: SWAP3
00002890: SWAP2
00002891: POP
00002892: POP
00002893: CODESIZE
00002894: PUSH2 0x2409
00002897: JUMP
00002898: JUMPDEST
00002899: PUSH1 0x40
0000289b: MLOAD
0000289c: RETURNDATASIZE
0000289d: DUP5
0000289e: DUP3
0000289f: RETURNDATACOPY
000028a0: RETURNDATASIZE
000028a1: SWAP1
000028a2: REVERT
000028a3: JUMPDEST
000028a4: PUSH1 0x40
000028a6: MLOAD
000028a7: PUSH3 0x461bcd
000028ab: PUSH1 0xe5
000028ad: SHL
000028ae: DUP2
000028af: MSTORE
000028b0: PUSH1 0x20
000028b2: PUSH1 0x04
000028b4: DUP3
000028b5: ADD
000028b6: MSTORE
000028b7: PUSH1 0x02
000028b9: PUSH1 0x24
000028bb: DUP3
000028bc: ADD
000028bd: MSTORE
000028be: PUSH2 0x4e49
000028c1: PUSH1 0xf0
000028c3: SHL
000028c4: PUSH1 0x44
000028c6: DUP3
000028c7: ADD
000028c8: MSTORE
000028c9: PUSH1 0x64
000028cb: SWAP1
000028cc: REVERT
000028cd: JUMPDEST
000028ce: SWAP2
000028cf: POP
000028d0: POP
000028d1: PUSH1 0xe0
000028d3: DUP2
000028d4: RETURNDATASIZE
000028d5: PUSH1 0xe0
000028d7: GT
000028d8: PUSH2 0x2955
000028db: JUMPI
000028dc: JUMPDEST
000028dd: DUP2
000028de: PUSH2 0x28e9
000028e1: PUSH1 0xe0
000028e3: SWAP4
000028e4: DUP4
000028e5: PUSH2 0x2273
000028e8: JUMP
000028e9: JUMPDEST
000028ea: DUP2
000028eb: ADD
000028ec: SUB
000028ed: SLT
000028ee: PUSH2 0x04ec
000028f1: JUMPI
000028f2: PUSH2 0x28fa
000028f5: DUP2
000028f6: PUSH2 0x3e7d
000028f9: JUMP
000028fa: JUMPDEST
000028fb: POP
000028fc: PUSH1 0x20
000028fe: DUP2
000028ff: ADD
00002900: MLOAD
00002901: DUP1
00002902: PUSH1 0x02
00002904: SIGNEXTEND
00002905: SUB
00002906: PUSH2 0x04ec
00002909: JUMPI
0000290a: PUSH2 0x2915
0000290d: PUSH1 0x40
0000290f: DUP3
00002910: ADD
00002911: PUSH2 0x3e91
00002914: JUMP
00002915: JUMPDEST
00002916: PUSH2 0x2921
00002919: PUSH1 0x60
0000291b: DUP4
0000291c: ADD
0000291d: PUSH2 0x3e91
00002920: JUMP
00002921: JUMPDEST
00002922: SWAP2
00002923: PUSH2 0x292e
00002926: PUSH1 0x80
00002928: DUP3
00002929: ADD
0000292a: PUSH2 0x3e91
0000292d: JUMP
0000292e: JUMPDEST
0000292f: POP
00002930: PUSH1 0xa0
00002932: DUP2
00002933: ADD
00002934: MLOAD
00002935: PUSH1 0xff
00002937: DUP2
00002938: AND
00002939: SUB
0000293a: PUSH2 0x1ad3
0000293d: JUMPI
0000293e: SWAP1
0000293f: PUSH2 0x294d
00002942: PUSH1 0xc0
00002944: PUSH2 0xffff
00002947: SWAP4
00002948: ADD
00002949: PUSH2 0x31ec
0000294c: JUMP
0000294d: JUMPDEST
0000294e: POP
0000294f: SWAP2
00002950: SWAP1
00002951: PUSH2 0x23b7
00002954: JUMP
00002955: JUMPDEST
00002956: RETURNDATASIZE
00002957: SWAP2
00002958: POP
00002959: PUSH2 0x28dc
0000295c: JUMP
0000295d: JUMPDEST
0000295e: PUSH2 0x2976
00002961: SWAP2
00002962: POP
00002963: PUSH1 0x20
00002965: RETURNDATASIZE
00002966: PUSH1 0x20
00002968: GT
00002969: PUSH2 0x10f0
0000296c: JUMPI
0000296d: PUSH2 0x10e2
00002970: DUP2
00002971: DUP4
00002972: PUSH2 0x2273
00002975: JUMP
00002976: JUMPDEST
00002977: CODESIZE
00002978: PUSH2 0x2380
0000297b: JUMP
0000297c: JUMPDEST
0000297d: PUSH1 0x40
0000297f: MLOAD
00002980: RETURNDATASIZE
00002981: PUSH1 0x00
00002983: DUP3
00002984: RETURNDATACOPY
00002985: RETURNDATASIZE
00002986: SWAP1
00002987: REVERT
00002988: JUMPDEST
00002989: PUSH1 0xff
0000298b: AND
0000298c: PUSH1 0x64
0000298e: SUB
0000298f: SWAP1
00002990: PUSH1 0xff
00002992: DUP3
00002993: GT
00002994: PUSH2 0x210a
00002997: JUMPI
00002998: JUMP
00002999: JUMPDEST
0000299a: PUSH1 0xc8
0000299c: SWAP1
0000299d: PUSH1 0x02
0000299f: SIGNEXTEND
000029a0: MUL
000029a1: SWAP1
000029a2: DUP2
000029a3: PUSH1 0x02
000029a5: SIGNEXTEND
000029a6: SWAP2
000029a7: DUP3
000029a8: SUB
000029a9: PUSH2 0x210a
000029ac: JUMPI
000029ad: JUMP
000029ae: JUMPDEST
000029af: MLOAD
000029b0: SWAP1
000029b1: PUSH1 0x01
000029b3: PUSH1 0x01
000029b5: PUSH1 0x80
000029b7: SHL
000029b8: SUB
000029b9: DUP3
000029ba: AND
000029bb: DUP3
000029bc: SUB
000029bd: PUSH2 0x20e2
000029c0: JUMPI
000029c1: JUMP
000029c2: JUMPDEST
000029c3: PUSH2 0x0384
000029c6: PUSH1 0x00
000029c8: PUSH1 0x40
000029ca: MLOAD
000029cb: PUSH4 0x3850c7bd
000029d0: PUSH1 0xe0
000029d2: SHL
000029d3: DUP2
000029d4: MSTORE
000029d5: PUSH1 0xe0
000029d7: DUP2
000029d8: PUSH1 0x04
000029da: DUP2
000029db: PUSH20 0xc45a81bc23a64ea556ab4cdf08a86b61cdceea8b
000029f0: GAS
000029f1: STATICCALL
000029f2: DUP1
000029f3: ISZERO
000029f4: PUSH2 0x2898
000029f7: JUMPI
000029f8: DUP3
000029f9: SWAP2
000029fa: DUP4
000029fb: SWAP2
000029fc: PUSH2 0x2e3e
000029ff: JUMPI
00002a00: JUMPDEST
00002a01: POP
00002a02: PUSH2 0xffff
00002a05: AND
00002a06: SWAP1
00002a07: DUP2
00002a08: ISZERO
00002a09: PUSH2 0x28a3
00002a0c: JUMPI
00002a0d: PUSH2 0xffff
00002a10: PUSH1 0x01
00002a12: SWAP2
00002a13: AND
00002a14: ADD
00002a15: SWAP1
00002a16: PUSH2 0xffff
00002a19: DUP3
00002a1a: GT
00002a1b: PUSH2 0x1e1d
00002a1e: JUMPI
00002a1f: PUSH2 0xffff
00002a22: SWAP1
00002a23: DUP2
00002a24: PUSH1 0x40
00002a26: MLOAD
00002a27: SWAP4
00002a28: PUSH4 0x252c09d7
00002a2d: PUSH1 0xe0
00002a2f: SHL
00002a30: DUP6
00002a31: MSTORE
00002a32: AND
00002a33: MOD
00002a34: AND
00002a35: PUSH1 0x04
00002a37: DUP3
00002a38: ADD
00002a39: MSTORE
00002a3a: PUSH1 0x80
00002a3c: DUP2
00002a3d: PUSH1 0x24
00002a3f: DUP2
00002a40: PUSH20 0xc45a81bc23a64ea556ab4cdf08a86b61cdceea8b
00002a55: GAS
00002a56: STATICCALL
00002a57: SWAP1
00002a58: DUP2
00002a59: ISZERO
00002a5a: PUSH2 0x2898
00002a5d: JUMPI
00002a5e: DUP3
00002a5f: SWAP1
00002a60: DUP4
00002a61: SWAP3
00002a62: PUSH2 0x2e19
00002a65: JUMPI
00002a66: JUMPDEST
00002a67: POP
00002a68: SWAP1
00002a69: ISZERO
00002a6a: PUSH2 0x2dae
00002a6d: JUMPI
00002a6e: JUMPDEST
00002a6f: PUSH2 0x2a7f
00002a72: SWAP2
00002a73: POP
00002a74: PUSH4 0xffffffff
00002a79: TIMESTAMP
00002a7a: AND
00002a7b: PUSH2 0x3f08
00002a7e: JUMP
00002a7f: JUMPDEST
00002a80: DUP2
00002a81: PUSH4 0xffffffff
00002a86: DUP3
00002a87: AND
00002a88: LT
00002a89: PUSH2 0x2da6
00002a8c: JUMPI
00002a8d: JUMPDEST
00002a8e: POP
00002a8f: PUSH4 0xffffffff
00002a94: AND
00002a95: PUSH1 0x00
00002a97: DUP2
00002a98: ISZERO
00002a99: PUSH2 0x27ce
00002a9c: JUMPI
00002a9d: PUSH1 0x40
00002a9f: MLOAD
00002aa0: SWAP1
00002aa1: PUSH2 0x2aab
00002aa4: PUSH1 0x60
00002aa6: DUP4
00002aa7: PUSH2 0x2273
00002aaa: JUMP
00002aab: JUMPDEST
00002aac: PUSH1 0x02
00002aae: DUP3
00002aaf: MSTORE
00002ab0: PUSH1 0x20
00002ab2: DUP3
00002ab3: ADD
00002ab4: SWAP2
00002ab5: PUSH1 0x40
00002ab7: CALLDATASIZE
00002ab8: DUP5
00002ab9: CALLDATACOPY
00002aba: DUP4
00002abb: PUSH2 0x2ac3
00002abe: DUP3
00002abf: PUSH2 0x3f39
00002ac2: JUMP
00002ac3: JUMPDEST
00002ac4: MSTORE
00002ac5: DUP2
00002ac6: PUSH2 0x2ace
00002ac9: DUP3
00002aca: PUSH2 0x3f5c
00002acd: JUMP
00002ace: JUMPDEST
00002acf: MSTORE
00002ad0: DUP2
00002ad1: PUSH1 0x40
00002ad3: MLOAD
00002ad4: DUP1
00002ad5: SWAP5
00002ad6: PUSH4 0x883bdbfd
00002adb: PUSH1 0xe0
00002add: SHL
00002ade: DUP3
00002adf: MSTORE
00002ae0: PUSH1 0x24
00002ae2: DUP3
00002ae3: ADD
00002ae4: SWAP4
00002ae5: PUSH1 0x20
00002ae7: PUSH1 0x04
00002ae9: DUP5
00002aea: ADD
00002aeb: MSTORE
00002aec: MLOAD
00002aed: DUP1
00002aee: SWAP5
00002aef: MSTORE
00002af0: PUSH1 0x44
00002af2: DUP3
00002af3: ADD
00002af4: SWAP1
00002af5: SWAP4
00002af6: DUP4
00002af7: JUMPDEST
00002af8: DUP2
00002af9: DUP2
00002afa: LT
00002afb: PUSH2 0x2d84
00002afe: JUMPI
00002aff: POP
00002b00: POP
00002b01: DUP2
00002b02: SWAP3
00002b03: SWAP4
00002b04: POP
00002b05: SUB
00002b06: DUP2
00002b07: PUSH20 0xc45a81bc23a64ea556ab4cdf08a86b61cdceea8b
00002b1c: GAS
00002b1d: STATICCALL
00002b1e: SWAP2
00002b1f: DUP3
00002b20: ISZERO
00002b21: PUSH2 0x279f
00002b24: JUMPI
00002b25: DUP2
00002b26: SWAP1
00002b27: DUP3
00002b28: SWAP4
00002b29: PUSH2 0x2c72
00002b2c: JUMPI
00002b2d: JUMPDEST
00002b2e: POP
00002b2f: PUSH2 0x2b3a
00002b32: PUSH2 0x24cb
00002b35: DUP3
00002b36: PUSH2 0x3f5c
00002b39: JUMP
00002b3a: JUMPDEST
00002b3b: MLOAD
00002b3c: PUSH1 0x06
00002b3e: SIGNEXTEND
00002b3f: SWAP1
00002b40: SUB
00002b41: SWAP2
00002b42: PUSH7 0x7fffffffffffff
00002b4a: NOT
00002b4b: DUP4
00002b4c: SLT
00002b4d: PUSH7 0x7fffffffffffff
00002b55: DUP5
00002b56: SGT
00002b57: OR
00002b58: PUSH2 0x0710
00002b5b: JUMPI
00002b5c: PUSH1 0x01
00002b5e: PUSH1 0x01
00002b60: PUSH1 0xa0
00002b62: SHL
00002b63: SUB
00002b64: PUSH2 0x2b6c
00002b67: DUP3
00002b68: PUSH2 0x3f5c
00002b6b: JUMP
00002b6c: JUMPDEST
00002b6d: MLOAD
00002b6e: AND
00002b6f: SWAP1
00002b70: PUSH1 0x01
00002b72: PUSH1 0x01
00002b74: PUSH1 0xa0
00002b76: SHL
00002b77: SUB
00002b78: SWAP1
00002b79: PUSH2 0x2b81
00002b7c: SWAP1
00002b7d: PUSH2 0x3f39
00002b80: JUMP
00002b81: JUMPDEST
00002b82: MLOAD
00002b83: AND
00002b84: SWAP1
00002b85: SUB
00002b86: SWAP1
00002b87: PUSH1 0x01
00002b89: PUSH1 0x01
00002b8b: PUSH1 0xa0
00002b8d: SHL
00002b8e: SUB
00002b8f: DUP3
00002b90: GT
00002b91: PUSH2 0x265d
00002b94: JUMPI
00002b95: DUP4
00002b96: PUSH1 0x06
00002b98: SIGNEXTEND
00002b99: SWAP3
00002b9a: PUSH1 0x06
00002b9c: SIGNEXTEND
00002b9d: SWAP1
00002b9e: DUP4
00002b9f: ISZERO
00002ba0: PUSH2 0x2671
00002ba3: JUMPI
00002ba4: PUSH7 0x7fffffffffffff
00002bac: NOT
00002bad: DUP3
00002bae: EQ
00002baf: PUSH1 0x00
00002bb1: NOT
00002bb2: DUP6
00002bb3: EQ
00002bb4: AND
00002bb5: PUSH2 0x265d
00002bb8: JUMPI
00002bb9: POP
00002bba: DUP3
00002bbb: DUP2
00002bbc: SDIV
00002bbd: PUSH1 0x02
00002bbf: SIGNEXTEND
00002bc0: SWAP3
00002bc1: PUSH1 0x00
00002bc3: DUP3
00002bc4: SLT
00002bc5: SWAP2
00002bc6: DUP3
00002bc7: PUSH2 0x2c63
00002bca: JUMPI
00002bcb: JUMPDEST
00002bcc: POP
00002bcd: POP
00002bce: PUSH2 0x2c4d
00002bd1: JUMPI
00002bd2: JUMPDEST
00002bd3: PUSH1 0x01
00002bd5: PUSH1 0x01
00002bd7: PUSH1 0xa0
00002bd9: SHL
00002bda: SUB
00002bdb: DUP4
00002bdc: DUP2
00002bdd: MUL
00002bde: PUSH1 0x01
00002be0: PUSH1 0x01
00002be2: PUSH1 0xc0
00002be4: SHL
00002be5: SUB
00002be6: AND
00002be7: SWAP4
00002be8: DUP5
00002be9: DIV
00002bea: SWAP1
00002beb: SUB
00002bec: PUSH2 0x210a
00002bef: JUMPI
00002bf0: PUSH1 0x20
00002bf2: SHL
00002bf3: PUSH5 0x0100000000
00002bf9: PUSH1 0x01
00002bfb: PUSH1 0xc0
00002bfd: SHL
00002bfe: SUB
00002bff: AND
00002c00: SWAP2
00002c01: DUP3
00002c02: ISZERO
00002c03: PUSH2 0x2211
00002c06: JUMPI
00002c07: POP
00002c08: PUSH2 0x2c11
00002c0b: SWAP2
00002c0c: POP
00002c0d: PUSH2 0x3f6c
00002c10: JUMP
00002c11: JUMPDEST
00002c12: PUSH1 0x01
00002c14: PUSH1 0x01
00002c16: PUSH1 0xa0
00002c18: SHL
00002c19: SUB
00002c1a: AND
00002c1b: SWAP1
00002c1c: PUSH1 0x01
00002c1e: PUSH1 0x01
00002c20: PUSH1 0x80
00002c22: SHL
00002c23: SUB
00002c24: DUP3
00002c25: GT
00002c26: PUSH2 0x2c3b
00002c29: JUMPI
00002c2a: PUSH2 0x2c36
00002c2d: DUP3
00002c2e: PUSH2 0x25f3
00002c31: SWAP4
00002c32: PUSH2 0x21f4
00002c35: JUMP
00002c36: JUMPDEST
00002c37: PUSH2 0x4885
00002c3a: JUMP
00002c3b: JUMPDEST
00002c3c: PUSH2 0x2c48
00002c3f: DUP3
00002c40: PUSH2 0x25f3
00002c43: SWAP4
00002c44: PUSH2 0x46b0
00002c47: JUMP
00002c48: JUMPDEST
00002c49: PUSH2 0x47b1
00002c4c: JUMP
00002c4d: JUMPDEST
00002c4e: SWAP1
00002c4f: PUSH3 0x7fffff
00002c53: NOT
00002c54: DUP2
00002c55: EQ
00002c56: PUSH2 0x210a
00002c59: JUMPI
00002c5a: PUSH1 0x00
00002c5c: NOT
00002c5d: ADD
00002c5e: SWAP1
00002c5f: PUSH2 0x2bd2
00002c62: JUMP
00002c63: JUMPDEST
00002c64: SMOD
00002c65: PUSH1 0x06
00002c67: SIGNEXTEND
00002c68: ISZERO
00002c69: ISZERO
00002c6a: SWAP1
00002c6b: POP
00002c6c: CODESIZE
00002c6d: DUP1
00002c6e: PUSH2 0x2bcb
00002c71: JUMP
00002c72: JUMPDEST
00002c73: SWAP3
00002c74: POP
00002c75: POP
00002c76: RETURNDATASIZE
00002c77: DUP1
00002c78: DUP3
00002c79: DUP5
00002c7a: RETURNDATACOPY
00002c7b: PUSH2 0x2c84
00002c7e: DUP2
00002c7f: DUP5
00002c80: PUSH2 0x2273
00002c83: JUMP
00002c84: JUMPDEST
00002c85: DUP3
00002c86: ADD
00002c87: SWAP2
00002c88: PUSH1 0x40
00002c8a: DUP2
00002c8b: DUP5
00002c8c: SUB
00002c8d: SLT
00002c8e: PUSH2 0x04ec
00002c91: JUMPI
00002c92: DUP1
00002c93: MLOAD
00002c94: PUSH1 0x01
00002c96: PUSH1 0x01
00002c98: PUSH1 0x40
00002c9a: SHL
00002c9b: SUB
00002c9c: DUP2
00002c9d: GT
00002c9e: PUSH2 0x0880
00002ca1: JUMPI
00002ca2: DUP2
00002ca3: ADD
00002ca4: SWAP1
00002ca5: DUP4
00002ca6: PUSH1 0x1f
00002ca8: DUP4
00002ca9: ADD
00002caa: SLT
00002cab: ISZERO
00002cac: PUSH2 0x0880
00002caf: JUMPI
00002cb0: DUP2
00002cb1: MLOAD
00002cb2: SWAP2
00002cb3: PUSH2 0x2cbb
00002cb6: DUP4
00002cb7: PUSH2 0x3f22
00002cba: JUMP
00002cbb: JUMPDEST
00002cbc: SWAP3
00002cbd: PUSH2 0x2cc9
00002cc0: PUSH1 0x40
00002cc2: MLOAD
00002cc3: SWAP5
00002cc4: DUP6
00002cc5: PUSH2 0x2273
00002cc8: JUMP
00002cc9: JUMPDEST
00002cca: DUP1
00002ccb: DUP5
00002ccc: MSTORE
00002ccd: PUSH1 0x20
00002ccf: DUP1
00002cd0: DUP6
00002cd1: ADD
00002cd2: SWAP2
00002cd3: PUSH1 0x05
00002cd5: SHL
00002cd6: DUP4
00002cd7: ADD
00002cd8: ADD
00002cd9: SWAP2
00002cda: DUP7
00002cdb: DUP4
00002cdc: GT
00002cdd: PUSH2 0x279b
00002ce0: JUMPI
00002ce1: PUSH1 0x20
00002ce3: ADD
00002ce4: SWAP1
00002ce5: JUMPDEST
00002ce6: DUP3
00002ce7: DUP3
00002ce8: LT
00002ce9: PUSH2 0x2d6c
00002cec: JUMPI
00002ced: POP
00002cee: POP
00002cef: POP
00002cf0: PUSH1 0x20
00002cf2: DUP2
00002cf3: ADD
00002cf4: MLOAD
00002cf5: SWAP1
00002cf6: PUSH1 0x01
00002cf8: PUSH1 0x01
00002cfa: PUSH1 0x40
00002cfc: SHL
00002cfd: SUB
00002cfe: DUP3
00002cff: GT
00002d00: PUSH2 0x1ad3
00002d03: JUMPI
00002d04: ADD
00002d05: SWAP3
00002d06: DUP1
00002d07: PUSH1 0x1f
00002d09: DUP6
00002d0a: ADD
00002d0b: SLT
00002d0c: ISZERO
00002d0d: PUSH2 0x0880
00002d10: JUMPI
00002d11: DUP4
00002d12: MLOAD
00002d13: PUSH2 0x2d1b
00002d16: DUP2
00002d17: PUSH2 0x3f22
00002d1a: JUMP
00002d1b: JUMPDEST
00002d1c: SWAP5
00002d1d: PUSH2 0x2d29
00002d20: PUSH1 0x40
00002d22: MLOAD
00002d23: SWAP7
00002d24: DUP8
00002d25: PUSH2 0x2273
00002d28: JUMP
00002d29: JUMPDEST
00002d2a: DUP2
00002d2b: DUP7
00002d2c: MSTORE
00002d2d: PUSH1 0x20
00002d2f: DUP1
00002d30: DUP8
00002d31: ADD
00002d32: SWAP3
00002d33: PUSH1 0x05
00002d35: SHL
00002d36: DUP3
00002d37: ADD
00002d38: ADD
00002d39: SWAP3
00002d3a: DUP4
00002d3b: GT
00002d3c: PUSH2 0x277f
00002d3f: JUMPI
00002d40: PUSH1 0x20
00002d42: ADD
00002d43: SWAP1
00002d44: JUMPDEST
00002d45: DUP3
00002d46: DUP3
00002d47: LT
00002d48: PUSH2 0x2d54
00002d4b: JUMPI
00002d4c: POP
00002d4d: POP
00002d4e: POP
00002d4f: CODESIZE
00002d50: PUSH2 0x2b2d
00002d53: JUMP
00002d54: JUMPDEST
00002d55: PUSH1 0x20
00002d57: DUP1
00002d58: SWAP2
00002d59: PUSH2 0x2d61
00002d5c: DUP5
00002d5d: PUSH2 0x3e7d
00002d60: JUMP
00002d61: JUMPDEST
00002d62: DUP2
00002d63: MSTORE
00002d64: ADD
00002d65: SWAP2
00002d66: ADD
00002d67: SWAP1
00002d68: PUSH2 0x2d44
00002d6b: JUMP
00002d6c: JUMPDEST
00002d6d: PUSH1 0x20
00002d6f: DUP1
00002d70: SWAP2
00002d71: PUSH2 0x2d79
00002d74: DUP5
00002d75: PUSH2 0x3ea0
00002d78: JUMP
00002d79: JUMPDEST
00002d7a: DUP2
00002d7b: MSTORE
00002d7c: ADD
00002d7d: SWAP2
00002d7e: ADD
00002d7f: SWAP1
00002d80: PUSH2 0x2ce5
00002d83: JUMP
00002d84: JUMPDEST
00002d85: DUP6
00002d86: MLOAD
00002d87: PUSH4 0xffffffff
00002d8c: AND
00002d8d: DUP4
00002d8e: MSTORE
00002d8f: PUSH1 0x20
00002d91: SWAP6
00002d92: DUP7
00002d93: ADD
00002d94: SWAP6
00002d95: DUP8
00002d96: SWAP6
00002d97: POP
00002d98: DUP9
00002d99: SWAP5
00002d9a: POP
00002d9b: SWAP1
00002d9c: SWAP3
00002d9d: ADD
00002d9e: SWAP2
00002d9f: PUSH1 0x01
00002da1: ADD
00002da2: PUSH2 0x2af7
00002da5: JUMP
00002da6: JUMPDEST
00002da7: SWAP1
00002da8: POP
00002da9: CODESIZE
00002daa: PUSH2 0x2a8d
00002dad: JUMP
00002dae: JUMPDEST
00002daf: POP
00002db0: PUSH1 0x40
00002db2: MLOAD
00002db3: PUSH4 0x252c09d7
00002db8: PUSH1 0xe0
00002dba: SHL
00002dbb: DUP2
00002dbc: MSTORE
00002dbd: PUSH1 0x04
00002dbf: DUP2
00002dc0: ADD
00002dc1: DUP3
00002dc2: SWAP1
00002dc3: MSTORE
00002dc4: PUSH1 0x80
00002dc6: DUP2
00002dc7: PUSH1 0x24
00002dc9: DUP2
00002dca: PUSH20 0xc45a81bc23a64ea556ab4cdf08a86b61cdceea8b
00002ddf: GAS
00002de0: STATICCALL
00002de1: SWAP2
00002de2: DUP3
00002de3: ISZERO
00002de4: PUSH2 0x2867
00002de7: JUMPI
00002de8: SWAP1
00002de9: PUSH2 0x2a7f
00002dec: SWAP3
00002ded: PUSH2 0x2df7
00002df0: JUMPI
00002df1: JUMPDEST
00002df2: POP
00002df3: PUSH2 0x2a6e
00002df6: JUMP
00002df7: JUMPDEST
00002df8: PUSH2 0x2e10
00002dfb: SWAP2
00002dfc: POP
00002dfd: PUSH1 0x80
00002dff: RETURNDATASIZE
00002e00: PUSH1 0x80
00002e02: GT
00002e03: PUSH2 0x2860
00002e06: JUMPI
00002e07: PUSH2 0x284f
00002e0a: DUP2
00002e0b: DUP4
00002e0c: PUSH2 0x2273
00002e0f: JUMP
00002e10: JUMPDEST
00002e11: POP
00002e12: POP
00002e13: POP
00002e14: CODESIZE
00002e15: PUSH2 0x2df1
00002e18: JUMP
00002e19: JUMPDEST
00002e1a: SWAP1
00002e1b: POP
00002e1c: PUSH2 0x2e34
00002e1f: SWAP2
00002e20: POP
00002e21: PUSH1 0x80
00002e23: RETURNDATASIZE
00002e24: PUSH1 0x80
00002e26: GT
00002e27: PUSH2 0x2860
00002e2a: JUMPI
00002e2b: PUSH2 0x284f
00002e2e: DUP2
00002e2f: DUP4
00002e30: PUSH2 0x2273
00002e33: JUMP
00002e34: JUMPDEST
00002e35: SWAP3
00002e36: SWAP2
00002e37: POP
00002e38: POP
00002e39: CODESIZE
00002e3a: PUSH2 0x2a66
00002e3d: JUMP
00002e3e: JUMPDEST
00002e3f: SWAP2
00002e40: POP
00002e41: POP
00002e42: PUSH1 0xe0
00002e44: DUP2
00002e45: RETURNDATASIZE
00002e46: PUSH1 0xe0
00002e48: GT
00002e49: PUSH2 0x2ec6
00002e4c: JUMPI
00002e4d: JUMPDEST
00002e4e: DUP2
00002e4f: PUSH2 0x2e5a
00002e52: PUSH1 0xe0
00002e54: SWAP4
00002e55: DUP4
00002e56: PUSH2 0x2273
00002e59: JUMP
00002e5a: JUMPDEST
00002e5b: DUP2
00002e5c: ADD
00002e5d: SUB
00002e5e: SLT
00002e5f: PUSH2 0x04ec
00002e62: JUMPI
00002e63: PUSH2 0x2e6b
00002e66: DUP2
00002e67: PUSH2 0x3e7d
00002e6a: JUMP
00002e6b: JUMPDEST
00002e6c: POP
00002e6d: PUSH1 0x20
00002e6f: DUP2
00002e70: ADD
00002e71: MLOAD
00002e72: DUP1
00002e73: PUSH1 0x02
00002e75: SIGNEXTEND
00002e76: SUB
00002e77: PUSH2 0x04ec
00002e7a: JUMPI
00002e7b: PUSH2 0x2e86
00002e7e: PUSH1 0x40
00002e80: DUP3
00002e81: ADD
00002e82: PUSH2 0x3e91
00002e85: JUMP
00002e86: JUMPDEST
00002e87: PUSH2 0x2e92
00002e8a: PUSH1 0x60
00002e8c: DUP4
00002e8d: ADD
00002e8e: PUSH2 0x3e91
00002e91: JUMP
00002e92: JUMPDEST
00002e93: SWAP2
00002e94: PUSH2 0x2e9f
00002e97: PUSH1 0x80
00002e99: DUP3
00002e9a: ADD
00002e9b: PUSH2 0x3e91
00002e9e: JUMP
00002e9f: JUMPDEST
00002ea0: POP
00002ea1: PUSH1 0xa0
00002ea3: DUP2
00002ea4: ADD
00002ea5: MLOAD
00002ea6: PUSH1 0xff
00002ea8: DUP2
00002ea9: AND
00002eaa: SUB
00002eab: PUSH2 0x1ad3
00002eae: JUMPI
00002eaf: SWAP1
00002eb0: PUSH2 0x2ebe
00002eb3: PUSH1 0xc0
00002eb5: PUSH2 0xffff
00002eb8: SWAP4
00002eb9: ADD
00002eba: PUSH2 0x31ec
00002ebd: JUMP
00002ebe: JUMPDEST
00002ebf: POP
00002ec0: SWAP2
00002ec1: SWAP1
00002ec2: PUSH2 0x2a00
00002ec5: JUMP
00002ec6: JUMPDEST
00002ec7: RETURNDATASIZE
00002ec8: SWAP2
00002ec9: POP
00002eca: PUSH2 0x2e4d
00002ecd: JUMP
00002ece: JUMPDEST
00002ecf: PUSH1 0x40
00002ed1: MLOAD
00002ed2: PUSH4 0x70a08231
00002ed7: PUSH1 0xe0
00002ed9: SHL
00002eda: DUP2
00002edb: MSTORE
00002edc: ADDRESS
00002edd: PUSH1 0x04
00002edf: DUP3
00002ee0: ADD
00002ee1: MSTORE
00002ee2: PUSH1 0x00
00002ee4: PUSH32 0x000000000000000000000000b47f575807fc5466285e1277ef8acfbb5c6686e8
00002f05: PUSH1 0x01
00002f07: PUSH1 0x01
00002f09: PUSH1 0xa0
00002f0b: SHL
00002f0c: SUB
00002f0d: AND
00002f0e: PUSH1 0x20
00002f10: DUP4
00002f11: PUSH1 0x24
00002f13: DUP2
00002f14: DUP5
00002f15: GAS
00002f16: STATICCALL
00002f17: SWAP3
00002f18: DUP4
00002f19: ISZERO
00002f1a: PUSH2 0x2898
00002f1d: JUMPI
00002f1e: DUP3
00002f1f: SWAP4
00002f20: PUSH2 0x2f9e
00002f23: JUMPI
00002f24: JUMPDEST
00002f25: POP
00002f26: PUSH2 0x2f31
00002f29: DUP4
00002f2a: PUSH1 0x06
00002f2c: SLOAD
00002f2d: PUSH2 0x2120
00002f30: JUMP
00002f31: JUMPDEST
00002f32: PUSH1 0x06
00002f34: SSTORE
00002f35: DUP1
00002f36: EXTCODESIZE
00002f37: ISZERO
00002f38: PUSH2 0x04ec
00002f3b: JUMPI
00002f3c: DUP2
00002f3d: DUP1
00002f3e: SWAP2
00002f3f: PUSH1 0x24
00002f41: PUSH1 0x40
00002f43: MLOAD
00002f44: DUP1
00002f45: SWAP5
00002f46: DUP2
00002f47: SWAP4
00002f48: PUSH4 0x0852cd8d
00002f4d: PUSH1 0xe3
00002f4f: SHL
00002f50: DUP4
00002f51: MSTORE
00002f52: DUP9
00002f53: PUSH1 0x04
00002f55: DUP5
00002f56: ADD
00002f57: MSTORE
00002f58: GAS
00002f59: CALL
00002f5a: DUP1
00002f5b: ISZERO
00002f5c: PUSH2 0x2898
00002f5f: JUMPI
00002f60: SWAP1
00002f61: DUP3
00002f62: PUSH32 0x89af60e661efa3da35b4ce1b5165e52acf2e747e41905d84e9ec3230e7b006b2
00002f83: SWAP4
00002f84: SWAP3
00002f85: PUSH2 0x2f8e
00002f88: JUMPI
00002f89: JUMPDEST
00002f8a: SWAP1
00002f8b: POP
00002f8c: LOG2
00002f8d: JUMP
00002f8e: JUMPDEST
00002f8f: PUSH2 0x2f97
00002f92: SWAP2
00002f93: PUSH2 0x2273
00002f96: JUMP
00002f97: JUMPDEST
00002f98: CODESIZE
00002f99: DUP2
00002f9a: PUSH2 0x2f89
00002f9d: JUMP
00002f9e: JUMPDEST
00002f9f: SWAP1
00002fa0: SWAP3
00002fa1: POP
00002fa2: PUSH1 0x20
00002fa4: DUP2
00002fa5: RETURNDATASIZE
00002fa6: PUSH1 0x20
00002fa8: GT
00002fa9: PUSH2 0x2fca
00002fac: JUMPI
00002fad: JUMPDEST
00002fae: DUP2
00002faf: PUSH2 0x2fba
00002fb2: PUSH1 0x20
00002fb4: SWAP4
00002fb5: DUP4
00002fb6: PUSH2 0x2273
00002fb9: JUMP
00002fba: JUMPDEST
00002fbb: DUP2
00002fbc: ADD
00002fbd: SUB
00002fbe: SLT
00002fbf: PUSH2 0x04ec
00002fc2: JUMPI
00002fc3: MLOAD
00002fc4: SWAP2
00002fc5: CODESIZE
00002fc6: PUSH2 0x2f24
00002fc9: JUMP
00002fca: JUMPDEST
00002fcb: RETURNDATASIZE
00002fcc: SWAP2
00002fcd: POP
00002fce: PUSH2 0x2fad
00002fd1: JUMP
00002fd2: JUMPDEST
00002fd3: PUSH4 0xffffffff
00002fd8: AND
00002fd9: PUSH4 0xffffffff
00002fde: DUP2
00002fdf: EQ
00002fe0: PUSH2 0x210a
00002fe3: JUMPI
00002fe4: PUSH1 0x01
00002fe6: ADD
00002fe7: SWAP1
00002fe8: JUMP
00002fe9: JUMPDEST
00002fea: PUSH4 0xffffffff
00002fef: PUSH2 0x0258
00002ff2: SWAP2
00002ff3: AND
00002ff4: MUL
00002ff5: SWAP1
00002ff6: PUSH4 0xffffffff
00002ffb: DUP3
00002ffc: AND
00002ffd: SWAP2
00002ffe: DUP3
00002fff: SUB
00003000: PUSH2 0x210a
00003003: JUMPI
00003004: JUMP
00003005: JUMPDEST
00003006: PUSH4 0xffffffff
0000300b: PUSH1 0x01
0000300d: SWAP2
0000300e: AND
0000300f: ADD
00003010: SWAP1
00003011: PUSH4 0xffffffff
00003016: DUP3
00003017: GT
00003018: PUSH2 0x210a
0000301b: JUMPI
0000301c: JUMP
0000301d: JUMPDEST
0000301e: SWAP1
0000301f: PUSH4 0xffffffff
00003024: DUP1
00003025: SWAP2
00003026: AND
00003027: SWAP2
00003028: AND
00003029: ADD
0000302a: SWAP1
0000302b: PUSH4 0xffffffff
00003030: DUP3
00003031: GT
00003032: PUSH2 0x210a
00003035: JUMPI
00003036: JUMP
00003037: JUMPDEST
00003038: DUP2
00003039: MLOAD
0000303a: PUSH1 0x20
0000303c: SWAP3
0000303d: SWAP1
0000303e: SWAP3
0000303f: ADD
00003040: MLOAD
00003041: PUSH1 0x80
00003043: SHL
00003044: PUSH1 0x01
00003046: PUSH1 0x01
00003048: PUSH1 0x80
0000304a: SHL
0000304b: SUB
0000304c: NOT
0000304d: AND
0000304e: PUSH1 0x01
00003050: PUSH1 0x01
00003052: PUSH1 0x80
00003054: SHL
00003055: SUB
00003056: SWAP3
00003057: SWAP1
00003058: SWAP3
00003059: AND
0000305a: SWAP2
0000305b: SWAP1
0000305c: SWAP2
0000305d: OR
0000305e: SWAP1
0000305f: SSTORE
00003060: JUMP
00003061: JUMPDEST
00003062: JUMP
00003063: JUMPDEST
00003064: PUSH32 0x00000000000000000000000000000000000000000000000000000000686fffa0
00003085: PUSH4 0xffffffff
0000308a: DUP2
0000308b: AND
0000308c: DUP1
0000308d: TIMESTAMP
0000308e: LT
0000308f: PUSH2 0x31db
00003092: JUMPI
00003093: PUSH1 0x1a
00003095: SLOAD
00003096: SWAP1
00003097: PUSH4 0xffffffff
0000309c: DUP3
0000309d: PUSH1 0x20
0000309f: SHR
000030a0: AND
000030a1: SWAP1
000030a2: DUP2
000030a3: ISZERO
000030a4: SWAP1
000030a5: DUP2
000030a6: PUSH1 0x00
000030a8: EQ
000030a9: PUSH2 0x31c4
000030ac: JUMPI
000030ad: PUSH2 0x30bb
000030b0: PUSH4 0xffffffff
000030b5: SWAP2
000030b6: TIMESTAMP
000030b7: PUSH2 0x20fd
000030ba: JUMP
000030bb: JUMPDEST
000030bc: AND
000030bd: SWAP2
000030be: JUMPDEST
000030bf: PUSH1 0x00
000030c1: SWAP2
000030c2: DUP3
000030c3: SWAP2
000030c4: DUP3
000030c5: SWAP2
000030c6: DUP3
000030c7: SWAP2
000030c8: DUP3
000030c9: SWAP2
000030ca: ISZERO
000030cb: PUSH2 0x317a
000030ce: JUMPI
000030cf: POP
000030d0: POP
000030d1: POP
000030d2: POP
000030d3: POP
000030d4: POP
000030d5: PUSH4 0xffffffff
000030da: PUSH2 0x30e3
000030dd: SWAP2
000030de: AND
000030df: PUSH2 0x442e
000030e2: JUMP
000030e3: JUMPDEST
000030e4: SWAP1
000030e5: SWAP4
000030e6: SWAP3
000030e7: SWAP1
000030e8: SWAP2
000030e9: SWAP1
000030ea: PUSH1 0x01
000030ec: JUMPDEST
000030ed: PUSH2 0x30f8
000030f0: JUMPI
000030f1: JUMPDEST
000030f2: POP
000030f3: POP
000030f4: POP
000030f5: POP
000030f6: POP
000030f7: JUMP
000030f8: JUMPDEST
000030f9: PUSH4 0xffffffff
000030fe: PUSH1 0x20
00003100: SHL
00003101: PUSH2 0x311b
00003104: PUSH2 0x3162
00003107: SWAP6
00003108: PUSH2 0x3115
0000310b: PUSH4 0xffffffff
00003110: SWAP7
00003111: PUSH2 0x2fe9
00003114: JUMP
00003115: JUMPDEST
00003116: SWAP1
00003117: PUSH2 0x301d
0000311a: JUMP
0000311b: JUMPDEST
0000311c: PUSH1 0x20
0000311e: SHL
0000311f: AND
00003120: SWAP1
00003121: PUSH4 0xffffffff
00003126: PUSH1 0x20
00003128: SHL
00003129: NOT
0000312a: AND
0000312b: OR
0000312c: PUSH1 0x1a
0000312e: SSTORE
0000312f: PUSH1 0x01
00003131: PUSH1 0x01
00003133: PUSH1 0x80
00003135: SHL
00003136: SUB
00003137: PUSH1 0x40
00003139: MLOAD
0000313a: SWAP5
0000313b: PUSH2 0x3143
0000313e: DUP7
0000313f: PUSH2 0x2227
00003142: JUMP
00003143: JUMPDEST
00003144: AND
00003145: DUP5
00003146: MSTORE
00003147: PUSH1 0x00
00003149: PUSH1 0x20
0000314b: DUP6
0000314c: ADD
0000314d: MSTORE
0000314e: AND
0000314f: SWAP2
00003150: DUP3
00003151: PUSH1 0x00
00003153: MSTORE
00003154: PUSH1 0x19
00003156: PUSH1 0x20
00003158: MSTORE
00003159: PUSH1 0x40
0000315b: PUSH1 0x00
0000315d: KECCAK256
0000315e: PUSH2 0x3037
00003161: JUMP
00003162: JUMPDEST
00003163: PUSH4 0xffffffff
00003168: NOT
00003169: PUSH1 0x1a
0000316b: SLOAD
0000316c: AND
0000316d: OR
0000316e: PUSH1 0x1a
00003170: SSTORE
00003171: CODESIZE
00003172: DUP1
00003173: DUP1
00003174: DUP1
00003175: DUP1
00003176: PUSH2 0x30f1
00003179: JUMP
0000317a: JUMPDEST
0000317b: SWAP2
0000317c: SWAP5
0000317d: SWAP8
0000317e: POP
0000317f: SWAP2
00003180: SWAP5
00003181: PUSH4 0xffffffff
00003186: SWAP1
00003187: SWAP7
00003188: SWAP4
00003189: SWAP7
0000318a: AND
0000318b: PUSH2 0x0258
0000318e: DUP2
0000318f: GT
00003190: PUSH2 0x319b
00003193: JUMPI
00003194: JUMPDEST
00003195: POP
00003196: POP
00003197: PUSH2 0x30ec
0000319a: JUMP
0000319b: JUMPDEST
0000319c: SWAP4
0000319d: POP
0000319e: SWAP6
0000319f: POP
000031a0: POP
000031a1: SWAP3
000031a2: POP
000031a3: PUSH2 0x31ac
000031a6: SWAP2
000031a7: POP
000031a8: PUSH2 0x442e
000031ab: JUMP
000031ac: JUMPDEST
000031ad: SWAP1
000031ae: SWAP4
000031af: SWAP3
000031b0: PUSH1 0x01
000031b2: SWAP3
000031b3: SWAP2
000031b4: PUSH2 0x31bc
000031b7: SWAP1
000031b8: PUSH2 0x2fd2
000031bb: JUMP
000031bc: JUMPDEST
000031bd: SWAP3
000031be: CODESIZE
000031bf: DUP1
000031c0: PUSH2 0x3194
000031c3: JUMP
000031c4: JUMPDEST
000031c5: POP
000031c6: PUSH4 0xffffffff
000031cb: PUSH2 0x31d4
000031ce: DUP4
000031cf: TIMESTAMP
000031d0: PUSH2 0x20fd
000031d3: JUMP
000031d4: JUMPDEST
000031d5: AND
000031d6: SWAP2
000031d7: PUSH2 0x30be
000031da: JUMP
000031db: JUMPDEST
000031dc: PUSH4 0x1864d7ab
000031e1: PUSH1 0xe2
000031e3: SHL
000031e4: PUSH1 0x00
000031e6: MSTORE
000031e7: PUSH1 0x04
000031e9: PUSH1 0x00
000031eb: REVERT
000031ec: JUMPDEST
000031ed: MLOAD
000031ee: SWAP1
000031ef: DUP2
000031f0: ISZERO
000031f1: ISZERO
000031f2: DUP3
000031f3: SUB
000031f4: PUSH2 0x20e2
000031f7: JUMPI
000031f8: JUMP
000031f9: JUMPDEST
000031fa: PUSH1 0x40
000031fc: MLOAD
000031fd: PUSH4 0x23b872dd
00003202: PUSH1 0xe0
00003204: SHL
00003205: PUSH1 0x20
00003207: DUP3
00003208: ADD
00003209: SWAP1
0000320a: DUP2
0000320b: MSTORE
0000320c: PUSH1 0x01
0000320e: PUSH1 0x01
00003210: PUSH1 0xa0
00003212: SHL
00003213: SUB
00003214: SWAP3
00003215: DUP4
00003216: AND
00003217: PUSH1 0x24
00003219: DUP4
0000321a: ADD
0000321b: MSTORE
0000321c: SWAP2
0000321d: SWAP1
0000321e: SWAP3
0000321f: AND
00003220: PUSH1 0x44
00003222: DUP4
00003223: ADD
00003224: MSTORE
00003225: PUSH1 0x64
00003227: DUP1
00003228: DUP4
00003229: ADD
0000322a: SWAP4
0000322b: SWAP1
0000322c: SWAP4
0000322d: MSTORE
0000322e: SWAP2
0000322f: DUP2
00003230: MSTORE
00003231: PUSH1 0x00
00003233: SWAP2
00003234: DUP3
00003235: SWAP2
00003236: PUSH2 0x3240
00003239: PUSH1 0x84
0000323b: DUP3
0000323c: PUSH2 0x2273
0000323f: JUMP
00003240: JUMPDEST
00003241: MLOAD
00003242: SWAP1
00003243: DUP3
00003244: PUSH20 0xf19308f923582a6f7c465e5ce7a9dc1bec6665b1
00003259: GAS
0000325a: CALL
0000325b: PUSH2 0x3262
0000325e: PUSH2 0x2294
00003261: JUMP
00003262: JUMPDEST
00003263: DUP2
00003264: PUSH2 0x329b
00003267: JUMPI
00003268: JUMPDEST
00003269: POP
0000326a: ISZERO
0000326b: PUSH2 0x3270
0000326e: JUMPI
0000326f: JUMP
00003270: JUMPDEST
00003271: PUSH1 0x40
00003273: MLOAD
00003274: PUSH3 0x461bcd
00003278: PUSH1 0xe5
0000327a: SHL
0000327b: DUP2
0000327c: MSTORE
0000327d: PUSH1 0x20
0000327f: PUSH1 0x04
00003281: DUP3
00003282: ADD
00003283: MSTORE
00003284: PUSH1 0x03
00003286: PUSH1 0x24
00003288: DUP3
00003289: ADD
0000328a: MSTORE
0000328b: PUSH3 0x29aa23
0000328f: PUSH1 0xe9
00003291: SHL
00003292: PUSH1 0x44
00003294: DUP3
00003295: ADD
00003296: MSTORE
00003297: PUSH1 0x64
00003299: SWAP1
0000329a: REVERT
0000329b: JUMPDEST
0000329c: DUP1
0000329d: MLOAD
0000329e: DUP1
0000329f: ISZERO
000032a0: SWAP3
000032a1: POP
000032a2: DUP3
000032a3: ISZERO
000032a4: PUSH2 0x32b0
000032a7: JUMPI
000032a8: JUMPDEST
000032a9: POP
000032aa: POP
000032ab: CODESIZE
000032ac: PUSH2 0x3268
000032af: JUMP
000032b0: JUMPDEST
000032b1: DUP2
000032b2: SWAP3
000032b3: POP
000032b4: SWAP1
000032b5: PUSH1 0x20
000032b7: SWAP2
000032b8: DUP2
000032b9: ADD
000032ba: SUB
000032bb: SLT
000032bc: PUSH2 0x20e2
000032bf: JUMPI
000032c0: PUSH1 0x20
000032c2: PUSH2 0x32cb
000032c5: SWAP2
000032c6: ADD
000032c7: PUSH2 0x31ec
000032ca: JUMP
000032cb: JUMPDEST
000032cc: CODESIZE
000032cd: DUP1
000032ce: PUSH2 0x32a8
000032d1: JUMP
000032d2: JUMPDEST
000032d3: PUSH1 0x01
000032d5: SLOAD
000032d6: PUSH1 0x01
000032d8: PUSH1 0x01
000032da: PUSH1 0xa0
000032dc: SHL
000032dd: SUB
000032de: AND
000032df: CALLER
000032e0: SUB
000032e1: PUSH2 0x32e6
000032e4: JUMPI
000032e5: JUMP
000032e6: JUMPDEST
000032e7: PUSH4 0x118cdaa7
000032ec: PUSH1 0xe0
000032ee: SHL
000032ef: PUSH1 0x00
000032f1: MSTORE
000032f2: CALLER
000032f3: PUSH1 0x04
000032f5: MSTORE
000032f6: PUSH1 0x24
000032f8: PUSH1 0x00
000032fa: REVERT
000032fb: JUMPDEST
000032fc: PUSH32 0x00000000000000000000000000000000000000000000000000000000686fffa0
0000331d: PUSH4 0xffffffff
00003322: DUP2
00003323: AND
00003324: DUP1
00003325: TIMESTAMP
00003326: LT
00003327: PUSH2 0x31db
0000332a: JUMPI
0000332b: PUSH1 0x16
0000332d: SLOAD
0000332e: SWAP1
0000332f: PUSH4 0xffffffff
00003334: DUP3
00003335: PUSH1 0x20
00003337: SHR
00003338: AND
00003339: SWAP1
0000333a: DUP2
0000333b: ISZERO
0000333c: SWAP1
0000333d: DUP2
0000333e: PUSH1 0x00
00003340: EQ
00003341: PUSH2 0x3455
00003344: JUMPI
00003345: PUSH2 0x3353
00003348: PUSH4 0xffffffff
0000334d: SWAP2
0000334e: TIMESTAMP
0000334f: PUSH2 0x20fd
00003352: JUMP
00003353: JUMPDEST
00003354: AND
00003355: SWAP2
00003356: JUMPDEST
00003357: PUSH1 0x00
00003359: SWAP2
0000335a: DUP3
0000335b: SWAP2
0000335c: DUP3
0000335d: SWAP2
0000335e: DUP3
0000335f: SWAP2
00003360: DUP3
00003361: SWAP2
00003362: ISZERO
00003363: PUSH2 0x340b
00003366: JUMPI
00003367: POP
00003368: POP
00003369: POP
0000336a: POP
0000336b: POP
0000336c: POP
0000336d: PUSH4 0xffffffff
00003372: PUSH2 0x337b
00003375: SWAP2
00003376: AND
00003377: PUSH2 0x4503
0000337a: JUMP
0000337b: JUMPDEST
0000337c: SWAP1
0000337d: SWAP4
0000337e: SWAP3
0000337f: SWAP1
00003380: SWAP2
00003381: SWAP1
00003382: PUSH1 0x01
00003384: JUMPDEST
00003385: PUSH2 0x338f
00003388: JUMPI
00003389: POP
0000338a: POP
0000338b: POP
0000338c: POP
0000338d: POP
0000338e: JUMP
0000338f: JUMPDEST
00003390: PUSH4 0xffffffff
00003395: PUSH1 0x20
00003397: SHL
00003398: PUSH2 0x33ac
0000339b: PUSH2 0x33f3
0000339e: SWAP6
0000339f: PUSH2 0x3115
000033a2: PUSH4 0xffffffff
000033a7: SWAP7
000033a8: PUSH2 0x2fe9
000033ab: JUMP
000033ac: JUMPDEST
000033ad: PUSH1 0x20
000033af: SHL
000033b0: AND
000033b1: SWAP1
000033b2: PUSH4 0xffffffff
000033b7: PUSH1 0x20
000033b9: SHL
000033ba: NOT
000033bb: AND
000033bc: OR
000033bd: PUSH1 0x16
000033bf: SSTORE
000033c0: PUSH1 0x01
000033c2: PUSH1 0x01
000033c4: PUSH1 0x80
000033c6: SHL
000033c7: SUB
000033c8: PUSH1 0x40
000033ca: MLOAD
000033cb: SWAP5
000033cc: PUSH2 0x33d4
000033cf: DUP7
000033d0: PUSH2 0x2227
000033d3: JUMP
000033d4: JUMPDEST
000033d5: AND
000033d6: DUP5
000033d7: MSTORE
000033d8: PUSH1 0x00
000033da: PUSH1 0x20
000033dc: DUP6
000033dd: ADD
000033de: MSTORE
000033df: AND
000033e0: SWAP2
000033e1: DUP3
000033e2: PUSH1 0x00
000033e4: MSTORE
000033e5: PUSH1 0x15
000033e7: PUSH1 0x20
000033e9: MSTORE
000033ea: PUSH1 0x40
000033ec: PUSH1 0x00
000033ee: KECCAK256
000033ef: PUSH2 0x3037
000033f2: JUMP
000033f3: JUMPDEST
000033f4: PUSH4 0xffffffff
000033f9: NOT
000033fa: PUSH1 0x16
000033fc: SLOAD
000033fd: AND
000033fe: OR
000033ff: PUSH1 0x16
00003401: SSTORE
00003402: CODESIZE
00003403: DUP1
00003404: DUP1
00003405: DUP1
00003406: DUP1
00003407: PUSH2 0x30f1
0000340a: JUMP
0000340b: JUMPDEST
0000340c: SWAP2
0000340d: SWAP5
0000340e: SWAP8
0000340f: POP
00003410: SWAP2
00003411: SWAP5
00003412: PUSH4 0xffffffff
00003417: SWAP1
00003418: SWAP7
00003419: SWAP4
0000341a: SWAP7
0000341b: AND
0000341c: PUSH2 0x0258
0000341f: DUP2
00003420: GT
00003421: PUSH2 0x342c
00003424: JUMPI
00003425: JUMPDEST
00003426: POP
00003427: POP
00003428: PUSH2 0x3384
0000342b: JUMP
0000342c: JUMPDEST
0000342d: SWAP4
0000342e: POP
0000342f: SWAP6
00003430: POP
00003431: POP
00003432: SWAP3
00003433: POP
00003434: PUSH2 0x343d
00003437: SWAP2
00003438: POP
00003439: PUSH2 0x4503
0000343c: JUMP
0000343d: JUMPDEST
0000343e: SWAP1
0000343f: SWAP4
00003440: SWAP3
00003441: PUSH1 0x01
00003443: SWAP3
00003444: SWAP2
00003445: PUSH2 0x344d
00003448: SWAP1
00003449: PUSH2 0x2fd2
0000344c: JUMP
0000344d: JUMPDEST
0000344e: SWAP3
0000344f: CODESIZE
00003450: DUP1
00003451: PUSH2 0x3425
00003454: JUMP
00003455: JUMPDEST
00003456: POP
00003457: PUSH4 0xffffffff
0000345c: PUSH2 0x3465
0000345f: DUP4
00003460: TIMESTAMP
00003461: PUSH2 0x20fd
00003464: JUMP
00003465: JUMPDEST
00003466: AND
00003467: SWAP2
00003468: PUSH2 0x3356
0000346b: JUMP
0000346c: JUMPDEST
0000346d: PUSH1 0x02
0000346f: PUSH1 0x00
00003471: SLOAD
00003472: EQ
00003473: PUSH2 0x347d
00003476: JUMPI
00003477: PUSH1 0x02
00003479: PUSH1 0x00
0000347b: SSTORE
0000347c: JUMP
0000347d: JUMPDEST
0000347e: PUSH4 0x3ee5aeb5
00003483: PUSH1 0xe0
00003485: SHL
00003486: PUSH1 0x00
00003488: MSTORE
00003489: PUSH1 0x04
0000348b: PUSH1 0x00
0000348d: REVERT
0000348e: JUMPDEST
0000348f: PUSH32 0x00000000000000000000000000000000000000000000000000000000686fffa0
000034b0: PUSH4 0xffffffff
000034b5: DUP2
000034b6: AND
000034b7: DUP1
000034b8: TIMESTAMP
000034b9: LT
000034ba: PUSH2 0x31db
000034bd: JUMPI
000034be: PUSH1 0x18
000034c0: SLOAD
000034c1: SWAP1
000034c2: PUSH4 0xffffffff
000034c7: DUP3
000034c8: PUSH1 0x20
000034ca: SHR
000034cb: AND
000034cc: SWAP1
000034cd: DUP2
000034ce: ISZERO
000034cf: SWAP1
000034d0: DUP2
000034d1: PUSH1 0x00
000034d3: EQ
000034d4: PUSH2 0x35e8
000034d7: JUMPI
000034d8: PUSH2 0x34e6
000034db: PUSH4 0xffffffff
000034e0: SWAP2
000034e1: TIMESTAMP
000034e2: PUSH2 0x20fd
000034e5: JUMP
000034e6: JUMPDEST
000034e7: AND
000034e8: SWAP2
000034e9: JUMPDEST
000034ea: PUSH1 0x00
000034ec: SWAP2
000034ed: DUP3
000034ee: SWAP2
000034ef: DUP3
000034f0: SWAP2
000034f1: DUP3
000034f2: SWAP2
000034f3: DUP3
000034f4: SWAP2
000034f5: ISZERO
000034f6: PUSH2 0x359e
000034f9: JUMPI
000034fa: POP
000034fb: POP
000034fc: POP
000034fd: POP
000034fe: POP
000034ff: POP
00003500: PUSH4 0xffffffff
00003505: PUSH2 0x350e
00003508: SWAP2
00003509: AND
0000350a: PUSH2 0x45b3
0000350d: JUMP
0000350e: JUMPDEST
0000350f: SWAP1
00003510: SWAP4
00003511: SWAP3
00003512: SWAP1
00003513: SWAP2
00003514: SWAP1
00003515: PUSH1 0x01
00003517: JUMPDEST
00003518: PUSH2 0x3522
0000351b: JUMPI
0000351c: POP
0000351d: POP
0000351e: POP
0000351f: POP
00003520: POP
00003521: JUMP
00003522: JUMPDEST
00003523: PUSH4 0xffffffff
00003528: PUSH1 0x20
0000352a: SHL
0000352b: PUSH2 0x353f
0000352e: PUSH2 0x3586
00003531: SWAP6
00003532: PUSH2 0x3115
00003535: PUSH4 0xffffffff
0000353a: SWAP7
0000353b: PUSH2 0x2fe9
0000353e: JUMP
0000353f: JUMPDEST
00003540: PUSH1 0x20
00003542: SHL
00003543: AND
00003544: SWAP1
00003545: PUSH4 0xffffffff
0000354a: PUSH1 0x20
0000354c: SHL
0000354d: NOT
0000354e: AND
0000354f: OR
00003550: PUSH1 0x18
00003552: SSTORE
00003553: PUSH1 0x01
00003555: PUSH1 0x01
00003557: PUSH1 0x80
00003559: SHL
0000355a: SUB
0000355b: PUSH1 0x40
0000355d: MLOAD
0000355e: SWAP5
0000355f: PUSH2 0x3567
00003562: DUP7
00003563: PUSH2 0x2227
00003566: JUMP
00003567: JUMPDEST
00003568: AND
00003569: DUP5
0000356a: MSTORE
0000356b: PUSH1 0x00
0000356d: PUSH1 0x20
0000356f: DUP6
00003570: ADD
00003571: MSTORE
00003572: AND
00003573: SWAP2
00003574: DUP3
00003575: PUSH1 0x00
00003577: MSTORE
00003578: PUSH1 0x17
0000357a: PUSH1 0x20
0000357c: MSTORE
0000357d: PUSH1 0x40
0000357f: PUSH1 0x00
00003581: KECCAK256
00003582: PUSH2 0x3037
00003585: JUMP
00003586: JUMPDEST
00003587: PUSH4 0xffffffff
0000358c: NOT
0000358d: PUSH1 0x18
0000358f: SLOAD
00003590: AND
00003591: OR
00003592: PUSH1 0x18
00003594: SSTORE
00003595: CODESIZE
00003596: DUP1
00003597: DUP1
00003598: DUP1
00003599: DUP1
0000359a: PUSH2 0x30f1
0000359d: JUMP
0000359e: JUMPDEST
0000359f: SWAP2
000035a0: SWAP5
000035a1: SWAP8
000035a2: POP
000035a3: SWAP2
000035a4: SWAP5
000035a5: PUSH4 0xffffffff
000035aa: SWAP1
000035ab: SWAP7
000035ac: SWAP4
000035ad: SWAP7
000035ae: AND
000035af: PUSH2 0x0258
000035b2: DUP2
000035b3: GT
000035b4: PUSH2 0x35bf
000035b7: JUMPI
000035b8: JUMPDEST
000035b9: POP
000035ba: POP
000035bb: PUSH2 0x3517
000035be: JUMP
000035bf: JUMPDEST
000035c0: SWAP4
000035c1: POP
000035c2: SWAP6
000035c3: POP
000035c4: POP
000035c5: SWAP3
000035c6: POP
000035c7: PUSH2 0x35d0
000035ca: SWAP2
000035cb: POP
000035cc: PUSH2 0x45b3
000035cf: JUMP
000035d0: JUMPDEST
000035d1: SWAP1
000035d2: SWAP4
000035d3: SWAP3
000035d4: PUSH1 0x01
000035d6: SWAP3
000035d7: SWAP2
000035d8: PUSH2 0x35e0
000035db: SWAP1
000035dc: PUSH2 0x2fd2
000035df: JUMP
000035e0: JUMPDEST
000035e1: SWAP3
000035e2: CODESIZE
000035e3: DUP1
000035e4: PUSH2 0x35b8
000035e7: JUMP
000035e8: JUMPDEST
000035e9: POP
000035ea: PUSH4 0xffffffff
000035ef: PUSH2 0x35f8
000035f2: DUP4
000035f3: TIMESTAMP
000035f4: PUSH2 0x20fd
000035f7: JUMP
000035f8: JUMPDEST
000035f9: AND
000035fa: SWAP2
000035fb: PUSH2 0x34e9
000035fe: JUMP
000035ff: JUMPDEST
00003600: SWAP2
00003601: SWAP1
00003602: SWAP2
00003603: PUSH1 0x20
00003605: DUP2
00003606: MSTORE
00003607: DUP3
00003608: MLOAD
00003609: SWAP3
0000360a: PUSH1 0xa0
0000360c: PUSH1 0x20
0000360e: DUP4
0000360f: ADD
00003610: MSTORE
00003611: DUP4
00003612: MLOAD
00003613: SWAP1
00003614: DUP2
00003615: PUSH1 0xc0
00003617: DUP5
00003618: ADD
00003619: MSTORE
0000361a: PUSH1 0x00
0000361c: JUMPDEST
0000361d: DUP3
0000361e: DUP2
0000361f: LT
00003620: PUSH2 0x366c
00003623: JUMPI
00003624: POP
00003625: PUSH1 0xe0
00003627: SWAP4
00003628: SWAP5
00003629: POP
0000362a: PUSH1 0x80
0000362c: SWAP1
0000362d: PUSH1 0x00
0000362f: DUP6
00003630: DUP5
00003631: DUP7
00003632: ADD
00003633: ADD
00003634: MSTORE
00003635: PUSH1 0x01
00003637: DUP1
00003638: PUSH1 0xa0
0000363a: SHL
0000363b: SUB
0000363c: PUSH1 0x20
0000363e: DUP3
0000363f: ADD
00003640: MLOAD
00003641: AND
00003642: PUSH1 0x40
00003644: DUP6
00003645: ADD
00003646: MSTORE
00003647: PUSH1 0x40
00003649: DUP2
0000364a: ADD
0000364b: MLOAD
0000364c: PUSH1 0x60
0000364e: DUP6
0000364f: ADD
00003650: MSTORE
00003651: PUSH1 0x60
00003653: DUP2
00003654: ADD
00003655: MLOAD
00003656: DUP3
00003657: DUP6
00003658: ADD
00003659: MSTORE
0000365a: ADD
0000365b: MLOAD
0000365c: PUSH1 0xa0
0000365e: DUP4
0000365f: ADD
00003660: MSTORE
00003661: PUSH1 0x1f
00003663: DUP1
00003664: NOT
00003665: SWAP2
00003666: ADD
00003667: AND
00003668: ADD
00003669: ADD
0000366a: SWAP1
0000366b: JUMP
0000366c: JUMPDEST
0000366d: DUP1
0000366e: PUSH1 0x20
00003670: DUP1
00003671: SWAP3
00003672: DUP9
00003673: ADD
00003674: ADD
00003675: MLOAD
00003676: PUSH1 0xe0
00003678: DUP3
00003679: DUP8
0000367a: ADD
0000367b: ADD
0000367c: MSTORE
0000367d: ADD
0000367e: PUSH2 0x361c
00003681: JUMP
00003682: JUMPDEST
00003683: PUSH1 0x40
00003685: MLOAD
00003686: PUSH20 0x6015551cd911ff4685072e2793f56c841e3ab661
0000369b: PUSH1 0x61
0000369d: SHL
0000369e: PUSH1 0x20
000036a0: DUP3
000036a1: DUP2
000036a2: ADD
000036a3: SWAP2
000036a4: SWAP1
000036a5: SWAP2
000036a6: MSTORE
000036a7: PUSH2 0x0271
000036aa: PUSH1 0xec
000036ac: SHL
000036ad: PUSH1 0x34
000036af: DUP4
000036b0: ADD
000036b1: MSTORE
000036b2: PUSH20 0xf19308f923582a6f7c465e5ce7a9dc1bec6665b1
000036c7: PUSH1 0x60
000036c9: SHL
000036ca: PUSH1 0x37
000036cc: DUP4
000036cd: ADD
000036ce: MSTORE
000036cf: PUSH1 0x2b
000036d1: DUP3
000036d2: MSTORE
000036d3: PUSH2 0x3745
000036d6: SWAP4
000036d7: SWAP1
000036d8: SWAP3
000036d9: SWAP1
000036da: PUSH2 0x36e4
000036dd: PUSH1 0x4b
000036df: DUP5
000036e0: PUSH2 0x2273
000036e3: JUMP
000036e4: JUMPDEST
000036e5: PUSH1 0x64
000036e7: PUSH2 0x3704
000036ea: PUSH2 0x36f2
000036ed: DUP5
000036ee: PUSH2 0x29c2
000036f1: JUMP
000036f2: JUMPDEST
000036f3: PUSH1 0xff
000036f5: PUSH2 0x0e9f
000036f8: DUP2
000036f9: PUSH1 0x18
000036fb: SLOAD
000036fc: PUSH1 0x48
000036fe: SHR
000036ff: AND
00003700: PUSH2 0x2988
00003703: JUMP
00003704: JUMPDEST
00003705: DIV
00003706: SWAP1
00003707: PUSH1 0x40
00003709: MLOAD
0000370a: SWAP4
0000370b: PUSH2 0x3713
0000370e: DUP6
0000370f: PUSH2 0x2258
00003712: JUMP
00003713: JUMPDEST
00003714: DUP5
00003715: MSTORE
00003716: ADDRESS
00003717: DUP6
00003718: DUP6
00003719: ADD
0000371a: MSTORE
0000371b: PUSH1 0x40
0000371d: DUP5
0000371e: ADD
0000371f: MSTORE
00003720: DUP2
00003721: PUSH1 0x60
00003723: DUP5
00003724: ADD
00003725: MSTORE
00003726: PUSH1 0x80
00003728: DUP4
00003729: ADD
0000372a: MSTORE
0000372b: PUSH1 0x40
0000372d: MLOAD
0000372e: DUP1
0000372f: DUP1
00003730: SWAP6
00003731: DUP2
00003732: SWAP5
00003733: PUSH4 0xc04b8d59
00003738: PUSH1 0xe0
0000373a: SHL
0000373b: DUP4
0000373c: MSTORE
0000373d: PUSH1 0x04
0000373f: DUP4
00003740: ADD
00003741: PUSH2 0x35ff
00003744: JUMP
00003745: JUMPDEST
00003746: SUB
00003747: SWAP2
00003748: PUSH20 0xe592427a0aece92de3edee1f18e0157c05861564
0000375d: GAS
0000375e: CALL
0000375f: SWAP1
00003760: DUP2
00003761: ISZERO
00003762: PUSH2 0x297c
00003765: JUMPI
00003766: PUSH1 0x00
00003768: SWAP2
00003769: PUSH2 0x3770
0000376c: JUMPI
0000376d: POP
0000376e: SWAP1
0000376f: JUMP
00003770: JUMPDEST
00003771: SWAP1
00003772: POP
00003773: PUSH1 0x20
00003775: DUP2
00003776: RETURNDATASIZE
00003777: PUSH1 0x20
00003779: GT
0000377a: PUSH2 0x3797
0000377d: JUMPI
0000377e: JUMPDEST
0000377f: DUP2
00003780: PUSH2 0x378b
00003783: PUSH1 0x20
00003785: SWAP4
00003786: DUP4
00003787: PUSH2 0x2273
0000378a: JUMP
0000378b: JUMPDEST
0000378c: DUP2
0000378d: ADD
0000378e: SUB
0000378f: SLT
00003790: PUSH2 0x20e2
00003793: JUMPI
00003794: MLOAD
00003795: SWAP1
00003796: JUMP
00003797: JUMPDEST
00003798: RETURNDATASIZE
00003799: SWAP2
0000379a: POP
0000379b: PUSH2 0x377e
0000379e: JUMP
0000379f: JUMPDEST
000037a0: PUSH1 0x40
000037a2: MLOAD
000037a3: PUSH4 0x095ea7b3
000037a8: PUSH1 0xe0
000037aa: SHL
000037ab: DUP2
000037ac: MSTORE
000037ad: PUSH20 0xe592427a0aece92de3edee1f18e0157c05861564
000037c2: PUSH1 0x04
000037c4: DUP3
000037c5: ADD
000037c6: MSTORE
000037c7: PUSH1 0x24
000037c9: DUP2
000037ca: ADD
000037cb: DUP3
000037cc: SWAP1
000037cd: MSTORE
000037ce: PUSH1 0x20
000037d0: DUP2
000037d1: PUSH1 0x44
000037d3: DUP2
000037d4: PUSH1 0x00
000037d6: PUSH32 0x000000000000000000000000f19308f923582a6f7c465e5ce7a9dc1bec6665b1
000037f7: PUSH1 0x01
000037f9: PUSH1 0x01
000037fb: PUSH1 0xa0
000037fd: SHL
000037fe: SUB
000037ff: AND
00003800: GAS
00003801: CALL
00003802: DUP1
00003803: ISZERO
00003804: PUSH2 0x297c
00003807: JUMPI
00003808: PUSH2 0x3915
0000380b: JUMPI
0000380c: JUMPDEST
0000380d: POP
0000380e: PUSH1 0x40
00003810: MLOAD
00003811: PUSH20 0xf19308f923582a6f7c465e5ce7a9dc1bec6665b1
00003826: PUSH1 0x60
00003828: SHL
00003829: PUSH1 0x20
0000382b: DUP3
0000382c: DUP2
0000382d: ADD
0000382e: SWAP2
0000382f: SWAP1
00003830: SWAP2
00003831: MSTORE
00003832: PUSH2 0x0271
00003835: PUSH1 0xec
00003837: SHL
00003838: PUSH1 0x34
0000383a: DUP4
0000383b: ADD
0000383c: MSTORE
0000383d: PUSH32 0x000000000000000000000000b47f575807fc5466285e1277ef8acfbb5c6686e8
0000385e: PUSH1 0x60
00003860: SHL
00003861: PUSH12 0xffffffffffffffffffffffff
0000386e: NOT
0000386f: AND
00003870: PUSH1 0x37
00003872: DUP4
00003873: ADD
00003874: MSTORE
00003875: PUSH1 0x2b
00003877: DUP3
00003878: MSTORE
00003879: PUSH2 0x38e8
0000387c: SWAP4
0000387d: SWAP1
0000387e: SWAP3
0000387f: PUSH2 0x3889
00003882: PUSH1 0x4b
00003884: DUP5
00003885: PUSH2 0x2273
00003888: JUMP
00003889: JUMPDEST
0000388a: PUSH1 0x64
0000388c: PUSH2 0x38a9
0000388f: PUSH2 0x3897
00003892: DUP4
00003893: PUSH2 0x2330
00003896: JUMP
00003897: JUMPDEST
00003898: PUSH1 0xff
0000389a: PUSH2 0x0e9f
0000389d: DUP2
0000389e: PUSH1 0x18
000038a0: SLOAD
000038a1: PUSH1 0x40
000038a3: SHR
000038a4: AND
000038a5: PUSH2 0x2988
000038a8: JUMP
000038a9: JUMPDEST
000038aa: DIV
000038ab: SWAP2
000038ac: PUSH1 0x40
000038ae: MLOAD
000038af: SWAP4
000038b0: PUSH2 0x38b8
000038b3: DUP6
000038b4: PUSH2 0x2258
000038b7: JUMP
000038b8: JUMPDEST
000038b9: DUP5
000038ba: MSTORE
000038bb: ADDRESS
000038bc: DUP6
000038bd: DUP6
000038be: ADD
000038bf: MSTORE
000038c0: PUSH1 0x40
000038c2: DUP5
000038c3: ADD
000038c4: MSTORE
000038c5: PUSH1 0x60
000038c7: DUP4
000038c8: ADD
000038c9: MSTORE
000038ca: PUSH1 0x80
000038cc: DUP3
000038cd: ADD
000038ce: MSTORE
000038cf: PUSH1 0x40
000038d1: MLOAD
000038d2: DUP1
000038d3: SWAP4
000038d4: DUP2
000038d5: SWAP3
000038d6: PUSH4 0xc04b8d59
000038db: PUSH1 0xe0
000038dd: SHL
000038de: DUP4
000038df: MSTORE
000038e0: PUSH1 0x04
000038e2: DUP4
000038e3: ADD
000038e4: PUSH2 0x35ff
000038e7: JUMP
000038e8: JUMPDEST
000038e9: SUB
000038ea: DUP2
000038eb: PUSH1 0x00
000038ed: PUSH20 0xe592427a0aece92de3edee1f18e0157c05861564
00003902: GAS
00003903: CALL
00003904: SWAP1
00003905: DUP2
00003906: ISZERO
00003907: PUSH2 0x297c
0000390a: JUMPI
0000390b: PUSH1 0x00
0000390d: SWAP2
0000390e: PUSH2 0x3770
00003911: JUMPI
00003912: POP
00003913: SWAP1
00003914: JUMP
00003915: JUMPDEST
00003916: SWAP1
00003917: PUSH1 0x20
00003919: DUP3
0000391a: RETURNDATASIZE
0000391b: PUSH1 0x20
0000391d: GT
0000391e: PUSH2 0x394f
00003921: JUMPI
00003922: JUMPDEST
00003923: DUP2
00003924: PUSH2 0x392f
00003927: PUSH1 0x20
00003929: SWAP4
0000392a: DUP4
0000392b: PUSH2 0x2273
0000392e: JUMP
0000392f: JUMPDEST
00003930: DUP2
00003931: ADD
00003932: SUB
00003933: SLT
00003934: PUSH2 0x20e2
00003937: JUMPI
00003938: PUSH2 0x38e8
0000393b: SWAP3
0000393c: PUSH2 0x3946
0000393f: PUSH1 0x20
00003941: SWAP4
00003942: PUSH2 0x31ec
00003945: JUMP
00003946: JUMPDEST
00003947: POP
00003948: SWAP3
00003949: POP
0000394a: SWAP1
0000394b: PUSH2 0x380c
0000394e: JUMP
0000394f: JUMPDEST
00003950: RETURNDATASIZE
00003951: SWAP2
00003952: POP
00003953: PUSH2 0x3922
00003956: JUMP
00003957: JUMPDEST
00003958: PUSH1 0x40
0000395a: MLOAD
0000395b: PUSH4 0xa9059cbb
00003960: PUSH1 0xe0
00003962: SHL
00003963: PUSH1 0x20
00003965: DUP3
00003966: ADD
00003967: SWAP1
00003968: DUP2
00003969: MSTORE
0000396a: PUSH1 0x01
0000396c: PUSH1 0x01
0000396e: PUSH1 0xa0
00003970: SHL
00003971: SUB
00003972: SWAP1
00003973: SWAP3
00003974: AND
00003975: PUSH1 0x24
00003977: DUP3
00003978: ADD
00003979: MSTORE
0000397a: PUSH1 0x44
0000397c: DUP2
0000397d: ADD
0000397e: SWAP3
0000397f: SWAP1
00003980: SWAP3
00003981: MSTORE
00003982: PUSH1 0x00
00003984: SWAP2
00003985: DUP3
00003986: SWAP2
00003987: SWAP1
00003988: PUSH2 0x399e
0000398b: DUP2
0000398c: PUSH1 0x64
0000398e: DUP2
0000398f: ADD
00003990: JUMPDEST
00003991: SUB
00003992: PUSH1 0x1f
00003994: NOT
00003995: DUP2
00003996: ADD
00003997: DUP4
00003998: MSTORE
00003999: DUP3
0000399a: PUSH2 0x2273
0000399d: JUMP
0000399e: JUMPDEST
0000399f: MLOAD
000039a0: SWAP1
000039a1: DUP3
000039a2: PUSH20 0xf19308f923582a6f7c465e5ce7a9dc1bec6665b1
000039b7: GAS
000039b8: CALL
000039b9: PUSH2 0x39c0
000039bc: PUSH2 0x2294
000039bf: JUMP
000039c0: JUMPDEST
000039c1: DUP2
000039c2: PUSH2 0x39f8
000039c5: JUMPI
000039c6: JUMPDEST
000039c7: POP
000039c8: ISZERO
000039c9: PUSH2 0x39ce
000039cc: JUMPI
000039cd: JUMP
000039ce: JUMPDEST
000039cf: PUSH1 0x40
000039d1: MLOAD
000039d2: PUSH3 0x461bcd
000039d6: PUSH1 0xe5
000039d8: SHL
000039d9: DUP2
000039da: MSTORE
000039db: PUSH1 0x20
000039dd: PUSH1 0x04
000039df: DUP3
000039e0: ADD
000039e1: MSTORE
000039e2: PUSH1 0x02
000039e4: PUSH1 0x24
000039e6: DUP3
000039e7: ADD
000039e8: MSTORE
000039e9: PUSH2 0x14d5
000039ec: PUSH1 0xf2
000039ee: SHL
000039ef: PUSH1 0x44
000039f1: DUP3
000039f2: ADD
000039f3: MSTORE
000039f4: PUSH1 0x64
000039f6: SWAP1
000039f7: REVERT
000039f8: JUMPDEST
000039f9: DUP1
000039fa: MLOAD
000039fb: DUP1
000039fc: ISZERO
000039fd: SWAP3
000039fe: POP
000039ff: DUP3
00003a00: ISZERO
00003a01: PUSH2 0x3a0d
00003a04: JUMPI
00003a05: JUMPDEST
00003a06: POP
00003a07: POP
00003a08: CODESIZE
00003a09: PUSH2 0x39c6
00003a0c: JUMP
00003a0d: JUMPDEST
00003a0e: DUP2
00003a0f: SWAP3
00003a10: POP
00003a11: SWAP1
00003a12: PUSH1 0x20
00003a14: SWAP2
00003a15: DUP2
00003a16: ADD
00003a17: SUB
00003a18: SLT
00003a19: PUSH2 0x20e2
00003a1c: JUMPI
00003a1d: PUSH1 0x20
00003a1f: PUSH2 0x3a28
00003a22: SWAP2
00003a23: ADD
00003a24: PUSH2 0x31ec
00003a27: JUMP
00003a28: JUMPDEST
00003a29: CODESIZE
00003a2a: DUP1
00003a2b: PUSH2 0x3a05
00003a2e: JUMP
00003a2f: JUMPDEST
00003a30: PUSH1 0x40
00003a32: MLOAD
00003a33: PUSH4 0xa9059cbb
00003a38: PUSH1 0xe0
00003a3a: SHL
00003a3b: PUSH1 0x20
00003a3d: DUP3
00003a3e: ADD
00003a3f: SWAP1
00003a40: DUP2
00003a41: MSTORE
00003a42: PUSH1 0x01
00003a44: PUSH1 0x01
00003a46: PUSH1 0xa0
00003a48: SHL
00003a49: SUB
00003a4a: SWAP1
00003a4b: SWAP4
00003a4c: AND
00003a4d: PUSH1 0x24
00003a4f: DUP3
00003a50: ADD
00003a51: MSTORE
00003a52: PUSH1 0x44
00003a54: DUP2
00003a55: ADD
00003a56: SWAP4
00003a57: SWAP1
00003a58: SWAP4
00003a59: MSTORE
00003a5a: PUSH1 0x00
00003a5c: SWAP3
00003a5d: DUP4
00003a5e: SWAP3
00003a5f: SWAP1
00003a60: DUP4
00003a61: SWAP1
00003a62: PUSH2 0x3a6e
00003a65: DUP2
00003a66: PUSH1 0x64
00003a68: DUP2
00003a69: ADD
00003a6a: PUSH2 0x3990
00003a6d: JUMP
00003a6e: JUMPDEST
00003a6f: MLOAD
00003a70: SWAP3
00003a71: GAS
00003a72: CALL
00003a73: PUSH2 0x39c0
00003a76: PUSH2 0x2294
00003a79: JUMP
00003a7a: JUMPDEST
00003a7b: PUSH32 0x00000000000000000000000000000000000000000000000000000000686fffa0
00003a9c: PUSH4 0xffffffff
00003aa1: DUP2
00003aa2: AND
00003aa3: DUP1
00003aa4: TIMESTAMP
00003aa5: LT
00003aa6: PUSH2 0x31db
00003aa9: JUMPI
00003aaa: PUSH1 0x1c
00003aac: SLOAD
00003aad: SWAP1
00003aae: PUSH4 0xffffffff
00003ab3: DUP3
00003ab4: PUSH1 0x20
00003ab6: SHR
00003ab7: AND
00003ab8: SWAP1
00003ab9: DUP2
00003aba: ISZERO
00003abb: SWAP1
00003abc: DUP2
00003abd: PUSH1 0x00
00003abf: EQ
00003ac0: PUSH2 0x3bd4
00003ac3: JUMPI
00003ac4: PUSH2 0x3ad2
00003ac7: PUSH4 0xffffffff
00003acc: SWAP2
00003acd: TIMESTAMP
00003ace: PUSH2 0x20fd
00003ad1: JUMP
00003ad2: JUMPDEST
00003ad3: AND
00003ad4: SWAP2
00003ad5: JUMPDEST
00003ad6: PUSH1 0x00
00003ad8: SWAP2
00003ad9: DUP3
00003ada: SWAP2
00003adb: DUP3
00003adc: SWAP2
00003add: DUP3
00003ade: SWAP2
00003adf: DUP3
00003ae0: SWAP2
00003ae1: ISZERO
00003ae2: PUSH2 0x3b8a
00003ae5: JUMPI
00003ae6: POP
00003ae7: POP
00003ae8: POP
00003ae9: POP
00003aea: POP
00003aeb: POP
00003aec: PUSH4 0xffffffff
00003af1: PUSH2 0x3afa
00003af4: SWAP2
00003af5: AND
00003af6: PUSH2 0x4658
00003af9: JUMP
00003afa: JUMPDEST
00003afb: SWAP1
00003afc: SWAP4
00003afd: SWAP3
00003afe: SWAP1
00003aff: SWAP2
00003b00: SWAP1
00003b01: PUSH1 0x01
00003b03: JUMPDEST
00003b04: PUSH2 0x3b0e
00003b07: JUMPI
00003b08: POP
00003b09: POP
00003b0a: POP
00003b0b: POP
00003b0c: POP
00003b0d: JUMP
00003b0e: JUMPDEST
00003b0f: PUSH4 0xffffffff
00003b14: PUSH1 0x20
00003b16: SHL
00003b17: PUSH2 0x3b2b
00003b1a: PUSH2 0x3b72
00003b1d: SWAP6
00003b1e: PUSH2 0x3115
00003b21: PUSH4 0xffffffff
00003b26: SWAP7
00003b27: PUSH2 0x2fe9
00003b2a: JUMP
00003b2b: JUMPDEST
00003b2c: PUSH1 0x20
00003b2e: SHL
00003b2f: AND
00003b30: SWAP1
00003b31: PUSH4 0xffffffff
00003b36: PUSH1 0x20
00003b38: SHL
00003b39: NOT
00003b3a: AND
00003b3b: OR
00003b3c: PUSH1 0x1c
00003b3e: SSTORE
00003b3f: PUSH1 0x01
00003b41: PUSH1 0x01
00003b43: PUSH1 0x80
00003b45: SHL
00003b46: SUB
00003b47: PUSH1 0x40
00003b49: MLOAD
00003b4a: SWAP5
00003b4b: PUSH2 0x3b53
00003b4e: DUP7
00003b4f: PUSH2 0x2227
00003b52: JUMP
00003b53: JUMPDEST
00003b54: AND
00003b55: DUP5
00003b56: MSTORE
00003b57: PUSH1 0x00
00003b59: PUSH1 0x20
00003b5b: DUP6
00003b5c: ADD
00003b5d: MSTORE
00003b5e: AND
00003b5f: SWAP2
00003b60: DUP3
00003b61: PUSH1 0x00
00003b63: MSTORE
00003b64: PUSH1 0x1b
00003b66: PUSH1 0x20
00003b68: MSTORE
00003b69: PUSH1 0x40
00003b6b: PUSH1 0x00
00003b6d: KECCAK256
00003b6e: PUSH2 0x3037
00003b71: JUMP
00003b72: JUMPDEST
00003b73: PUSH4 0xffffffff
00003b78: NOT
00003b79: PUSH1 0x1c
00003b7b: SLOAD
00003b7c: AND
00003b7d: OR
00003b7e: PUSH1 0x1c
00003b80: SSTORE
00003b81: CODESIZE
00003b82: DUP1
00003b83: DUP1
00003b84: DUP1
00003b85: DUP1
00003b86: PUSH2 0x30f1
00003b89: JUMP
00003b8a: JUMPDEST
00003b8b: SWAP2
00003b8c: SWAP5
00003b8d: SWAP8
00003b8e: POP
00003b8f: SWAP2
00003b90: SWAP5
00003b91: PUSH4 0xffffffff
00003b96: SWAP1
00003b97: SWAP7
00003b98: SWAP4
00003b99: SWAP7
00003b9a: AND
00003b9b: PUSH2 0x0258
00003b9e: DUP2
00003b9f: GT
00003ba0: PUSH2 0x3bab
00003ba3: JUMPI
00003ba4: JUMPDEST
00003ba5: POP
00003ba6: POP
00003ba7: PUSH2 0x3b03
00003baa: JUMP
00003bab: JUMPDEST
00003bac: SWAP4
00003bad: POP
00003bae: SWAP6
00003baf: POP
00003bb0: POP
00003bb1: SWAP3
00003bb2: POP
00003bb3: PUSH2 0x3bbc
00003bb6: SWAP2
00003bb7: POP
00003bb8: PUSH2 0x4658
00003bbb: JUMP
00003bbc: JUMPDEST
00003bbd: SWAP1
00003bbe: SWAP4
00003bbf: SWAP3
00003bc0: PUSH1 0x01
00003bc2: SWAP3
00003bc3: SWAP2
00003bc4: PUSH2 0x3bcc
00003bc7: SWAP1
00003bc8: PUSH2 0x2fd2
00003bcb: JUMP
00003bcc: JUMPDEST
00003bcd: SWAP3
00003bce: CODESIZE
00003bcf: DUP1
00003bd0: PUSH2 0x3ba4
00003bd3: JUMP
00003bd4: JUMPDEST
00003bd5: POP
00003bd6: PUSH4 0xffffffff
00003bdb: PUSH2 0x3be4
00003bde: DUP4
00003bdf: TIMESTAMP
00003be0: PUSH2 0x20fd
00003be3: JUMP
00003be4: JUMPDEST
00003be5: AND
00003be6: SWAP2
00003be7: PUSH2 0x3ad5
00003bea: JUMP
00003beb: JUMPDEST
00003bec: SWAP2
00003bed: PUSH1 0x00
00003bef: SWAP2
00003bf0: PUSH32 0x000000000000000000000000b47f575807fc5466285e1277ef8acfbb5c6686e8
00003c11: PUSH1 0x01
00003c13: PUSH1 0x01
00003c15: PUSH1 0xa0
00003c17: SHL
00003c18: SUB
00003c19: AND
00003c1a: PUSH20 0xf19308f923582a6f7c465e5ce7a9dc1bec6665b1
00003c2f: DUP2
00003c30: GT
00003c31: ISZERO
00003c32: PUSH2 0x3e60
00003c35: JUMPI
00003c36: PUSH20 0xf19308f923582a6f7c465e5ce7a9dc1bec6665b1
00003c4b: SWAP5
00003c4c: DUP2
00003c4d: SWAP5
00003c4e: JUMPDEST
00003c4f: POP
00003c50: PUSH1 0x01
00003c52: PUSH1 0x01
00003c54: PUSH1 0xa0
00003c56: SHL
00003c57: SUB
00003c58: DUP7
00003c59: AND
00003c5a: PUSH20 0xf19308f923582a6f7c465e5ce7a9dc1bec6665b1
00003c6f: SUB
00003c70: PUSH2 0x3e5a
00003c73: JUMPI
00003c74: SWAP2
00003c75: SWAP3
00003c76: JUMPDEST
00003c77: PUSH2 0x3c80
00003c7a: DUP4
00003c7b: DUP8
00003c7c: PUSH2 0x42e3
00003c7f: JUMP
00003c80: JUMPDEST
00003c81: PUSH2 0x3c8a
00003c84: DUP5
00003c85: DUP7
00003c86: PUSH2 0x42e3
00003c89: JUMP
00003c8a: JUMPDEST
00003c8b: PUSH1 0xff
00003c8d: PUSH1 0x18
00003c8f: SLOAD
00003c90: PUSH1 0x50
00003c92: SHR
00003c93: AND
00003c94: SWAP1
00003c95: PUSH1 0x64
00003c97: PUSH2 0x3cba
00003c9a: PUSH1 0xff
00003c9c: PUSH2 0x0ead
00003c9f: DUP4
00003ca0: PUSH2 0x3cb3
00003ca3: DUP4
00003ca4: PUSH2 0x3cac
00003ca7: DUP10
00003ca8: PUSH2 0x2988
00003cab: JUMP
00003cac: JUMPDEST
00003cad: AND
00003cae: DUP11
00003caf: PUSH2 0x21f4
00003cb2: JUMP
00003cb3: JUMPDEST
00003cb4: DIV
00003cb5: SWAP6
00003cb6: PUSH2 0x2988
00003cb9: JUMP
00003cba: JUMPDEST
00003cbb: DIV
00003cbc: PUSH1 0x01
00003cbe: DUP1
00003cbf: PUSH1 0xf8
00003cc1: SHL
00003cc2: SUB
00003cc3: PUSH1 0x04
00003cc5: SLOAD
00003cc6: AND
00003cc7: SWAP3
00003cc8: PUSH1 0x40
00003cca: MLOAD
00003ccb: SWAP4
00003ccc: PUSH1 0xc0
00003cce: DUP6
00003ccf: ADD
00003cd0: DUP6
00003cd1: DUP2
00003cd2: LT
00003cd3: PUSH1 0x01
00003cd5: PUSH1 0x01
00003cd7: PUSH1 0x40
00003cd9: SHL
00003cda: SUB
00003cdb: DUP3
00003cdc: GT
00003cdd: OR
00003cde: PUSH2 0x2242
00003ce1: JUMPI
00003ce2: PUSH1 0x40
00003ce4: MSTORE
00003ce5: DUP5
00003ce6: MSTORE
00003ce7: PUSH1 0x20
00003ce9: DUP5
00003cea: ADD
00003ceb: DUP7
00003cec: DUP2
00003ced: MSTORE
00003cee: PUSH1 0x40
00003cf0: DUP6
00003cf1: ADD
00003cf2: SWAP1
00003cf3: DUP9
00003cf4: DUP3
00003cf5: MSTORE
00003cf6: PUSH1 0x60
00003cf8: DUP7
00003cf9: ADD
00003cfa: SWAP3
00003cfb: DUP4
00003cfc: MSTORE
00003cfd: PUSH1 0x80
00003cff: DUP7
00003d00: ADD
00003d01: SWAP4
00003d02: DUP5
00003d03: MSTORE
00003d04: PUSH1 0xa0
00003d06: DUP7
00003d07: ADD
00003d08: SWAP5
00003d09: DUP6
00003d0a: MSTORE
00003d0b: PUSH1 0x40
00003d0d: MLOAD
00003d0e: SWAP6
00003d0f: PUSH4 0x219f5d17
00003d14: PUSH1 0xe0
00003d16: SHL
00003d17: DUP8
00003d18: MSTORE
00003d19: MLOAD
00003d1a: PUSH1 0x04
00003d1c: DUP8
00003d1d: ADD
00003d1e: MSTORE
00003d1f: MLOAD
00003d20: PUSH1 0x24
00003d22: DUP7
00003d23: ADD
00003d24: MSTORE
00003d25: MLOAD
00003d26: PUSH1 0x44
00003d28: DUP6
00003d29: ADD
00003d2a: MSTORE
00003d2b: MLOAD
00003d2c: PUSH1 0x64
00003d2e: DUP5
00003d2f: ADD
00003d30: MSTORE
00003d31: MLOAD
00003d32: PUSH1 0x84
00003d34: DUP4
00003d35: ADD
00003d36: MSTORE
00003d37: MLOAD
00003d38: PUSH1 0xa4
00003d3a: DUP3
00003d3b: ADD
00003d3c: MSTORE
00003d3d: PUSH1 0x60
00003d3f: DUP2
00003d40: PUSH1 0xc4
00003d42: DUP2
00003d43: PUSH1 0x00
00003d45: PUSH20 0xc36442b4a4522e871399cd717abdd847ab11fe88
00003d5a: GAS
00003d5b: CALL
00003d5c: SWAP3
00003d5d: DUP4
00003d5e: ISZERO
00003d5f: PUSH2 0x297c
00003d62: JUMPI
00003d63: PUSH1 0x00
00003d65: SWAP2
00003d66: DUP3
00003d67: SWAP5
00003d68: PUSH2 0x3e11
00003d6b: JUMPI
00003d6c: JUMPDEST
00003d6d: POP
00003d6e: DUP2
00003d6f: DUP2
00003d70: GT
00003d71: PUSH2 0x3dd6
00003d74: JUMPI
00003d75: JUMPDEST
00003d76: POP
00003d77: POP
00003d78: DUP2
00003d79: DUP4
00003d7a: GT
00003d7b: PUSH2 0x3d8e
00003d7e: JUMPI
00003d7f: JUMPDEST
00003d80: POP
00003d81: POP
00003d82: POP
00003d83: PUSH2 0x1021
00003d86: PUSH2 0x3061
00003d89: SWAP3
00003d8a: PUSH2 0x43a5
00003d8d: JUMP
00003d8e: JUMPDEST
00003d8f: PUSH1 0x20
00003d91: PUSH1 0x04
00003d93: SWAP2
00003d94: PUSH1 0x40
00003d96: SWAP7
00003d97: SWAP4
00003d98: SWAP5
00003d99: SWAP7
00003d9a: MLOAD
00003d9b: SWAP3
00003d9c: DUP4
00003d9d: DUP1
00003d9e: SWAP3
00003d9f: PUSH4 0x9ddbd211
00003da4: PUSH1 0xe0
00003da6: SHL
00003da7: DUP3
00003da8: MSTORE
00003da9: GAS
00003daa: STATICCALL
00003dab: SWAP5
00003dac: DUP6
00003dad: ISZERO
00003dae: PUSH2 0x297c
00003db1: JUMPI
00003db2: PUSH2 0x3061
00003db5: SWAP6
00003db6: PUSH2 0x1021
00003db9: SWAP5
00003dba: PUSH2 0x3dcf
00003dbd: SWAP4
00003dbe: PUSH1 0x00
00003dc0: SWAP3
00003dc1: PUSH2 0x10c4
00003dc4: JUMPI
00003dc5: POP
00003dc6: PUSH2 0x10b6
00003dc9: SWAP2
00003dca: SWAP3
00003dcb: PUSH2 0x20fd
00003dce: JUMP
00003dcf: JUMPDEST
00003dd0: SWAP3
00003dd1: CODESIZE
00003dd2: PUSH2 0x3d7f
00003dd5: JUMP
00003dd6: JUMPDEST
00003dd7: PUSH1 0x40
00003dd9: MLOAD
00003dda: PUSH4 0x9ddbd211
00003ddf: PUSH1 0xe0
00003de1: SHL
00003de2: DUP2
00003de3: MSTORE
00003de4: SWAP2
00003de5: PUSH1 0x20
00003de7: DUP4
00003de8: PUSH1 0x04
00003dea: DUP2
00003deb: DUP8
00003dec: GAS
00003ded: STATICCALL
00003dee: SWAP1
00003def: DUP2
00003df0: ISZERO
00003df1: PUSH2 0x297c
00003df4: JUMPI
00003df5: PUSH2 0x3e0a
00003df8: SWAP4
00003df9: PUSH1 0x00
00003dfb: SWAP3
00003dfc: PUSH2 0x1144
00003dff: JUMPI
00003e00: POP
00003e01: PUSH2 0x1136
00003e04: SWAP2
00003e05: SWAP3
00003e06: PUSH2 0x20fd
00003e09: JUMP
00003e0a: JUMPDEST
00003e0b: CODESIZE
00003e0c: DUP1
00003e0d: PUSH2 0x3d75
00003e10: JUMP
00003e11: JUMPDEST
00003e12: SWAP2
00003e13: SWAP1
00003e14: SWAP4
00003e15: POP
00003e16: PUSH1 0x60
00003e18: DUP3
00003e19: RETURNDATASIZE
00003e1a: PUSH1 0x60
00003e1c: GT
00003e1d: PUSH2 0x3e52
00003e20: JUMPI
00003e21: JUMPDEST
00003e22: DUP2
00003e23: PUSH2 0x3e2e
00003e26: PUSH1 0x60
00003e28: SWAP4
00003e29: DUP4
00003e2a: PUSH2 0x2273
00003e2d: JUMP
00003e2e: JUMPDEST
00003e2f: DUP2
00003e30: ADD
00003e31: SUB
00003e32: SLT
00003e33: PUSH2 0x04f0
00003e36: JUMPI
00003e37: POP
00003e38: PUSH2 0x3e40
00003e3b: DUP2
00003e3c: PUSH2 0x29ae
00003e3f: JUMP
00003e40: JUMPDEST
00003e41: POP
00003e42: PUSH1 0x40
00003e44: PUSH1 0x20
00003e46: DUP3
00003e47: ADD
00003e48: MLOAD
00003e49: SWAP2
00003e4a: ADD
00003e4b: MLOAD
00003e4c: SWAP3
00003e4d: CODESIZE
00003e4e: PUSH2 0x3d6c
00003e51: JUMP
00003e52: JUMPDEST
00003e53: RETURNDATASIZE
00003e54: SWAP2
00003e55: POP
00003e56: PUSH2 0x3e21
00003e59: JUMP
00003e5a: JUMPDEST
00003e5b: SWAP3
00003e5c: PUSH2 0x3c76
00003e5f: JUMP
00003e60: JUMPDEST
00003e61: DUP1
00003e62: SWAP5
00003e63: PUSH20 0xf19308f923582a6f7c465e5ce7a9dc1bec6665b1
00003e78: SWAP5
00003e79: PUSH2 0x3c4e
00003e7c: JUMP
00003e7d: JUMPDEST
00003e7e: MLOAD
00003e7f: SWAP1
00003e80: PUSH1 0x01
00003e82: PUSH1 0x01
00003e84: PUSH1 0xa0
00003e86: SHL
00003e87: SUB
00003e88: DUP3
00003e89: AND
00003e8a: DUP3
00003e8b: SUB
00003e8c: PUSH2 0x20e2
00003e8f: JUMPI
00003e90: JUMP
00003e91: JUMPDEST
00003e92: MLOAD
00003e93: SWAP1
00003e94: PUSH2 0xffff
00003e97: DUP3
00003e98: AND
00003e99: DUP3
00003e9a: SUB
00003e9b: PUSH2 0x20e2
00003e9e: JUMPI
00003e9f: JUMP
00003ea0: JUMPDEST
00003ea1: MLOAD
00003ea2: SWAP1
00003ea3: DUP2
00003ea4: PUSH1 0x06
00003ea6: SIGNEXTEND
00003ea7: DUP3
00003ea8: SUB
00003ea9: PUSH2 0x20e2
00003eac: JUMPI
00003ead: JUMP
00003eae: JUMPDEST
00003eaf: SWAP2
00003eb0: SWAP1
00003eb1: DUP3
00003eb2: PUSH1 0x80
00003eb4: SWAP2
00003eb5: SUB
00003eb6: SLT
00003eb7: PUSH2 0x20e2
00003eba: JUMPI
00003ebb: DUP2
00003ebc: MLOAD
00003ebd: PUSH4 0xffffffff
00003ec2: DUP2
00003ec3: AND
00003ec4: DUP2
00003ec5: SUB
00003ec6: PUSH2 0x20e2
00003ec9: JUMPI
00003eca: SWAP2
00003ecb: PUSH2 0x3ed6
00003ece: PUSH1 0x20
00003ed0: DUP3
00003ed1: ADD
00003ed2: PUSH2 0x3ea0
00003ed5: JUMP
00003ed6: JUMPDEST
00003ed7: SWAP2
00003ed8: PUSH2 0x25f3
00003edb: PUSH1 0x60
00003edd: PUSH2 0x3ee8
00003ee0: PUSH1 0x40
00003ee2: DUP6
00003ee3: ADD
00003ee4: PUSH2 0x3e7d
00003ee7: JUMP
00003ee8: JUMPDEST
00003ee9: SWAP4
00003eea: ADD
00003eeb: PUSH2 0x31ec
00003eee: JUMP
00003eef: JUMPDEST
00003ef0: PUSH4 0xffffffff
00003ef5: PUSH1 0x00
00003ef7: NOT
00003ef8: SWAP2
00003ef9: AND
00003efa: ADD
00003efb: SWAP1
00003efc: PUSH4 0xffffffff
00003f01: DUP3
00003f02: GT
00003f03: PUSH2 0x210a
00003f06: JUMPI
00003f07: JUMP
00003f08: JUMPDEST
00003f09: SWAP1
00003f0a: PUSH4 0xffffffff
00003f0f: DUP1
00003f10: SWAP2
00003f11: AND
00003f12: SWAP2
00003f13: AND
00003f14: SUB
00003f15: SWAP1
00003f16: PUSH4 0xffffffff
00003f1b: DUP3
00003f1c: GT
00003f1d: PUSH2 0x210a
00003f20: JUMPI
00003f21: JUMP
00003f22: JUMPDEST
00003f23: PUSH1 0x01
00003f25: PUSH1 0x01
00003f27: PUSH1 0x40
00003f29: SHL
00003f2a: SUB
00003f2b: DUP2
00003f2c: GT
00003f2d: PUSH2 0x2242
00003f30: JUMPI
00003f31: PUSH1 0x05
00003f33: SHL
00003f34: PUSH1 0x20
00003f36: ADD
00003f37: SWAP1
00003f38: JUMP
00003f39: JUMPDEST
00003f3a: DUP1
00003f3b: MLOAD
00003f3c: ISZERO
00003f3d: PUSH2 0x3f46
00003f40: JUMPI
00003f41: PUSH1 0x20
00003f43: ADD
00003f44: SWAP1
00003f45: JUMP
00003f46: JUMPDEST
00003f47: PUSH4 0x4e487b71
00003f4c: PUSH1 0xe0
00003f4e: SHL
00003f4f: PUSH1 0x00
00003f51: MSTORE
00003f52: PUSH1 0x32
00003f54: PUSH1 0x04
00003f56: MSTORE
00003f57: PUSH1 0x24
00003f59: PUSH1 0x00
00003f5b: REVERT
00003f5c: JUMPDEST
00003f5d: DUP1
00003f5e: MLOAD
00003f5f: PUSH1 0x01
00003f61: LT
00003f62: ISZERO
00003f63: PUSH2 0x3f46
00003f66: JUMPI
00003f67: PUSH1 0x40
00003f69: ADD
00003f6a: SWAP1
00003f6b: JUMP
00003f6c: JUMPDEST
00003f6d: PUSH1 0x02
00003f6f: SIGNEXTEND
00003f70: PUSH1 0x00
00003f72: DUP2
00003f73: SLT
00003f74: ISZERO
00003f75: PUSH2 0x42dd
00003f78: JUMPI
00003f79: DUP1
00003f7a: PUSH1 0x00
00003f7c: SUB
00003f7d: SWAP1
00003f7e: JUMPDEST
00003f7f: PUSH3 0x0d89e8
00003f83: DUP3
00003f84: GT
00003f85: PUSH2 0x42cc
00003f88: JUMPI
00003f89: PUSH1 0x01
00003f8b: DUP3
00003f8c: AND
00003f8d: ISZERO
00003f8e: PUSH2 0x42ba
00003f91: JUMPI
00003f92: PUSH1 0x01
00003f94: PUSH1 0x01
00003f96: PUSH1 0x88
00003f98: SHL
00003f99: SUB
00003f9a: PUSH16 0xfffcb933bd6fad37aa2d162d1a594001
00003fab: JUMPDEST
00003fac: AND
00003fad: SWAP2
00003fae: PUSH1 0x02
00003fb0: DUP2
00003fb1: AND
00003fb2: PUSH2 0x429e
00003fb5: JUMPI
00003fb6: JUMPDEST
00003fb7: PUSH1 0x04
00003fb9: DUP2
00003fba: AND
00003fbb: PUSH2 0x4282
00003fbe: JUMPI
00003fbf: JUMPDEST
00003fc0: PUSH1 0x08
00003fc2: DUP2
00003fc3: AND
00003fc4: PUSH2 0x4266
00003fc7: JUMPI
00003fc8: JUMPDEST
00003fc9: PUSH1 0x10
00003fcb: DUP2
00003fcc: AND
00003fcd: PUSH2 0x424a
00003fd0: JUMPI
00003fd1: JUMPDEST
00003fd2: PUSH1 0x20
00003fd4: DUP2
00003fd5: AND
00003fd6: PUSH2 0x422e
00003fd9: JUMPI
00003fda: JUMPDEST
00003fdb: PUSH1 0x40
00003fdd: DUP2
00003fde: AND
00003fdf: PUSH2 0x4212
00003fe2: JUMPI
00003fe3: JUMPDEST
00003fe4: PUSH1 0x80
00003fe6: DUP2
00003fe7: AND
00003fe8: PUSH2 0x41f6
00003feb: JUMPI
00003fec: JUMPDEST
00003fed: PUSH2 0x0100
00003ff0: DUP2
00003ff1: AND
00003ff2: PUSH2 0x41da
00003ff5: JUMPI
00003ff6: JUMPDEST
00003ff7: PUSH2 0x0200
00003ffa: DUP2
00003ffb: AND
00003ffc: PUSH2 0x41be
00003fff: JUMPI
00004000: JUMPDEST
00004001: PUSH2 0x0400
00004004: DUP2
00004005: AND
00004006: PUSH2 0x41a2
00004009: JUMPI
0000400a: JUMPDEST
0000400b: PUSH2 0x0800
0000400e: DUP2
0000400f: AND
00004010: PUSH2 0x4186
00004013: JUMPI
00004014: JUMPDEST
00004015: PUSH2 0x1000
00004018: DUP2
00004019: AND
0000401a: PUSH2 0x416a
0000401d: JUMPI
0000401e: JUMPDEST
0000401f: PUSH2 0x2000
00004022: DUP2
00004023: AND
00004024: PUSH2 0x414e
00004027: JUMPI
00004028: JUMPDEST
00004029: PUSH2 0x4000
0000402c: DUP2
0000402d: AND
0000402e: PUSH2 0x4132
00004031: JUMPI
00004032: JUMPDEST
00004033: PUSH2 0x8000
00004036: DUP2
00004037: AND
00004038: PUSH2 0x4116
0000403b: JUMPI
0000403c: JUMPDEST
0000403d: PUSH3 0x010000
00004041: DUP2
00004042: AND
00004043: PUSH2 0x40fa
00004046: JUMPI
00004047: JUMPDEST
00004048: PUSH3 0x020000
0000404c: DUP2
0000404d: AND
0000404e: PUSH2 0x40df
00004051: JUMPI
00004052: JUMPDEST
00004053: PUSH3 0x040000
00004057: DUP2
00004058: AND
00004059: PUSH2 0x40c4
0000405c: JUMPI
0000405d: JUMPDEST
0000405e: PUSH3 0x080000
00004062: AND
00004063: PUSH2 0x40ab
00004066: JUMPI
00004067: JUMPDEST
00004068: PUSH1 0x00
0000406a: SLT
0000406b: PUSH2 0x409c
0000406e: JUMPI
0000406f: JUMPDEST
00004070: PUSH4 0xffffffff
00004075: DUP2
00004076: AND
00004077: PUSH2 0x4094
0000407a: JUMPI
0000407b: PUSH1 0x00
0000407d: SWAP1
0000407e: JUMPDEST
0000407f: PUSH1 0x20
00004081: SHR
00004082: PUSH1 0xff
00004084: SWAP2
00004085: SWAP1
00004086: SWAP2
00004087: AND
00004088: ADD
00004089: PUSH1 0x01
0000408b: PUSH1 0x01
0000408d: PUSH1 0xa0
0000408f: SHL
00004090: SUB
00004091: AND
00004092: SWAP1
00004093: JUMP
00004094: JUMPDEST
00004095: PUSH1 0x01
00004097: SWAP1
00004098: PUSH2 0x407e
0000409b: JUMP
0000409c: JUMPDEST
0000409d: DUP1
0000409e: ISZERO
0000409f: PUSH2 0x2211
000040a2: JUMPI
000040a3: PUSH1 0x00
000040a5: NOT
000040a6: DIV
000040a7: PUSH2 0x406f
000040aa: JUMP
000040ab: JUMPDEST
000040ac: PUSH12 0x048a170391f7dc42444e8fa2
000040b9: SWAP1
000040ba: SWAP2
000040bb: MUL
000040bc: PUSH1 0x80
000040be: SHR
000040bf: SWAP1
000040c0: PUSH2 0x4067
000040c3: JUMP
000040c4: JUMPDEST
000040c5: PUSH14 0x2216e584f5fa1ea926041bedfe98
000040d4: SWAP1
000040d5: SWAP3
000040d6: MUL
000040d7: PUSH1 0x80
000040d9: SHR
000040da: SWAP2
000040db: PUSH2 0x405d
000040de: JUMP
000040df: JUMPDEST
000040e0: SWAP2
000040e1: PUSH15 0x5d6af8dedb81196699c329225ee604
000040f1: MUL
000040f2: PUSH1 0x80
000040f4: SHR
000040f5: SWAP2
000040f6: PUSH2 0x4052
000040f9: JUMP
000040fa: JUMPDEST
000040fb: SWAP2
000040fc: PUSH16 0x09aa508b5b7a84e1c677de54f3e99bc9
0000410d: MUL
0000410e: PUSH1 0x80
00004110: SHR
00004111: SWAP2
00004112: PUSH2 0x4047
00004115: JUMP
00004116: JUMPDEST
00004117: SWAP2
00004118: PUSH16 0x31be135f97d08fd981231505542fcfa6
00004129: MUL
0000412a: PUSH1 0x80
0000412c: SHR
0000412d: SWAP2
0000412e: PUSH2 0x403c
00004131: JUMP
00004132: JUMPDEST
00004133: SWAP2
00004134: PUSH16 0x70d869a156d2a1b890bb3df62baf32f7
00004145: MUL
00004146: PUSH1 0x80
00004148: SHR
00004149: SWAP2
0000414a: PUSH2 0x4032
0000414d: JUMP
0000414e: JUMPDEST
0000414f: SWAP2
00004150: PUSH16 0xa9f746462d870fdf8a65dc1f90e061e5
00004161: MUL
00004162: PUSH1 0x80
00004164: SHR
00004165: SWAP2
00004166: PUSH2 0x4028
00004169: JUMP
0000416a: JUMPDEST
0000416b: SWAP2
0000416c: PUSH16 0xd097f3bdfd2022b8845ad8f792aa5825
0000417d: MUL
0000417e: PUSH1 0x80
00004180: SHR
00004181: SWAP2
00004182: PUSH2 0x401e
00004185: JUMP
00004186: JUMPDEST
00004187: SWAP2
00004188: PUSH16 0xe7159475a2c29b7443b29c7fa6e889d9
00004199: MUL
0000419a: PUSH1 0x80
0000419c: SHR
0000419d: SWAP2
0000419e: PUSH2 0x4014
000041a1: JUMP
000041a2: JUMPDEST
000041a3: SWAP2
000041a4: PUSH16 0xf3392b0822b70005940c7a398e4b70f3
000041b5: MUL
000041b6: PUSH1 0x80
000041b8: SHR
000041b9: SWAP2
000041ba: PUSH2 0x400a
000041bd: JUMP
000041be: JUMPDEST
000041bf: SWAP2
000041c0: PUSH16 0xf987a7253ac413176f2b074cf7815e54
000041d1: MUL
000041d2: PUSH1 0x80
000041d4: SHR
000041d5: SWAP2
000041d6: PUSH2 0x4000
000041d9: JUMP
000041da: JUMPDEST
000041db: SWAP2
000041dc: PUSH16 0xfcbe86c7900a88aedcffc83b479aa3a4
000041ed: MUL
000041ee: PUSH1 0x80
000041f0: SHR
000041f1: SWAP2
000041f2: PUSH2 0x3ff6
000041f5: JUMP
000041f6: JUMPDEST
000041f7: SWAP2
000041f8: PUSH16 0xfe5dee046a99a2a811c461f1969c3053
00004209: MUL
0000420a: PUSH1 0x80
0000420c: SHR
0000420d: SWAP2
0000420e: PUSH2 0x3fec
00004211: JUMP
00004212: JUMPDEST
00004213: SWAP2
00004214: PUSH16 0xff2ea16466c96a3843ec78b326b52861
00004225: MUL
00004226: PUSH1 0x80
00004228: SHR
00004229: SWAP2
0000422a: PUSH2 0x3fe3
0000422d: JUMP
0000422e: JUMPDEST
0000422f: SWAP2
00004230: PUSH16 0xff973b41fa98c081472e6896dfb254c0
00004241: MUL
00004242: PUSH1 0x80
00004244: SHR
00004245: SWAP2
00004246: PUSH2 0x3fda
00004249: JUMP
0000424a: JUMPDEST
0000424b: SWAP2
0000424c: PUSH16 0xffcb9843d60f6159c9db58835c926644
0000425d: MUL
0000425e: PUSH1 0x80
00004260: SHR
00004261: SWAP2
00004262: PUSH2 0x3fd1
00004265: JUMP
00004266: JUMPDEST
00004267: SWAP2
00004268: PUSH16 0xffe5caca7e10e4e61c3624eaa0941cd0
00004279: MUL
0000427a: PUSH1 0x80
0000427c: SHR
0000427d: SWAP2
0000427e: PUSH2 0x3fc8
00004281: JUMP
00004282: JUMPDEST
00004283: SWAP2
00004284: PUSH16 0xfff2e50f5f656932ef12357cf3c7fdcc
00004295: MUL
00004296: PUSH1 0x80
00004298: SHR
00004299: SWAP2
0000429a: PUSH2 0x3fbf
0000429d: JUMP
0000429e: JUMPDEST
0000429f: SWAP2
000042a0: PUSH16 0xfff97272373d413259a46990580e213a
000042b1: MUL
000042b2: PUSH1 0x80
000042b4: SHR
000042b5: SWAP2
000042b6: PUSH2 0x3fb6
000042b9: JUMP
000042ba: JUMPDEST
000042bb: PUSH1 0x01
000042bd: PUSH1 0x01
000042bf: PUSH1 0x88
000042c1: SHL
000042c2: SUB
000042c3: PUSH1 0x01
000042c5: PUSH1 0x80
000042c7: SHL
000042c8: PUSH2 0x3fab
000042cb: JUMP
000042cc: JUMPDEST
000042cd: PUSH4 0x15e4079d
000042d2: PUSH1 0xe1
000042d4: SHL
000042d5: PUSH1 0x00
000042d7: MSTORE
000042d8: PUSH1 0x04
000042da: PUSH1 0x00
000042dc: REVERT
000042dd: JUMPDEST
000042de: DUP1
000042df: PUSH2 0x3f7e
000042e2: JUMP
000042e3: JUMPDEST
000042e4: PUSH1 0x00
000042e6: SWAP2
000042e7: SWAP1
000042e8: DUP3
000042e9: SWAP2
000042ea: DUP3
000042eb: PUSH1 0x40
000042ed: MLOAD
000042ee: PUSH1 0x20
000042f0: DUP2
000042f1: ADD
000042f2: SWAP3
000042f3: PUSH4 0x095ea7b3
000042f8: PUSH1 0xe0
000042fa: SHL
000042fb: DUP5
000042fc: MSTORE
000042fd: PUSH20 0xc36442b4a4522e871399cd717abdd847ab11fe88
00004312: PUSH1 0x24
00004314: DUP4
00004315: ADD
00004316: MSTORE
00004317: PUSH1 0x44
00004319: DUP3
0000431a: ADD
0000431b: MSTORE
0000431c: PUSH1 0x44
0000431e: DUP2
0000431f: MSTORE
00004320: PUSH2 0x432a
00004323: PUSH1 0x64
00004325: DUP3
00004326: PUSH2 0x2273
00004329: JUMP
0000432a: JUMPDEST
0000432b: MLOAD
0000432c: SWAP3
0000432d: GAS
0000432e: CALL
0000432f: PUSH2 0x4336
00004332: PUSH2 0x2294
00004335: JUMP
00004336: JUMPDEST
00004337: DUP2
00004338: PUSH2 0x436e
0000433b: JUMPI
0000433c: JUMPDEST
0000433d: POP
0000433e: ISZERO
0000433f: PUSH2 0x4344
00004342: JUMPI
00004343: JUMP
00004344: JUMPDEST
00004345: PUSH1 0x40
00004347: MLOAD
00004348: PUSH3 0x461bcd
0000434c: PUSH1 0xe5
0000434e: SHL
0000434f: DUP2
00004350: MSTORE
00004351: PUSH1 0x20
00004353: PUSH1 0x04
00004355: DUP3
00004356: ADD
00004357: MSTORE
00004358: PUSH1 0x02
0000435a: PUSH1 0x24
0000435c: DUP3
0000435d: ADD
0000435e: MSTORE
0000435f: PUSH2 0x5341
00004362: PUSH1 0xf0
00004364: SHL
00004365: PUSH1 0x44
00004367: DUP3
00004368: ADD
00004369: MSTORE
0000436a: PUSH1 0x64
0000436c: SWAP1
0000436d: REVERT
0000436e: JUMPDEST
0000436f: DUP1
00004370: MLOAD
00004371: DUP1
00004372: ISZERO
00004373: SWAP3
00004374: POP
00004375: DUP3
00004376: ISZERO
00004377: PUSH2 0x4383
0000437a: JUMPI
0000437b: JUMPDEST
0000437c: POP
0000437d: POP
0000437e: CODESIZE
0000437f: PUSH2 0x433c
00004382: JUMP
00004383: JUMPDEST
00004384: DUP2
00004385: SWAP3
00004386: POP
00004387: SWAP1
00004388: PUSH1 0x20
0000438a: SWAP2
0000438b: DUP2
0000438c: ADD
0000438d: SUB
0000438e: SLT
0000438f: PUSH2 0x20e2
00004392: JUMPI
00004393: PUSH1 0x20
00004395: PUSH2 0x439e
00004398: SWAP2
00004399: ADD
0000439a: PUSH2 0x31ec
0000439d: JUMP
0000439e: JUMPDEST
0000439f: CODESIZE
000043a0: DUP1
000043a1: PUSH2 0x437b
000043a4: JUMP
000043a5: JUMPDEST
000043a6: PUSH1 0x00
000043a8: DUP1
000043a9: SWAP2
000043aa: PUSH1 0x40
000043ac: MLOAD
000043ad: DUP3
000043ae: PUSH1 0x20
000043b0: DUP3
000043b1: ADD
000043b2: SWAP2
000043b3: PUSH4 0x095ea7b3
000043b8: PUSH1 0xe0
000043ba: SHL
000043bb: DUP4
000043bc: MSTORE
000043bd: PUSH20 0xc36442b4a4522e871399cd717abdd847ab11fe88
000043d2: PUSH1 0x24
000043d4: DUP3
000043d5: ADD
000043d6: MSTORE
000043d7: DUP2
000043d8: PUSH1 0x44
000043da: DUP3
000043db: ADD
000043dc: MSTORE
000043dd: PUSH1 0x44
000043df: DUP2
000043e0: MSTORE
000043e1: PUSH2 0x432a
000043e4: PUSH1 0x64
000043e6: DUP3
000043e7: PUSH2 0x2273
000043ea: JUMP
000043eb: JUMPDEST
000043ec: SWAP1
000043ed: PUSH1 0x01
000043ef: PUSH1 0x01
000043f1: PUSH1 0x80
000043f3: SHL
000043f4: SUB
000043f5: DUP1
000043f6: SWAP2
000043f7: AND
000043f8: SWAP2
000043f9: AND
000043fa: MUL
000043fb: SWAP1
000043fc: PUSH1 0x01
000043fe: PUSH1 0x01
00004400: PUSH1 0x80
00004402: SHL
00004403: SUB
00004404: DUP3
00004405: AND
00004406: SWAP2
00004407: DUP3
00004408: SUB
00004409: PUSH2 0x210a
0000440c: JUMPI
0000440d: JUMP
0000440e: JUMPDEST
0000440f: SWAP1
00004410: PUSH1 0x01
00004412: PUSH1 0x01
00004414: PUSH1 0x80
00004416: SHL
00004417: SUB
00004418: DUP1
00004419: SWAP2
0000441a: AND
0000441b: SWAP2
0000441c: AND
0000441d: ADD
0000441e: SWAP1
0000441f: PUSH1 0x01
00004421: PUSH1 0x01
00004423: PUSH1 0x80
00004425: SHL
00004426: SUB
00004427: DUP3
00004428: GT
00004429: PUSH2 0x210a
0000442c: JUMPI
0000442d: JUMP
0000442e: JUMPDEST
0000442f: SWAP1
00004430: PUSH2 0x446c
00004433: PUSH2 0x4467
00004436: PUSH4 0xffffffff
0000443b: SWAP4
0000443c: PUSH1 0x1a
0000443e: SLOAD
0000443f: SWAP1
00004440: DUP6
00004441: DUP3
00004442: PUSH1 0x20
00004444: SHR
00004445: AND
00004446: ISZERO
00004447: PUSH1 0x00
00004449: EQ
0000444a: PUSH2 0x44d4
0000444d: JUMPI
0000444e: PUSH1 0x00
00004450: PUSH2 0x0258
00004453: DUP3
00004454: GT
00004455: PUSH2 0x44c7
00004458: JUMPI
00004459: POP
0000445a: POP
0000445b: PUSH1 0x00
0000445d: JUMPDEST
0000445e: SWAP5
0000445f: DUP6
00004460: SWAP2
00004461: JUMPDEST
00004462: AND
00004463: PUSH2 0x301d
00004466: JUMP
00004467: JUMPDEST
00004468: PUSH2 0x3005
0000446b: JUMP
0000446c: JUMPDEST
0000446d: SWAP2
0000446e: PUSH1 0x1f
00004470: SLOAD
00004471: SWAP2
00004472: PUSH2 0x44a6
00004475: PUSH1 0x01
00004477: PUSH1 0x01
00004479: PUSH1 0x80
0000447b: SHL
0000447c: SUB
0000447d: PUSH1 0x90
0000447f: PUSH2 0x2710
00004482: PUSH2 0x448d
00004485: PUSH1 0x0e
00004487: SLOAD
00004488: DUP9
00004489: PUSH2 0x21f4
0000448c: JUMP
0000448d: JUMPDEST
0000448e: DIV
0000448f: DIV
00004490: AND
00004491: PUSH2 0x44a0
00004494: PUSH4 0xffffffff
00004499: DUP6
0000449a: AND
0000449b: DUP3
0000449c: PUSH2 0x43eb
0000449f: JUMP
000044a0: JUMPDEST
000044a1: SWAP1
000044a2: PUSH2 0x440e
000044a5: JUMP
000044a6: JUMPDEST
000044a7: SWAP3
000044a8: DUP1
000044a9: PUSH1 0x01
000044ab: PUSH1 0x01
000044ad: PUSH1 0x80
000044af: SHL
000044b0: SUB
000044b1: DUP6
000044b2: AND
000044b3: GT
000044b4: PUSH2 0x44ba
000044b7: JUMPI
000044b8: POP
000044b9: JUMP
000044ba: JUMPDEST
000044bb: PUSH1 0x01
000044bd: PUSH1 0x01
000044bf: PUSH1 0x80
000044c1: SHL
000044c2: SUB
000044c3: AND
000044c4: SWAP3
000044c5: POP
000044c6: JUMP
000044c7: JUMPDEST
000044c8: POP
000044c9: PUSH2 0x0258
000044cc: SWAP1
000044cd: DIV
000044ce: DUP6
000044cf: AND
000044d0: PUSH2 0x445d
000044d3: JUMP
000044d4: JUMPDEST
000044d5: PUSH1 0x00
000044d7: SWAP1
000044d8: PUSH2 0x0258
000044db: DUP2
000044dc: GT
000044dd: PUSH2 0x44ed
000044e0: JUMPI
000044e1: POP
000044e2: POP
000044e3: PUSH1 0x00
000044e5: JUMPDEST
000044e6: SWAP5
000044e7: DUP6
000044e8: SWAP2
000044e9: PUSH2 0x4461
000044ec: JUMP
000044ed: JUMPDEST
000044ee: PUSH2 0x44fe
000044f1: SWAP2
000044f2: POP
000044f3: PUSH2 0x0258
000044f6: SWAP1
000044f7: DIV
000044f8: DUP7
000044f9: AND
000044fa: PUSH2 0x3eef
000044fd: JUMP
000044fe: JUMPDEST
000044ff: PUSH2 0x44e5
00004502: JUMP
00004503: JUMPDEST
00004504: PUSH1 0x16
00004506: SLOAD
00004507: SWAP1
00004508: PUSH1 0x00
0000450a: PUSH4 0xffffffff
0000450f: DUP4
00004510: PUSH1 0x20
00004512: SHR
00004513: AND
00004514: ISZERO
00004515: PUSH1 0x00
00004517: EQ
00004518: PUSH2 0x4587
0000451b: JUMPI
0000451c: POP
0000451d: PUSH1 0x00
0000451f: PUSH2 0x0258
00004522: DUP3
00004523: GT
00004524: PUSH2 0x4576
00004527: JUMPI
00004528: POP
00004529: POP
0000452a: PUSH1 0x00
0000452c: JUMPDEST
0000452d: SWAP1
0000452e: JUMPDEST
0000452f: PUSH2 0x4542
00004532: PUSH2 0x4467
00004535: DUP4
00004536: PUSH4 0xffffffff
0000453b: DUP2
0000453c: SWAP5
0000453d: AND
0000453e: PUSH2 0x301d
00004541: JUMP
00004542: JUMPDEST
00004543: SWAP3
00004544: PUSH2 0x44a6
00004547: PUSH1 0x10
00004549: SLOAD
0000454a: SWAP4
0000454b: PUSH2 0x44a0
0000454e: PUSH4 0xffffffff
00004553: PUSH1 0x01
00004555: PUSH1 0x01
00004557: PUSH1 0x80
00004559: SHL
0000455a: SUB
0000455b: PUSH1 0x90
0000455d: PUSH2 0x2710
00004560: PUSH2 0x456b
00004563: PUSH1 0x0c
00004565: SLOAD
00004566: DUP12
00004567: PUSH2 0x21f4
0000456a: JUMP
0000456b: JUMPDEST
0000456c: DIV
0000456d: DIV
0000456e: AND
0000456f: SWAP3
00004570: AND
00004571: DUP3
00004572: PUSH2 0x43eb
00004575: JUMP
00004576: JUMPDEST
00004577: POP
00004578: PUSH2 0x0258
0000457b: SWAP1
0000457c: DIV
0000457d: PUSH4 0xffffffff
00004582: AND
00004583: PUSH2 0x452c
00004586: JUMP
00004587: JUMPDEST
00004588: SWAP1
00004589: PUSH2 0x0258
0000458c: DUP2
0000458d: GT
0000458e: PUSH2 0x4599
00004591: JUMPI
00004592: POP
00004593: JUMPDEST
00004594: SWAP1
00004595: PUSH2 0x452e
00004598: JUMP
00004599: JUMPDEST
0000459a: PUSH2 0x45ae
0000459d: SWAP2
0000459e: POP
0000459f: PUSH2 0x0258
000045a2: SWAP1
000045a3: DIV
000045a4: PUSH4 0xffffffff
000045a9: AND
000045aa: PUSH2 0x3eef
000045ad: JUMP
000045ae: JUMPDEST
000045af: PUSH2 0x4593
000045b2: JUMP
000045b3: JUMPDEST
000045b4: PUSH1 0x18
000045b6: SLOAD
000045b7: SWAP1
000045b8: PUSH1 0x00
000045ba: PUSH4 0xffffffff
000045bf: DUP4
000045c0: PUSH1 0x20
000045c2: SHR
000045c3: AND
000045c4: ISZERO
000045c5: PUSH1 0x00
000045c7: EQ
000045c8: PUSH2 0x462c
000045cb: JUMPI
000045cc: POP
000045cd: PUSH1 0x00
000045cf: PUSH2 0x0258
000045d2: DUP3
000045d3: GT
000045d4: PUSH2 0x461b
000045d7: JUMPI
000045d8: POP
000045d9: POP
000045da: PUSH1 0x00
000045dc: JUMPDEST
000045dd: SWAP1
000045de: JUMPDEST
000045df: PUSH2 0x45f2
000045e2: PUSH2 0x4467
000045e5: DUP4
000045e6: PUSH4 0xffffffff
000045eb: DUP2
000045ec: SWAP5
000045ed: AND
000045ee: PUSH2 0x301d
000045f1: JUMP
000045f2: JUMPDEST
000045f3: SWAP3
000045f4: PUSH2 0x44a6
000045f7: PUSH1 0x11
000045f9: SLOAD
000045fa: SWAP4
000045fb: PUSH2 0x44a0
000045fe: PUSH4 0xffffffff
00004603: PUSH1 0x01
00004605: PUSH1 0x01
00004607: PUSH1 0x80
00004609: SHL
0000460a: SUB
0000460b: PUSH1 0x90
0000460d: PUSH2 0x2710
00004610: PUSH2 0x456b
00004613: PUSH1 0x0d
00004615: SLOAD
00004616: DUP12
00004617: PUSH2 0x21f4
0000461a: JUMP
0000461b: JUMPDEST
0000461c: POP
0000461d: PUSH2 0x0258
00004620: SWAP1
00004621: DIV
00004622: PUSH4 0xffffffff
00004627: AND
00004628: PUSH2 0x45dc
0000462b: JUMP
0000462c: JUMPDEST
0000462d: SWAP1
0000462e: PUSH2 0x0258
00004631: DUP2
00004632: GT
00004633: PUSH2 0x463e
00004636: JUMPI
00004637: POP
00004638: JUMPDEST
00004639: SWAP1
0000463a: PUSH2 0x45de
0000463d: JUMP
0000463e: JUMPDEST
0000463f: PUSH2 0x4653
00004642: SWAP2
00004643: POP
00004644: PUSH2 0x0258
00004647: SWAP1
00004648: DIV
00004649: PUSH4 0xffffffff
0000464e: AND
0000464f: PUSH2 0x3eef
00004652: JUMP
00004653: JUMPDEST
00004654: PUSH2 0x4638
00004657: JUMP
00004658: JUMPDEST
00004659: SWAP1
0000465a: PUSH2 0x468f
0000465d: PUSH2 0x4467
00004660: PUSH4 0xffffffff
00004665: SWAP4
00004666: PUSH1 0x1c
00004668: SLOAD
00004669: SWAP1
0000466a: DUP6
0000466b: DUP3
0000466c: PUSH1 0x20
0000466e: SHR
0000466f: AND
00004670: ISZERO
00004671: PUSH1 0x00
00004673: EQ
00004674: PUSH2 0x44d4
00004677: JUMPI
00004678: PUSH1 0x00
0000467a: PUSH2 0x0258
0000467d: DUP3
0000467e: GT
0000467f: PUSH2 0x44c7
00004682: JUMPI
00004683: POP
00004684: POP
00004685: PUSH1 0x00
00004687: SWAP5
00004688: DUP6
00004689: SWAP2
0000468a: AND
0000468b: PUSH2 0x301d
0000468e: JUMP
0000468f: JUMPDEST
00004690: SWAP2
00004691: PUSH1 0x20
00004693: SLOAD
00004694: SWAP2
00004695: PUSH2 0x44a6
00004698: PUSH1 0x01
0000469a: PUSH1 0x01
0000469c: PUSH1 0x80
0000469e: SHL
0000469f: SUB
000046a0: PUSH1 0x90
000046a2: PUSH2 0x2710
000046a5: PUSH2 0x448d
000046a8: PUSH1 0x0f
000046aa: SLOAD
000046ab: DUP9
000046ac: PUSH2 0x21f4
000046af: JUMP
000046b0: JUMPDEST
000046b1: DUP2
000046b2: DUP2
000046b3: MUL
000046b4: SWAP2
000046b5: PUSH1 0x00
000046b7: SWAP2
000046b8: PUSH1 0x00
000046ba: NOT
000046bb: DUP3
000046bc: DUP3
000046bd: MULMOD
000046be: SWAP3
000046bf: DUP5
000046c0: DUP1
000046c1: DUP6
000046c2: LT
000046c3: SWAP5
000046c4: SUB
000046c5: SWAP4
000046c6: DUP1
000046c7: DUP6
000046c8: SUB
000046c9: SWAP5
000046ca: EQ
000046cb: PUSH2 0x4704
000046ce: JUMPI
000046cf: DUP4
000046d0: PUSH1 0x01
000046d2: PUSH1 0x40
000046d4: SHL
000046d5: GT
000046d6: ISZERO
000046d7: PUSH2 0x46f5
000046da: JUMPI
000046db: POP
000046dc: SWAP1
000046dd: PUSH1 0x01
000046df: PUSH1 0x40
000046e1: SHL
000046e2: SWAP2
000046e3: MULMOD
000046e4: SWAP1
000046e5: DUP3
000046e6: DUP3
000046e7: GT
000046e8: SWAP1
000046e9: SUB
000046ea: PUSH1 0xc0
000046ec: SHL
000046ed: SWAP2
000046ee: SUB
000046ef: PUSH1 0x40
000046f1: SHR
000046f2: OR
000046f3: SWAP1
000046f4: JUMP
000046f5: JUMPDEST
000046f6: PUSH4 0x227bc153
000046fb: PUSH1 0xe0
000046fd: SHL
000046fe: DUP2
000046ff: MSTORE
00004700: PUSH1 0x04
00004702: SWAP1
00004703: REVERT
00004704: JUMPDEST
00004705: SWAP3
00004706: POP
00004707: POP
00004708: POP
00004709: POP
0000470a: PUSH1 0x40
0000470c: SHR
0000470d: SWAP1
0000470e: JUMP
0000470f: JUMPDEST
00004710: SWAP1
00004711: PUSH1 0x80
00004713: DUP3
00004714: SWAP1
00004715: SHL
00004716: SWAP1
00004717: PUSH1 0x00
00004719: NOT
0000471a: DUP4
0000471b: PUSH1 0x01
0000471d: PUSH1 0x80
0000471f: SHL
00004720: MULMOD
00004721: SWAP3
00004722: DUP3
00004723: DUP1
00004724: DUP6
00004725: LT
00004726: SWAP5
00004727: SUB
00004728: SWAP4
00004729: DUP1
0000472a: DUP6
0000472b: SUB
0000472c: SWAP5
0000472d: EQ
0000472e: PUSH2 0x47a5
00004731: JUMPI
00004732: DUP4
00004733: DUP3
00004734: GT
00004735: ISZERO
00004736: PUSH2 0x4794
00004739: JUMPI
0000473a: DUP2
0000473b: SWAP1
0000473c: PUSH1 0x01
0000473e: PUSH1 0x80
00004740: SHL
00004741: MULMOD
00004742: DUP2
00004743: PUSH1 0x00
00004745: SUB
00004746: DUP3
00004747: AND
00004748: DUP1
00004749: SWAP3
0000474a: DIV
0000474b: PUSH1 0x02
0000474d: DUP2
0000474e: PUSH1 0x03
00004750: MUL
00004751: XOR
00004752: DUP1
00004753: DUP3
00004754: MUL
00004755: PUSH1 0x02
00004757: SUB
00004758: MUL
00004759: DUP1
0000475a: DUP3
0000475b: MUL
0000475c: PUSH1 0x02
0000475e: SUB
0000475f: MUL
00004760: DUP1
00004761: DUP3
00004762: MUL
00004763: PUSH1 0x02
00004765: SUB
00004766: MUL
00004767: DUP1
00004768: DUP3
00004769: MUL
0000476a: PUSH1 0x02
0000476c: SUB
0000476d: MUL
0000476e: DUP1
0000476f: DUP3
00004770: MUL
00004771: PUSH1 0x02
00004773: SUB
00004774: MUL
00004775: DUP1
00004776: SWAP2
00004777: MUL
00004778: PUSH1 0x02
0000477a: SUB
0000477b: MUL
0000477c: SWAP4
0000477d: PUSH1 0x01
0000477f: DUP4
00004780: DUP1
00004781: PUSH1 0x00
00004783: SUB
00004784: DIV
00004785: ADD
00004786: SWAP1
00004787: DUP5
00004788: DUP4
00004789: GT
0000478a: SWAP1
0000478b: SUB
0000478c: MUL
0000478d: SWAP3
0000478e: SUB
0000478f: DIV
00004790: OR
00004791: MUL
00004792: SWAP1
00004793: JUMP
00004794: JUMPDEST
00004795: PUSH4 0x227bc153
0000479a: PUSH1 0xe0
0000479c: SHL
0000479d: PUSH1 0x00
0000479f: MSTORE
000047a0: PUSH1 0x04
000047a2: PUSH1 0x00
000047a4: REVERT
000047a5: JUMPDEST
000047a6: POP
000047a7: SWAP1
000047a8: PUSH2 0x25f3
000047ab: SWAP3
000047ac: POP
000047ad: PUSH2 0x2207
000047b0: JUMP
000047b1: JUMPDEST
000047b2: PUSH1 0x00
000047b4: SWAP1
000047b5: DUP3
000047b6: DUP2
000047b7: MUL
000047b8: SWAP3
000047b9: PUSH1 0x00
000047bb: NOT
000047bc: DUP2
000047bd: DUP4
000047be: MULMOD
000047bf: SWAP3
000047c0: DUP5
000047c1: DUP1
000047c2: DUP6
000047c3: LT
000047c4: SWAP5
000047c5: SUB
000047c6: SWAP4
000047c7: DUP1
000047c8: DUP6
000047c9: SUB
000047ca: SWAP5
000047cb: EQ
000047cc: PUSH2 0x47f5
000047cf: JUMPI
000047d0: PUSH1 0x01
000047d2: PUSH1 0x80
000047d4: SHL
000047d5: DUP5
000047d6: LT
000047d7: ISZERO
000047d8: PUSH2 0x46f5
000047db: JUMPI
000047dc: POP
000047dd: PUSH1 0x01
000047df: PUSH1 0x80
000047e1: SHL
000047e2: SWAP2
000047e3: MULMOD
000047e4: SWAP1
000047e5: DUP3
000047e6: DUP3
000047e7: GT
000047e8: SWAP1
000047e9: SUB
000047ea: PUSH1 0x80
000047ec: SHL
000047ed: SWAP2
000047ee: SUB
000047ef: PUSH1 0x80
000047f1: SHR
000047f2: OR
000047f3: SWAP1
000047f4: JUMP
000047f5: JUMPDEST
000047f6: SWAP3
000047f7: POP
000047f8: POP
000047f9: POP
000047fa: POP
000047fb: PUSH1 0x80
000047fd: SHR
000047fe: SWAP1
000047ff: JUMP
00004800: JUMPDEST
00004801: SWAP1
00004802: PUSH1 0xc0
00004804: DUP3
00004805: SWAP1
00004806: SHL
00004807: SWAP1
00004808: PUSH1 0x00
0000480a: NOT
0000480b: DUP4
0000480c: PUSH1 0x01
0000480e: PUSH1 0xc0
00004810: SHL
00004811: MULMOD
00004812: SWAP3
00004813: DUP3
00004814: DUP1
00004815: DUP6
00004816: LT
00004817: SWAP5
00004818: SUB
00004819: SWAP4
0000481a: DUP1
0000481b: DUP6
0000481c: SUB
0000481d: SWAP5
0000481e: EQ
0000481f: PUSH2 0x47a5
00004822: JUMPI
00004823: DUP4
00004824: DUP3
00004825: GT
00004826: ISZERO
00004827: PUSH2 0x4794
0000482a: JUMPI
0000482b: DUP2
0000482c: SWAP1
0000482d: PUSH1 0x01
0000482f: PUSH1 0xc0
00004831: SHL
00004832: MULMOD
00004833: DUP2
00004834: PUSH1 0x00
00004836: SUB
00004837: DUP3
00004838: AND
00004839: DUP1
0000483a: SWAP3
0000483b: DIV
0000483c: PUSH1 0x02
0000483e: DUP2
0000483f: PUSH1 0x03
00004841: MUL
00004842: XOR
00004843: DUP1
00004844: DUP3
00004845: MUL
00004846: PUSH1 0x02
00004848: SUB
00004849: MUL
0000484a: DUP1
0000484b: DUP3
0000484c: MUL
0000484d: PUSH1 0x02
0000484f: SUB
00004850: MUL
00004851: DUP1
00004852: DUP3
00004853: MUL
00004854: PUSH1 0x02
00004856: SUB
00004857: MUL
00004858: DUP1
00004859: DUP3
0000485a: MUL
0000485b: PUSH1 0x02
0000485d: SUB
0000485e: MUL
0000485f: DUP1
00004860: DUP3
00004861: MUL
00004862: PUSH1 0x02
00004864: SUB
00004865: MUL
00004866: DUP1
00004867: SWAP2
00004868: MUL
00004869: PUSH1 0x02
0000486b: SUB
0000486c: MUL
0000486d: SWAP4
0000486e: PUSH1 0x01
00004870: DUP4
00004871: DUP1
00004872: PUSH1 0x00
00004874: SUB
00004875: DIV
00004876: ADD
00004877: SWAP1
00004878: DUP5
00004879: DUP4
0000487a: GT
0000487b: SWAP1
0000487c: SUB
0000487d: MUL
0000487e: SWAP3
0000487f: SUB
00004880: DIV
00004881: OR
00004882: MUL
00004883: SWAP1
00004884: JUMP
00004885: JUMPDEST
00004886: PUSH1 0x00
00004888: SWAP1
00004889: DUP3
0000488a: DUP2
0000488b: MUL
0000488c: SWAP3
0000488d: PUSH1 0x00
0000488f: NOT
00004890: DUP2
00004891: DUP4
00004892: MULMOD
00004893: SWAP3
00004894: DUP5
00004895: DUP1
00004896: DUP6
00004897: LT
00004898: SWAP5
00004899: SUB
0000489a: SWAP4
0000489b: DUP1
0000489c: DUP6
0000489d: SUB
0000489e: SWAP5
0000489f: EQ
000048a0: PUSH2 0x48c9
000048a3: JUMPI
000048a4: PUSH1 0x01
000048a6: PUSH1 0xc0
000048a8: SHL
000048a9: DUP5
000048aa: LT
000048ab: ISZERO
000048ac: PUSH2 0x46f5
000048af: JUMPI
000048b0: POP
000048b1: PUSH1 0x01
000048b3: PUSH1 0xc0
000048b5: SHL
000048b6: SWAP2
000048b7: MULMOD
000048b8: SWAP1
000048b9: DUP3
000048ba: DUP3
000048bb: GT
000048bc: SWAP1
000048bd: SUB
000048be: PUSH1 0x40
000048c0: SHL
000048c1: SWAP2
000048c2: SUB
000048c3: PUSH1 0xc0
000048c5: SHR
000048c6: OR
000048c7: SWAP1
000048c8: JUMP
000048c9: JUMPDEST
000048ca: SWAP3
000048cb: POP
000048cc: POP
000048cd: POP
000048ce: POP
000048cf: PUSH1 0xc0
000048d1: SHR
000048d2: SWAP1
000048d3: JUMP
000048d4: INVALID
000048d5: LOG2
000048d6: PUSH5 0x6970667358
000048dc: UNKNOWN(0x22)
000048dd: SLT
000048de: KECCAK256
000048df: SWAP8
000048e0: UNKNOWN(0xE5)
000048e1: UNKNOWN(0xC4)
000048e2: SWAP3
000048e3: PUSH1 0x6d
000048e5: UNKNOWN(0xC1)
000048e6: UNKNOWN(0xBC)
000048e7: UNKNOWN(0xA7)
000048e8: UNKNOWN(0xD0)
000048e9: UNKNOWN(0x0D)
000048ea: CALLDATALOAD
000048eb: UNKNOWN(0xBF)
000048ec: AND
000048ed: DUP7
000048ee: CALLER
000048ef: UNKNOWN(0xD7)
000048f0: PUSH32

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x3d8c0b04855bf7a228002c0e4bc5525edbfca5ae0ce2fe221f4802fc675f45c2
call_targets: 0xaa390a37006e22b5775a34f2147f81ebd6a63641
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x3d8c0b04855bf7a228002c0e4bc5525edbfca5ae0ce2fe221f4802fc675f45c2",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xaa390a37006e22b5775a34f2147f81ebd6a63641"
    ],
    "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": "0x038a0fc2",
            "selector": "0x038a0fc2",
            "calldata_variants": [
                "0x038a0fc2",
                "0x038a0fc20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0421fd73",
            "selector": "0x0421fd73",
            "calldata_variants": [
                "0x0421fd73",
                "0x0421fd730000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x11ce408e",
            "selector": "0x11ce408e",
            "calldata_variants": [
                "0x11ce408e",
                "0x11ce408e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x150b7a02",
            "selector": "0x150b7a02",
            "calldata_variants": [
                "0x150b7a02",
                "0x150b7a020000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1766608a",
            "selector": "0x1766608a",
            "calldata_variants": [
                "0x1766608a",
                "0x1766608a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1bea83fe",
            "selector": "0x1bea83fe",
            "calldata_variants": [
                "0x1bea83fe",
                "0x1bea83fe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x20918db7",
            "selector": "0x20918db7",
            "calldata_variants": [
                "0x20918db7",
                "0x20918db70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x22d41f2f",
            "selector": "0x22d41f2f",
            "calldata_variants": [
                "0x22d41f2f",
                "0x22d41f2f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3556,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4077,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6327,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 13,
    "guards_detected": [],
    "untrusted_call_count": 13
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x3d8c0b04855bf7a228002c0e4bc5525edbfca5ae0ce2fe221f4802fc675f45c2
call_targets: 0xaa390a37006e22b5775a34f2147f81ebd6a63641
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x3d8c0b04855bf7a228002c0e4bc5525edbfca5ae0ce2fe221f4802fc675f45c2",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xaa390a37006e22b5775a34f2147f81ebd6a63641"
    ],
    "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": "0x038a0fc2",
            "selector": "0x038a0fc2",
            "calldata_variants": [
                "0x038a0fc2",
                "0x038a0fc20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0421fd73",
            "selector": "0x0421fd73",
            "calldata_variants": [
                "0x0421fd73",
                "0x0421fd730000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x11ce408e",
            "selector": "0x11ce408e",
            "calldata_variants": [
                "0x11ce408e",
                "0x11ce408e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x150b7a02",
            "selector": "0x150b7a02",
            "calldata_variants": [
                "0x150b7a02",
                "0x150b7a020000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1766608a",
            "selector": "0x1766608a",
            "calldata_variants": [
                "0x1766608a",
                "0x1766608a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1bea83fe",
            "selector": "0x1bea83fe",
            "calldata_variants": [
                "0x1bea83fe",
                "0x1bea83fe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x20918db7",
            "selector": "0x20918db7",
            "calldata_variants": [
                "0x20918db7",
                "0x20918db70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x22d41f2f",
            "selector": "0x22d41f2f",
            "calldata_variants": [
                "0x22d41f2f",
                "0x22d41f2f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3556,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4077,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6327,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 13,
    "guards_detected": []
}
medium oracle codex ETH fee calculation can be underpaid via manipulable Uniswap TWAP 75 no
view
evidence_json
{
    "evidence": "`getEthAmountForTitanX` uses a TWAP from `TITAN_X_ETH_POOL`, and `_distributeFees` uses it to set `requiredETH` for create/stake fees; the window is shortened to `oldestObservation` when it is less than 15 minutes, which weakens manipulation resistance.",
    "locations": [
        "contracts/src/TorusCreateAndStake.sol:588",
        "contracts/src/TorusCreateAndStake.sol:608",
        "contracts/src/TorusCreateAndStake.sol:612"
    ],
    "recommendation": "Use a more robust price oracle (e.g., Chainlink) or enforce a minimum TWAP window and sanity bounds (e.g., revert if TWAP age < N minutes or if deviation vs. a secondary feed exceeds a threshold). Consider requiring an off-chain price quote with bounds instead of relying solely on the pool\u2019s TWAP.",
    "exploit_scenario": "An attacker manipulates the TITAN_X/ETH Uniswap V3 pool (especially early when `oldestObservation` is small) to make TitanX appear cheaper, then calls `createTorus` or `stakeTorus` with ETH. `getEthAmountForTitanX` returns a lower `requiredETH`, letting the attacker mint/stake with less ETH than intended while still receiving full Torus creation benefits."
}
medium oracle codex Protocol swaps use manipulable TWAPs for `amountOutMinimum`, enabling adverse-rate swaps 75 no
view
evidence_json
{
    "evidence": "`_swapTitanXForTorus` and `_swapETHForTitanX` derive `amountOutMinimum` from `getTorusQuoteForTitanX`/`getTitanXQuoteForETH`, which use a TWAP capped by `oldestObservation` (potentially very short). The same oracle is used in TorusCreateAndStake\u2019s internal swap as well.",
    "locations": [
        "contracts/src/TorusBuyAndProcess.sol:821",
        "contracts/src/TorusBuyAndProcess.sol:1092",
        "contracts/src/TorusBuyAndProcess.sol:1120",
        "contracts/src/TorusBuyAndProcess.sol:1142",
        "contracts/src/TorusCreateAndStake.sol:746"
    ],
    "recommendation": "Use a more manipulation-resistant oracle (longer TWAP with enforced minimum age, multiple pools, or Chainlink), add deviation checks vs. spot price, and consider having trusted keepers supply `amountOutMinimum` with on-chain bounds. If possible, restrict swap execution to a keeper to reduce sandwich/manipulation risk.",
    "exploit_scenario": "Because swap minOuts are computed from the same Uniswap pools\u2019 TWAPs (with a potentially short observation window), an attacker can manipulate the pool price and then trigger public `swap*AndBurn/Build` calls to execute swaps at a disadvantaged rate. This can drain burn/build allocations by forcing the protocol to swap at a manipulated price, while the attacker arbitrages the price distortion."
}
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": 29
}